Choosing a free CMS
I needed to setup some new sites quickly which will need easy editing over time so looked around for some simple open source CMS software.
The Requirements
In order of decreasing priority
- Does the job: the CMS must do what a CMS should do. Sounds obvious but you’d be surprised. I want to (i) create and edit content (ii) create and edit styles and (iii) manage dynamic modules for interacting with the outside world.
- Easy to use: everything should just work (lots of modules to install is a no-no)
- Easy to maintain: (lots of modules to install is a no-no)
- Lightweight: I don’t want a “container server” which takes 30 seconds to restart so that rules out most Java CMS I have looked at before. pebble was not bad but didn’t work with java 5 at the time I last looked at it so I stopped using it.
That leaves Perl or PHP as I want an established language platform which I know with a good set of libraries (I may want to write my own extensions). - Database: Postgres ideally. What does it say about the developers if out of the available open source databases they have only chosen to support MySQL?
- No commercial crap: you know, the dreaded words “download a free trial now”. My requirements are simple, and there is no need to pay a company for this. I want a product where the community do it for the lurve.
- Quality: CMS code must be well written so debugging it will not be too soul destroying
- Secure: I dont have time to patch it every day. A consequence of the last requirement.
- Separate admin interface: this allows me to add in extra authentication requirements to admin functions. Basically I am nervous showing login boxes to the general public. Of course I am expecting all the code running these free CMSs to have been immaculately security-audited.
Several days of evaluation
These two websites are invaluable:
- compare features at http://www.cmsmatrix.org/
- try before you buy at http://www.opensourcecms.com/
Another useful link is http://www.asymptomatic.net/blogbreakdown.htm
It seems like not much has changed since I last looked, other than there being a lot more than I remember! A lot of them have a “my first project” feel to them.
Last time when I was embarking on a major two year project I got some test sites up and running with plone, ezpublish, and drupal. I wasn’t majorly impressed with any of them and they certainly were not powerful enough for the platform requirements we had.
After spending way too much time (I really need to get on with some real work) on http://www.opensourcecms.com/ and surfing around blogs and CMS forums I ended up looking at drupal and textpattern.
drupal
This is a basic looking system that has a fair amount of power, especially for those with time to review and install all kinds of modules. I quite liked it at first, but the lame navigation and the requirement to install modules for what should be core functionality was starting to annoy me after a few hours use. It’s all just a bit clunky I’m afraid. Nothing seems to be where you want it. I persevered though and in the end got a test site looking quite good. I had to change a lot of settings in different places to get the effect I wanted though. Why make it so hard? Quite a few features that should really be part of the core drupal download are available as modules (e.g. some role based security stuff, textile support etc).
On the plus side, It comes with a few built in themes which are actually quite nice, in fact nice enough to go live with. There are multi-user blogs and a good taxonomy system, and you can run multiple sites from a single directory tree installation
textpattern
If you just want a blog, Textpattern’s great (even though it only supports the increasingly commercial MySQL). It looks great and is easy to install, and is optimized for blogging (although it’s more flexible than that in theory). Some people have made negative comments about the quality of the code. The stuff I looked at seemed ok and it’s easy enough to embed your own PHP code in txp:php tags.
The admin site is coherent. The creators have obviously spent quite a bit of time getting the usability sorted.
On the downside it does not support Postgres at present, misuses some terms like “forms” (where I think it means “template fragment”) and has a half finished wiki and a non-searchable forum as its “documentation”. I’m guessing their philosophy is that they’ve spent their effort on creating an intuitive product in the first place rather than one (like Drupal) where you really need the online docs.
I also like…Geeklog
Geeklog I used to use it for er, a geeky log not unlike this one. It used postgres, but it didn’t impress me as much as txp but maybe it has moved on now. I didn’t revisit it this time.
The Losers…everything else
Note that my reasons for rejection are (by necessit)y fairly trivial and it is possible I have missed the chance to enjoy a superbly crafted CMS. Other systems I ruled out were
Xoops
- yucky website with a product box download image (what is this, washing powder?)
- yucky dynamic rollover menus – that would drive me mad
- user & admin screens are the same (not my preference)
ezpublish
- tacky wannabe commercial site
- crap documentation
- found a few forum posts from people moaning that the ezpublish code was overcomplex and slow. It did seem slow I have to say.
bricolage
I have not looked in depth at Bricolage (which is a highly rated perl CMS that can work in push mode) as it had a large list of dependencies including apache 1.3 that I couldnt be bothered to check through. A debian package exists but the server I am installing these CMSs on needs to be very secure and I am not happy adding repositories to my apt conf without checking them out and learning a bit more about apt.
Mambo
I rejected Mambo from bad experiences in the past: it looks great but just did not deliver and their approach was too corporate. They’ve probably toned this down now they’ve realized that they can’t get away with it. Still I just checked their website and there was no prominent first level link to documentation. drupal and Textpattern both pass that test with flying colours.
loads more I can’t remember
Most of them a quick play with the admin interface will cause you to reject them or a glance at the organization’s website will tell you what their first priority is – their users or trying to make some cash (nothing wrong with the latter, but just tone it down eh?).