Making CiviCRM and Content Management Systems Better "Together as a Whole"

2014-11-23 11:12
Written by
jproffitt - member of the CiviCRM community - view blog guidelines

When I started using CiviCRM almost 5 years ago, I was amazed at how many things it could bring to a website right out of the box. The more I used it, the more I wanted to, and saw potential beyond simply keeping contact information, collecting donations, or managing events. CiviCRM is a game-changer. It was shortly after getting into a couple of large projects that the shine started to wear off just a little. Things started getting complicated and working with a CMS whose name is a Swahili word meaning, "all together" or "as a whole.", this was anything but.  CiviCRM and Joomla have a complicated relationship, because it’s really different from Drupal and equally different from Wordpress. This has always been a point of difficulty for Joomla users in the Civi community.

The story could end here, with me throwing up my hands and doing my own thing or going a completely different way, but it doesn’t. Having experience with IRC, I decided to dive head first into the IRC channel, though I really wasn’t expecting to find anything useful there. I was totally wrong. Members of the core team and several others provided thoughtful suggestions to my issues and encouraged me to jump in and create some solutions when there weren’t any to be found already. It took awhile, but I think I’ve almost answered as many questions as I’ve asked, and I’m finally contributing both Joomla specific and Civi core code back to the community. My latest projects have included creating a Joomla custom component, Juxtapose, that I hope will be a future enhancement to the Joomla frontend code for Civi core, adding Joomla support to civicrm-buildkit, and adding to the Views integration for Drupal.

Having been a frequent question asker (or complainer) about Joomla-related things on IRC and the forum, I was asked to do the only Joomla-centric session at this year’s CiviCon SF. What I quickly discovered is that there aren’t a lot of Joomla or Wordpress developers working with Civi, but there are plenty of Joomla and Wordpress users and administrators who are very interested in seeing CiviCRM be as integrated as on Drupal — though no one is quite sure how to make that happen. The Joomla project has tackled some difficult issues in bringing responsive UI into the CMS administrator, integrating Twitter Bootstrap, and creating a unique balance between being providing concrete core functionality and being flexible enough to take on most any project. Having dug deeply into CiviCRM core, the reality is that the issues Joomla and Wordpress users find most difficult often aren’t CMS specific, but developers from both platforms have a lot of great perspective to offer for the whole community. 

All this comes down to a simple fact: We need you. The biggest need for improving CiviCRM and CMS integration is hearing where things aren't working and ideas for improvement. Whether you're a programmer, an implementer, an administrator, or an end-user, your ideas and your time are critical to continue improving Civi. Join us in making CiviCRM on every CMS better "together as a whole."

When Jeremy isn’t chasing his 3 boys around or spending time with teenagers as a leader with his church youth group, he is the Director of Web Development at Möbius New Media in Wilmington, Delaware. You can find him in the #civicrm IRC channel as JP_EzoD or on Twitter at @JProffitt.



Great to see you pushing that issue.

Have you seen the GSoC project on bootstrap?

IMO, using "standard" class names and html structure for all the front end forms and pages is going to make it easier if both civi and joomla theme are using the same structure.

The student is focussing on exams right now, but want to push it again (next month if I recall) and would need help to finalise and integrate in the core (+ testing on other CMSes probably too). Would be awesome you check with him how we can all move it forward

Hi Xavier,

I've not taken a look at the Bootstrap project since GSoC ended. I'm certainly interested.

I think you're correct that standard naming and code structure would make it easier, but the more I've dealt with those issues, the more it seems to be fitting a square peg into a round hole. I think Civi is going to need to focus on making the API the primary bridge to UI, and start using the native environment's interfaces (FAPI, JForm, and whatever Wordpress uses) to handle these issues. The one-size-fits-all solution has always had shortcomings, and display agnosticism just makes them more obvious. 


adding Joomla support to civicrm-buildkit