First of all it might be worthwhile defining what we mean by CMS or more completely, a Content Management System. For the purposes of this entry we will limit ourselves to website systems, so in that arena, a CMS is a web application used to manage the content of a website.
Typical features allow for a site structure to be created from pages, with the content and features of those pages being defined by the administrators of the website (who may or may not be skilled in the coding of HTML web pages). SilverStripe is one such system from a selection of hundreds of similar systems available today. CMSs vary in function, cost and complexity from the most basic offerings to systems that cost hundreds of thousands of pounds to deploy on sophisticated hardware architectures. Some can be limited to working with low numbers of pages in simple brochure-ware sites to those capable of managing libraries worth of pages. Their feature sets are just as varied, so the selection of a CMS to suit the needs of any particular business or website can be very difficult.
I joined E-scape in mid 2008, at that time the company was utilising a mix of custom code, and a few CMS systems mostly MODx and Text Pattern. Both of these systems are PHP based Open Source CMS. They were both fairly basic and they both had some pretty serious limitations that were preventing E-scape from meeting our clients business needs. It was clear at this point that a new and more feature rich CMS was required. The ideal CMS needed to meet some basic requirements for selection, some of which were:
First of all we looked at a broad range of systems that were developed in PHP, Ruby and Java. Of these we eliminated the Ruby offering, Radiance, because we felt that it was at the time a hard enough sell to get a traditionally Microsoft client base to accept PHP which was well known, let alone a relatively unknown platform such as Ruby on Rails. This was a real shame as Ruby on Rails is an excellent platform that we wish we could develop with as well as PHP. The major contender in the Java arena was Alfresco. Alfresco at the time was more targeted at competing solely with Microsoft Sharepoint and was only just starting to extend into the Web Content Management area. So as well of a lack of maturity, it was rejected due to its complexity and minimum cost of deployment - its just too big for most small businesses.
So in the PHP frame we looked at a large cross-section eliminating a large number for not meeting the basic requirements. Of those that were left we had, Joomla, Drupal, a possible rework of MODx and SilverStripe a relatively new system out of New Zealand. Joomla was ultimately rejected for its poor user experience and overly complex template system. Drupal was rejected because its development cycle was far too aggressive and its context based editing system was confusing to use in conjunction with the rest of the management interface. The MODx option was more complicated. The promised re-development of MODx on paper met all the requirements, there would be some cross over of skills which would also be of benefit. In the end however the time frame was against us and the new release was just not going to be with us in time. We had to move to a new platform sooner rather than later. And so SilverStripe was the one still left standing.
First of all it was featured as an up and coming platform to watch by a few different reviews of CMS platforms that happen on a fairly regular basis. Its interface when compared to the outgoing MODx and Textpattern was fresh and intuitive and it met all of the requirements in our list. Beyond that though, it promised to be more than just a CMS for us. It was built on a Framework called Sapphire that could be used for more general web development beyond the scope of the CMS. This was definitely a bonus as one of the things you learn pretty quickly when dealing with customers and web sites is that no two are the same and every customer wants just that little bit more than the last. So with a decent framework supporting the CMS, we were confident that it would not limit us in the future.
From a developers point of view, the clean division of code and configuration from user interface and content management was refreshing. Being able to work in code for all of our development with out any need to configure deployments through a web interface would allow us to heavily integrate our development and release processes with a solid source control system. This would provide a much needed reduction in the amount of development work and tweaking that was being done to production environments. In fact the actual goal was to eliminate any direct changes to production systems to protect their integrity and increase the level of service to our customers.
A CMS's strengths on paper are one thing but what about in practice. Has SilverStripe lived up to expectations? In summary a resounding yes! There are of course a few areas that have caused us some issues for instance third party modules not keeping pace with the main line updates. To be fair this is not an uncommon situation with platforms that allow strong developer integration and extension. Of course the fact that the entire platform is Open Source has meant that in those cases where we have had problems we have had the ability to correct them ourselves if needed.
SilverStripe as a platform for our development has not stayed static either. The core development team have steadily improved the CMS over the time we have been using it, introducing new features and improving overall performance and security. In reality this continued development is probably more important than the initial feature set that we settled on in the first place. A static platform is of no use to us as a business as we continue to develop new and inspiring websites and applications for our customers.
SilverStripe and its continued maturing and growth over the last couple of years has fostered an environment within E-scape that is benefiting existing and new customers alike. We have a growing team of experienced developers who are getting more and more comfortable working with a platform that is not only great to work with, but is also allowing them to challenge their own skills and knowledge to go that step further towards excellence. Working on a platform that is stable but continuing with an active and relevant roadmap of enhancements and extensions gives our customers confidence that they will get what they ask for and not be blocked from growth in the future as their own needs evolve or adapt to their market place. Continued growth of our skill base in SilverStripe is also making our offering to clients more cost effective as we build up a library of our own modules and building blocks to speed delivery to market for client projects.
Right now its an exciting time to be a SilverStripe developer. The core team is working hard on version 3.0 of SilverStripe CMS and the Sapphire framework. This release is a watershed event for SilverStripe as it includes a complete rework of the Sapphire framework finally de-coupling it completely from the CMS, re-working the ORM to provide a more rational, consistent and intuitive interface as well as a whole raft of other features and enhancements. For the CMS this release features a radically redesigned user interface that provides a visually more pleasing experience combined with some significant improvements to the usability for content administrators and contributors.
I am following these developments very closely and am very excited about being able to bring these improvements to our customers.

No one has commented on this page yet.
RSS feed for comments on this page | RSS feed for all comments