I’m not entirely certain how it is that I had not read anything about SilverStripe until it won a place as the ‘Most Promising Open Source CMS’ awards. My best guess is that I simply scanned past any news on it because it so closely resembles the ‘Silverlight’ technology in name, and I have no interest in reading or writing about more Microsoft technologies doomed to failure.
When I was able to take a look at the website, I was truly impressed with what I saw. Right on the front page is a listing of the key features of SilverStripe – and the words scalable, open source, BSD license, modular, standards compliant, and template freedom all lead me to check out their online video demo.
What an excellent video! As I watched, I was mentally working through a list of requirements I look for in a backend as I watched the video, and kept seeing more and more of them covered. One of the things I felt was lacking in the video was an exploration of blogging capabilities. There is a blog module that you install if you’d like a blog, and while the demo site in the video had that there, the time spent on it was minimal.
There are several modules that can be added, which are not the same as widgets (which they have also). Modules are essentially core features (such as blogging, e-commerce, and forums), whereas widgets are like WordPress sidebar widgets that include things like a Google calendar on the sidebar, a quote of the day, and so forth.
While the functionality of the system seems to be great, the one place I see a lot of room for improvement is in the way it handles the actual look and feel of the site. Templates are handled in ways I don’t feel are very user friendly at all. For example, in order to change the theme your site uses, you have to manually edit a file to change the theme name:
Another thing that I find overly complex is that the MVC approach to the modular creation of the system is extended to the themes. You cannot add PHP directly into a theme. Instead, you have to separate all your PHP and create a new function controller class whereby you declare all of your PHP code as custom functions. Those functions are then called from the theme. In theory, this approach is probably best, but in practice it may prove to be a bit cumbersome. In fact, my initial impression was that they managed to make templates even more complicated than Drupal. Keep in mind, these are only initial impressions, I’ll play around with the templating system and see if it’s as complex as it seems. UPDATE: At the time I wrote the initial article, I complained a bit about the complexity of theme creation, but praised most other features. I’ll come right out and say that I was wrong – there’s nothing complex about theme creation, it’s just done so differently that it took me a bit to figure out how it works.
Overall, from the user standpoint, it seems to be powerful while not appearing to be too confusing. From a theme developer view, I’m not certain that it’s quite so easy.