Choosing a Content Management System
The most important thing to begin the process of choosing a CMS is to define what you mean by the term, and expand that into a "requirements" document. Here are some of the broad categories that fall under the umbrella term of CMS - your needs will likely fall somewhere between this and/or include a combination of them:
- A means of managing the content of a corporate or organizational web site so that "business users" can publish content to the Internet without needing to know HTML, FTP, or other web development and management technologies.
- Workflow integrated multi-user web content management system - allows some users to create article, others to review and publish, for instance.
- Blog-type personal online publishing system or Wiki-type multi-user web content creation system, possibly including RSS news feeds.
- Intranet with a heavy emphasis on the database back-end that's providing widely divergent content from all parts of the organization.
So, having taken a look at those how do you pull together a "requirements" document which is vital to allowing you to assess which of the multitude of CMSes out there best fits your needs:
- Determine what your current technology infrastructure and in-house knowledge allows for. Are you exclusively a Windows shop, or exclusively Linux? Who has the knowledge not only to install and configure but also to maintain any new system you put in place? Do you have an organizational preference or predisposition for PHP, Python, Perl, ASP, Java, etc.?
- What is your budget/available resources and timeframe for this project? What hardware resources are available for the project? Is there a specific person that will take ownership of the project?
- What's the relative importance the following factors - lowest cost, easiest to install, most flexible solution, most scalable solution (a.k.a. how long will it last you)? When calculating cost, be sure to think about the amount of time required for each person involved, and how much that time is worth to you - whatever business you're in, time is money, and this is often unaccounted for.
- What existing content do you have that you want to utilize? Does it need to remain where it is (i.e. do you need to dynamically "pull" the information from the existing source), or can you upload the content into the new CMS and then manage it from there? What constraints does this put on your choice of systems?
- What other features or capabilities do you need from the system and how will you integrate those? Some examples are RSS news feeds, a Mailing List server, Forums, etc..
So what's next? Having assembled as clear a picture of exactly what you are looking for, it's time to actually start looking. Here at Green Leaf Technologies, we're more familiar with Open Source CMSes, so our searches are more inclined in that direction, but there are, of course, proprietary solutions as well. Karl Dubost maintains a great list of CMSes, and at OpenSourceCMS.com you can actually try out a large number of CMSes (although as of 5/6/05 they are limited to only PHP/MySQL CMSes).
This site uses a CMS called Plone, which is based on the Zope web application framework, and utilizes the Python programming language. It's extremely flexible and powerful, but a little harder to configure than some of the others available. Green Leaf Technologies has also developed a web development framework based on PHP and PostgreSQL which allows for creation of web-based data entry forms, data viewing forms and spreadsheets through a Web GUI. This has been used as the basis for a number of applications in areas ranging from the Financial Services Industry to Artist Portfolio web sites. This code is freely available - please contact us for more information. And good luck with your search for a CMS!
Update: 2006-08-13 - This site now uses Django .
