paulchinonline.com

Building a CMS From Scratch Is So 1990s

By Paul Chin

Originally published in Intranet Journal's Chin Music (16-Apr-2008)

back back to portfolio


I was recently asked something that I myself have been wondering for a while: Does anyone still build intranet-based content management systems (CMS) from scratch? And more importantly, is there any real advantage in doing so?

A little over a decade ago, professional off-the-shelf CMS's and CMS development tools were non-existent. If you wanted a real intranet-based CMS, you had to code it and build it yourself. Looking at the current crop of CMS products and toolkits, I think back to my early years as an intranet developer in the mid-1990's and marvel at what my team and I were able to accomplish with little more than HTML and Perl/CGI.

Back then, Web technologies were in their infancy within our company. There were only a handful of people with any Web design and development knowledge, none of whom were in my team. Despite all this, we managed to build a fully-functional CMS from scratch. We did this not because we wanted to or wanted a challenge, but rather because there were no viable alternatives. We had limited resources and used whatever Web technologies we were able to get our hands on. We learned everything on the fly, and even got a few lumps from trial and error programming. And when we encountered a roadblock that the technology at the time couldn't adequately address, we had to "MacGyver" a workaround. That's old school CMS development! It was a time when developers had their noses buried in code, and senior management raised their eyebrows in perplexity whenever you said "intranet".

Now things are completely different. You can buy a professional quality, ready-to-use CMS that requires little to no development beyond installation. Some are simple CMS's; others are full-blown portals that couple CMS features with collaboration and workgroup tools. You still have the option of building a CMS yourself, but development has been greatly eased with content management frameworks such as Joomla!, Plone, and Drupal. These tools give you a stable foundation on which to build upon. You can fine-tune them to meet specific business requirements within your organization and brand your solution to reflect your corporate or system identity.

Sure, if you have the technical and programming expertise, you can still develop a custom intranet-based CMS from scratch using any number of scripting languages and technologies, but that would seem like you're reinventing the wheel. Although building your own CMS from scratch gives you complete control over every aspect of your system's functionality and design, do you really need this? Unless you have very specific requirements that no existing product or development tool can accommodate, developing a system with a content management framework (and to some extent, buying an off-the-shelf solution) will be a lot more cost effective and a lot less time consuming than starting from nothing. It will also be a lot simpler to justify.

Go into any boardroom and tell senior management that you would like to develop a CMS from scratch and they'll probably look at you like you have a third eye growing out of your cheek. But if you utter the word SharePoint, they'll treat you like some sort of messianic god sent from the heavens to deliver them from content management hell.

As a former programmer and software developer, I have a penchant for coding at will, unfettered by the rules established in someone else's product or tool. But after having seen all the available CMS offerings, I find it difficult to justify rebuilding what's already there. So, if any of you intraneters out there are still developing CMS's from scratch—without a content management framework—I'd love to hear from you.


Copyright © 2008 Paul Chin. All rights reserved.
Reproduction of this article in whole or part in any form without prior written permission of Paul Chin is prohibited.