Based on a recent project for redeveloping a Vignette based site using OpenCMS, here are some observations:
OpenCMS is infinitely extensible even though it takes some time to figure out things. So, though there were technical challenges, all of them were sorted out.
One major area in which OpenCMS (and other open source products) lags behind Vignette (and other proprietary products) is the ability to replicate content. This has the following implications:
1. You cannot have a separate environment for content staging and content delivery. This basically means that when content people publish stuff, it remains on the same system. It just moves from an offline project to an online project. In my opinion, the requirements for a staging environment and a production environment are (and should be) completely different. For example, you might want to cache articles on a live site but you wouldn’t want to cache them on a staging site. Similarly, a production environment could have a different load balancing and clustering strategy than a staging environment.
2. There are cases when your CMS integrates with third party applications. So for example, you get data from a third party feed, process it, take it thru workflow and publish it to the live environment. If both the staging and live are same and something goes wrong with the staging environment, the live site too goes down. Not a desirable situation at all!
3. One of the major benefits of a content management system is that you can repurpose content. For example, you create content centrally but publish it to different sites which could be dispersed geographically.
4. Since there is no replication, it becomes difficult to cluster and scale up. OpenCMS does provide an add-on module for clustering but most others do not.
5. Taking site back ups (as opposed to database backup and file system backup) is tricky.
In such scenarios, we also use this opportunity to do a content assessment and often face challenges that are much more complex than technology challenges. This highlights the importance of softer issues in implementing CMS solutions. Some of these are:
1. There are a lots of pages which are not being used at all. However, their owners are reluctant to drop those pages – they get emotionally attached! So it is a tough task to get a final list of pages to be implemented.
2. Until now, people have been used to doing things in a particular way using the older system. So it takes a lot of effort to train them and make them comfortable with the new system. In my opinion, it is more of an intertia or resistance to change that make it difficult for them.
3. I’ve often heard “The previous system had this but the new system does not have this” type of statements. I believe when one buys a product, one not only gets the advantages but also the limitations. So sometimes it is not possible to do things as they were done by the previous system and the only way to sort this out is by training and hand holding.
However, in this case, OpenCMS has been a very good choice and the client has been very satisfied with the fact that we’ve been able to implement all the required features. If a large bank can choose Open Source, it certainly is becoming a viable alternative.