Published
2014-01-10 09:50
At CiviCon 2013 in London I gave a lightning talk on my experiences as an implementer and finished up by saying that my mantra with Civi is “No Coding”. This is just another way of expressing support for Heather Oliver’s blog about using the UI, of course. I spent many years as an application developer, did plenty of coding and enjoyed it. But….the bottom line is that Civi is so amazingly customisable and also extendable that if you can avoid coding you should. Why? The reasons are fairly obvious. While coding a solution can sometimes be quite easy, it introduces the problems of maintainability and upgrading. By coding something you may have provided a solution for a user, but what happens if you can’t figure out how this can be done in the next release? And if you’re not involved with that client anymore, who’s going to do it for them? Sometimes it’s better for users to make some compromises, and/or think of different ways of working than for you to dig in and code. In a drastic change of career I worked for a small Christian charity, giving debt and welfare benefits advice, but I also supported their Information Technology (IT). Having subsequently worked with several more charities in implementing Civi, I have been struck how IT dependent charities are. But mostly, how hard this is for them when what they really know is what they do as a charity! That is their area of expertise, and therefore they are perhaps over-dependent on sound advice from IT folk and great systems like CiviCRM. However, they are often quite willing and even happy to change the way they work when implementing Civi. Even if it takes a while – one of my clients recently confessed they had finally thrown away their membership cards (3 x 5 cards!) after having Civi membership for almost 18 months. Another client was dedicated to using an arbitrary numbering system for their client cases – but after some persuasion they now use the CiviCRM ID. So, talk to the client and find out how they work, but try not to code. PS. I use one Drupal module in my systems that return today’s date as a token, but I didn’t code it… Andy Clark
Filed under
Comments
Andy:
Thanks so much for writing this. Many of the (amazing) folks behind civicrm are developers and have little resistance to solving roadblocks with a "bit of code", "a great hook for that", "a small module", "try this patch.". While I'm not crticical of this approach, it requires a much higher burden to test and maintain. Furthermore, when you introduce code, you create a dependency on developer resources which can be expensive, slow and hard to find.
Having said that, I too am a former developer. 20 years ago I wrote well over 100,000 lines of code in procedural and object oriented lagnuages and have taken several graduate level computer science courses, but just like my grandfather was may have been a quarterback on the school football team he has no place being on the field today!
It's for this reason I have been trying to bring focus to some of the fantasic drupal integration work done by Eileen, Coleman and others. Civicrm entity and the civicrm_webform extensions, combined with the drupal rules and views modules provide wonderful control without the need for coding (yes, I realize that is in drupal only, but perhaps WP/Joomla have similar integration points.)
Naturally, I'm not suggesting that developers / coding enhancements are bad in any way but they are simply not appropriate for all problems and organizations.
Shawn
Hi Andy,
Thanks for sharing! I always love UI solutions :)
I completely agree ... I'm not against coding but always like to consider - what's the best long term solution for this organisation? Could this customisation force them down the route of having to pay for regular maintenance? The ethos of CiviCRM for me is about empowering organisations to have full control of their data and destiny. Too much customisation could shift that balance back to developers. And more importantly, is this a request that could benefit the community?
Hope to see you at CiviDay in Manchester soon!
Heather.