I have recently installed SilverStripe to test if it fits into our shared hosting concept. Read after the break about my impressions.
First of all: CURSE SERENDIPITY! It threw me out of my session TWICE when I had this whole entry typed up and just wanted to publish it. This happens rarely, but is always extremely annoying. That said, I’d like to share a couple impressions about the SilverStripe CMS with you. I’ll make this quick, since I’m not inclined to redo my sophisticated, 20 page review that I had typed up (*cough*). First of all, the installation process. I used one of my experimenting hosts which has a stock Debian Apache2, MySQL, PHP5 setup with safe mode and open_basedir disabled. This is not exactly how our shared hosting setup works, but with the sheer mass of applications I have tested in the last week, I don’t want to fiddle around with safe_mode problems. Installing SilverStripe is really straightforward. Enter database credentials, check directory permissions, choose admin password and fire ‘er up. One issue: The database settings should really include the possibility for a table prefix. This is essential when installing multiple products in one database (as our hosting customers regularly do - am I getting annoying with all those backlinks?). The admin backend is initially very, very slow. This is probably because the cache has to be populated; after a while it got substantially more smooth. It’s very basic, however. A content tab, a file manager, comment moderation, user and group management and that’s it. No settings tab for changing the site config, no plugins and modules or any other kind of extension. This is my biggest beef with SilverStripe: Its feature set is too basic for a full-fledged CMS. Anything apart from normal content pages requires coding. This becomes clear during the tutorials (which are excellent, by the way) and personally, I don’t like it. It’s not that I have problems touching PHP code, but not while I want to get a web site running ASAP. The good news is that for many things you can rely on Sapphire, the framework underneath SilverStripe, but still you have to implement the things you wanna get done in PHP. I have no doubt that this was a conscious design decision - I doubt that this decision will make the developers a lot of friends in the “casual CMS” market. I conclude that this CMS is nice for you if you want to stick very close to a framework and have no issues with coding your site’s features. It’s not for you if you want to have “plug and play” functionality with modules and addons. Since I think my customer base is mainly in for the “point and click”experience and wants content online quickly, without worrying about technicalities, I think SilverStripe is not for them. URL: http://www.silverstripe.org/
I’ve recently been working of a fairly large project using SilverStripe. In short, it was a nightmarish experience. While SilverStripe does well at marketing itself and presenting itself well, it is not even remotely a good CMS.
Whenever you start digging into their code or try to extend it you’ll quickly discover that it’s a horrible product. It’s poorly engineered, it’s using a many antipatterns and many things are too tightly coupled.
Then there are things that are downright broken. Alpha quality code in a “stable” release. Using multiple different JS frameworks simultaneously, which inevitably gives issues.
Unless you like headaches, I would not recommend SilverStripe. On the contrary, I would recommend staying as far away from it as possible.
I’d be hard pressed to make a “this is the best” recommendation, because it all depends on what you want to do with your site.
For the simplest sites, I reckon any blog software that can do static pages (Wordpress, Serendipity et al.) will do fine. If you want something easy to use with a lot of community stuff, go for Drupal. Maybe evaluate Joomla too.
If you need really complex things, Typo3 is probably the best “enterprise grade” Open Source CMS out there.
But that’s just a bit of namedropping without any implied recommendation - especially with regards to security!
Yeah, it´s realy a first impression.
SS suports modules and widgets. You can extend with new page types and the admin backend too. You can use a MVC pattern to extend or create any king of page. IMHO the best feature is the easy user interface (many new user starting using imediatly) and the poor is the documentation, mostly the docs to advanced programmers. More advanced options is good too.
The js framework is current changing to jQuery.
It’s my 2 cents.
You’re quite right that Silverstripe is not meant as a CMS for an instant casual site -- even though it can be installed in seconds. Your point about a table prefix is spot on; they probably need to add that.
The absence of GUI for configuration settings and adding plugins is a deliberate design decision, as you guessed. Doing this makes it possible to have dev, demo, and production instances of the site, using version control for extensions and configuration management. None of that is needed for “casual” sites, but is essential for managing a long-term CMS in organizations.
Contrary to comment by Daniel Egerberg, we have found SilverStripe exceedingly easy to extend and do rapid prototyping with, despite the “anti-patterns.” I can only guess he means the use of singletons and static class methods; despite these, we have been very happy with the speed of development when extending the CMS.
As for the use of multiple JS libraries: 1) you can turn off the inclusion of prototype.js if you don’t need client-side form validation; 2) it doesn’t use anything except prototype.js on the front end. Having said that, I would like them to migrate entirely to jQuery.