I know from personal experience that when I begin a web project it’s so easy to choose a Content Management System (CMS) that I’m already familiar with. Even more so, it’s easy for me to reach for the popular choice that’s already well established. Many times this reasoning works the best. In the past, I’ve tinkered around with Drupal, Joomla and WordPress, amongst a few others. All of them have their own distinct advantages and disadvantages.
Recently, I’ve had a chance to give SilverStripe a test drive. While it’s not perfect, it is brilliantly developed and easy to use. In this post I’ll present 5 reasons why SilverStripe may be the best option for your next big project.
1. The Community
Simply put, the SilverStripe community is awesome. Every time I have posted a question on the forum it’s been answered within 24 hours. The community is very active and intelligent. Which should ease your mind a little about the relative obscurity and newness of this CMS. By the way, they have been around since 2000 and were developed by a talented group of New Zealanders. They’ve won a host of awards, most recently claiming the 2008 Most Promising Open Source CMS award.
The entire SilverStripe brand has just been relaunched and divided into two sites. SilverStripe.org is where you’ll find all the open source software you’ll need. And SilverStripe.com hosts the company info. The redesigned forum is now even easier to navigate and find help. Plus, you’ll enjoy good documentation and a frequently updated blog.
2. An MVC Approach
SilverStripe is built on the backbone of an object-oriented PHP5 web framework called Sapphire. Their MVC (Model-View-Controller) approach allows you to easily separate code from logic. The out of the box classes in Sapphire provide a sturdy foundation for you to build from. The folks at SilverStripe boast about how flexible the platform is. Using their modular approach it’s easy to understand why. The code that’s already written and the code you will write when extending the CMS is very logical, and easily reusable.
The SilverStripe template engine is set up deliberately simple in an effort to further emphasize separating logic from design. Using the templates allows you to interact through control loops that are built in and others that you can add by extending your pages. If you are familiar with frameworks like Ruby on Rails you will definitely by in your element.
3. The CMS is Very Customizable
Extending the CMS is easy and intuitive thanks to the database relationships you can create between pages and data objects. SilverStripe uses it’s Object-Relational Mapper (ORM) to create database tables based off of the objects you create from simple object oriented PHP 5 syntax. In other words, learn a few basic lines of code and the databases are created for you! Within the CMS it then becomes easy to add tabs and complex table fields. As your knowledge grows, so do your options.
4. AJAX Style Site Tree
I absolutely love the site tree that is used within the CMS. The site hierarchy is extremely logical. You can expand and collapse pages in the site tree which makes it quick and simple to find the page you need to edit. Parent/Child relationships are dependent upon where you place your pages and are established when the page is first created. If you change your mind about where a page should reside along the tree, you can move it with a quick drag and drop.
5. Quick Learning Curve
Getting up to speed on how to develop a nice SilverStripe website is a relatively quick process. I’m not saying you’ll be an expert overnight, but I’ve found it much quicker that some of the others like Drupal.
There are more reasons why I’ve become an advocate of SilverStripe, but I figured this would be enough to get you intrigued. What are your thoughts? What CMS are you a big fan of?