SilverStripe 3.0 Alpha 1 - first impressions
SilverStripe is the CMS that is responsible for putting a lot of bread on my table. Needless to say I was excited to check out the first alpha release of version 3 that was released last week. I have been following the designs and the preview release for a while. So I really wanted to know if this new version would be a real alpha, or maybe even an early beta.
The installation process is really similar to previous versions. I guess future versions may feature a design closer to the design of the new interface.
One thing I noticed was the warning for PHP versions. The installer told me that PHP 5.3 was strongly recommended. I don't know if 5.3 will become a requirement in the final version.
The admin sure looks a lot slicker and stays close to the mockups that were released earlier. The first thing you notice is that the main navigation tabs have moved from the top to the left. This is great for sites with lots of ModelAdmins and extra tabs. Things sometimes got a bit crowded in that top bar.
When you enter the admin area, you are greeted with the new edit tab, showing the home page. At the moment there is no way to switch to another page from here.
On Twitter, I heard that there are (luckily) plans to bring back the page tree on the edit tab. Something more like this design:
In the meantime, things are a bit akward, and you have to go via the Pages tab to switch to another page.
Speaking of that pages tab: that is a great improvement over what we have now. In previous versions, it sometimes was difficult to edit your content on sites with hundreds or thousands of pages.
The pages sitetree was getting really cramped on the left and has now been moved to the right. I really like the fact that drag and drop is the default selection. Another unnecessary step removed. An improvement that would be nice to have would be modifier keys (shift and command) for Multi-selection, like how it works on Gmail.
The Pages tab is really changing into a more specific Model Admin. I imagine big sites will probably use List View (not yet implemented in this alpha) a lot more:
Once that is added, it will be have a very flexible interface for large sites, while keeping all the hierarchy goodness from Site Tree.
The basics of Model Admin also seem to be functional, but it's still very rough. As with some other parts of the alpha release, at the moment it's a bit of a mix up of the old and new CMS.
When you start editing a page, you'll notice that the meta-tabs (Content, Settings and History) have also moved over to the side. This again frees up extra space for edit tabs you might add to a Page Type.
Opening a preview of the page is now done through the button on the bottom right. You don't specify which state (draft or published) of the page you want to see. This is something you can choose when you are in the preview.
In future versions, the side-by-side view will be implemented for larger screens:
Under the hood
There are also a few new field types that come with this new version. Most anxiously awaited is probably GridField. This field type will be replacing the Complex Table Field. It will even replace Uncle Cheese's DataObject Manager, as he said on Twitter.
There is not much documentation on it yet, but I got the demo from the wiki working:
Another nice field type is FieldList, a search drop down you can see in the pages tab. You can limit the values in the dropdown by typing a value in the search field:
These field types will obviously also be available for your own page types, modules or front end work.
I tried to install a few modules I use on a regular basis. As it won't be supported anymore, it came as no surprise to see that the DataObject Manager didn't work at all. This is quite a big concern for upgrading 2.x, though. As it's unlikely that there will be an automagic conversion to the new GridField in your sites.
Uncle Cheese's Lang Editor didn't work either. I could install it and open it in the admin, but it just gave me a blank edit field.
SilverStripe is really flexible right out of the box. That is one of the reasons you don't see a huge plugin market for it (like you have for Expression Engine or WordPress, for example). There are a few very usefull plugins, though. It does worry me a bit, that plugins seem to be going to need serious rewrites to function in SilverStripe 3. I hope to proven wrong here. And I hope SilverStripe is considering a strategy to make upgrades (of sites and modules) as painless as possible.
As of now, you can also download an alpha standalone version of the SilverStripe framework (formerly known as Sapphire). SilverStripe runs on this framework. It was already possible to work in Sapphire while completely ignoring the CMS.
Now both have been decoupled, which makes it even easier to build non-CMS apps. I think a good comparison is Expression Engine (CMS), which is built on top of CodeIgniter (open source framework) and is maintained by the same company. As a developer you know how to work with the framework and you can choose to use the CMS on a per project basis.
I sure hope SilverStripe will go the extra mile and make the user guide as good as the one CodeIgniter has. That is a major selling point for people who start using that framework.
Obviously, this alpha version is really an alpha version and not an early beta. It shows a lot of promise and already has a lot of improvements. To move SilverStripe further along, another hackfest has been anounced. I hope this will help to keep the beta version on schedule (probably somewhere by the end of the 2011).
As far as I know a real stable version is expected somewhere in early 2012.