November 17, 2009
[books] The Silverstripe Book
1
My favourite Open Source CMS Silverstripe finally released an English book and after impatiently waiting Amazon UK finally delivered it at my frontdoor about a week ago. Hooray!
As with many Open Source software, the biggest problem is documentation. Silverstripe is no exception in this. When I started using the CMS about 2 years ago on my first project Photoplaces, many hours went into wading through code, asking questions on the forums & the IRC-channel and trying to find structure in the little documentation there was.
While things have improved lately with many more contributions from an evergrowing developer-community, available documentation can still be hard to understand to Silverstripe newbies.
Here's where the book is indispensable.
Contents
While the first chapter appetites us with a bit of information of Silverstripe's history and future, chapter two and three help us getting started with Silverstripe and learn us about the general architecture of the product. Installation, configuration, system requirements, MVC, ORM, directory structure, themes, widgets and more candy will be explained.
In chapter four you'll make your first steps in an out-of-the-box installation: creating page structure, adding content, managing files, adding a form.
Although Silverstripe isn't a CMS that bloats you with features and modules or plugins, one of its strengths is that its actually bundled with a framework called 'Sapphire', which lets you extend the basic 'Page' type into anything you can imagine.
Enter chapter five. Creating custom page types, dataobjects, relations, templates, custom forms. All explained nice and easy. This is where Silverstripe's strength really comes to show. How easy this all is, once you get it.
Chapter six even goes a step further, explaining scaffolding and ModelAdmin for data management, creating multi-step forms and introducing the GenericViews module. Even Webservices using REST.
Chapter five and six are probably the most important in the whole book.
Security is part of chapter seven: how to keep your code safe for things like Cross-site Scripting and SQL-injection.
Eight and nine deal with the more boring stuff like maintenance and testing, while ten deals with Localization. (How to get a multilanguage site.)
Don't fall asleep though, because chapter eleven provides us with recipes like making customizable page banners, showing related pages and branding the cms interface. Even flash users can use this guide because this chapter also teaches you how to handle a flash website built on Silverstripe.
Chapter twelve: extending. Basically we're extending all the time, but here focus lies on extending core functions. Class inheritance as used before, but also DataObjectDecorators. Learning how to create our own widgets and modules are part of the fun as well.
The final and thirteenth chapter elaborates on this by showing us useful existing modules such as Mollom, a spam protection module.
Worth buying?
Depends. Given that it's a book counting over 400 pages and only costs £18.49 on Amazon UK, money can't be a reason not to buy it.
If you're a developer or designer and want to get up to speed with the CMS without losing time finding the correct documentation, it's a buy for sure. It does the job where the documentation fails, although the book cannot be seen as a reference guide. Sorry, you'll have to go to http://api.silverstripe.org/ for that.
If you're a skilled developer using Silverstripe for a few years, then I'm not sure you'll learn much. Although there will be the occasional 'hey, I didn't know that' - moments, you probably know most of the magic being taught, or at least know where to find it.
I learned most about ModelAdmin and GenericViews as I never used these before and never needed to, and doubt the online documentation explains it in the same idiot-proof way, but was familiar with almost everything else and I'm not a hardcore backend developer.
Would I buy it again then? Yes. Because I do believe anyone working with Silverstripe should read it.

Comments
Mike, 1 month ago:
Thanks
A useful review.
Post your comment
You can also tweet a reply using the following hashtag: #dio5_1095
Some html allowed, see code-help
Pressing ENTER 2 times makes a new paragraph. Some HTML allowed:
URL's with http:// are automatically converted to links.
Get the RSSFeed for the comments on this article.