I’ve been having a great time over here with Oleg, Alex, Timur and the whole Flatsourcing Kazan team. We’re working really hard building some great plans for growth and from time to time we’re stopping to eat.
Identifying what we do to people is still very very difficult. I attended An Event Apart a few weeks ago and Jeffery Zeldman’s excellent speech about explaining what we do has had me thinking. All too often clients don’t understand the breadth of experience that is needed to put together quality work.
In the world of professional web development it often takes 7 or 8 specialists to put together your website. The below image from business week is something I dug up from 2004. It describes some of the unique positions in our industry:
What does Flatsourcing do? We’re number 6, the foundation for everything. After your project is broken into hundreds of subproject tasks, we get it all done.
Long answer: Try to do anything with it for which it wasn’t built. Content Management Systems are built to be installed, not to be customized or tweaked to your needs. Sure, extensions are available, but they are built by an open-source community, so there is no assurance that they work. Want a headache really quickly? Try to do something with a CMS that it wasn’t designed to do.
CMS-systems, particularly open-source ones, like Drupal, Wordpress, Joomla, and others are great. They aren’t proprietary and they are free. They are already developed, so you can just download the installer files and …voilĂ ! you have a site in place. Upload your design, change the settings to fit your needs and you’re good to go. Instant website (almost).
We’ve been doing a number of CMS installs for clients lately. And through the experience of working with different CMS installs, we’re learning a lot:
The functionality of a CMS better be what you need. - Don’t decide what you want your website to do and then try to make your CMS do it. It’ll never work. You can’t custom-code a CMS. Sure, you can add extensions and try different ones until you find one that does more or less what you need. But this is a long and arduous process. If you are going to use a CMS, understand the functionality and limitations of the CMS before you decide on it and deploy it. If it will work for you as its designed, then great. If not, don’t try to tweak it to fit your needs. You’re asking for headaches.
Open source means no one owns it and lots of people built it. - There are a lot of moving parts, documentation may be limited, and customization may break it. Understand the ownership limitations of non-proprietary software. When your client says something isn’t working, is it because of the implementation or the programming? It doesn’t matter to the client, its just not working.
Be prepared to deploy the many updates that open-source platforms require.- Very rarely is it a set it and forget it type of deal.
Who ya gonna call? - When something goes wrong, or isn’t working, who built it? Your client is calling you. Who are you going to call?
Bottom line: Open Source CMS platforms are for implementing, not customizing. Make sure you understand the platform’s capabilities and its limits. If it fits your needs great, if it doesn’t, look elsewhere or build the software you need.