I’ve worked with content management systems for eleven years. Over that time the market for this particular part of an organisation’s IT infrastructure has exploded, encompassing every price level from free to hundreds-of-thousands of pounds. The choice for someone looking to buy a content management solution is now vast and immensely confusing.

Something else that has become apparent is that many organisations that implement a particular content management system often end up implementing a different one just a few years later. The reasons for this can be fairly diverse, but often run along the lines of “our needs changed and it was cheaper to replace the entire system than to modify it”. There are two primary reasons why this particular issue arises very frequently.

Firstly, when it comes to content management the needs of an organisation change over time, often quite radically. Mergers with other organisations, changing data retention and data protection regulations, new publishing mechanisms, varying target audiences and even lifestyles – these can all change the way one thinks about the problems that are to be addressed by the content management system. Secondly, most content management systems are not designed to be extensible.

The first of these reasons is unequivocal. Change happens. The second may cause some debate, but I believe it to be fundamentally true in every meaningful sense. Either a given product doesn’t provide the means to extend its capabilities at all, or the company responsible for it doesn’t publish the mechanisms by which it can be extended. Whichever of these is true, the end effect for the customer is the same – in order to add a new capability they are utterly dependent on the vendor’s product management team to prioritise it highly enough to get it on the “to-do list” and the R&D team to build it the way they, the customer, want it. This is not a good place to be when dealing with the central repository of all of your organisation’s critical information – it leaves too much out of your control.

My experience of implementing content management solutions with Alfresco, however, is that it is designed with extensibility very-much in mind. This isn’t really anything to do with the fact that one can download the product’s source code, although this is extraordinarily useful as a reference. The point is that every part of the product is glued together in a way that means that, with an appropriate level of technical skill, one can add new components to it or even completely replace existing components with custom versions.

This may sound a little geeky – this is a tool that’s going to be used by business people for business purposes, after all. Why should anyone consider whether “someone with software development skills” can enhance the content management system that they buy? Surely far more important is whether their user community has a beautiful user interface to configure the system to do what they want? Well, in the short-term, that may be true, but the problem with beautiful user interfaces is that they only provide for things that the product vendor predicted would be wanted when it was specified. Getting it to do anything new requires effort from the vendor’s R&D team.

So, ultimately, enhancing your content management system to cater for change requires effort from software developers. If your content management system is “closed” then you have to wait for the product developers to get around to it and hope that they do. However, if your content management system is designed to be configurable and extensible then you don’t have to wait unless you want to – you can always bring in a small team of engineers to get it to do exactly what you want.

This is powerful. This takes control away from the vendor and gives it to you. This may well be the “killer feature” that means that you will not be looking to replace your content management system in a few years’ time. And, believe me, replacing your content management system in a few years’ time will be a whole lot more expensive than bringing in a few skilled software engineers for a short period.

So, in answer to the original question “would I choose Alfresco?”, the answer has to be “yes” in very many situations.