SilverStripe 2.3.0 released, 1000s of improvements!

Sigurd Magnusson,
23 February 2009

SilverStripe v2.3.0 is now available to download! This release brings thousands of updates, and shows our continued effort in making SilverStripe's underlying codebase a tool for professional website developers and the CMS a user-friendly and efficient interface for non-technical content authors.

User Forms, Newsletter, OpenID no longer in core

Please note: Some features that used to be in the core package are in their own extension modules now. This is to ensure we can keep the core code leaner and more modular. It also means we can release upgrades to these modules without needing to issue a new version of the core product.

If you are upgrading to 2.3.0 and you currently use these features you must download and install these separately:

ModelAdmin

ModelAdmin is a fast, effective, and powerful way to manage complex, large data sets with the SilverStripe CMS.

You should continue to use the site content area to manage your website pages, but you can now delegate ModelAdmin to manage long lists, such as thousands of press releases, articles, or in the case of silverstripe.org, all of our showcase sites. It also has great support for managing relationships between data, such as 'people' and 'articles they've contributed to your website.

When you link objects in PHP to ModelAdmin, a rich interface automatically builds around it, including an advanced search system, web forms to add and edit the objects, CSV import/export, and relationships with other objects. The result is a web-based application, full of (jQuery) AJAX to make managing information efficient and intuitive.

Where ModelAdmin's defaults don't match your needs, you can customise the behaviour by writing code extensions (as PHP sub-classes.) This means you can build a fully customised and tightly-integrated CRM or business application.

APIs - because mashups and open data are the new black

Related to ModelAdmin is SilverStripe's new natural ability to expose its internal object-oriented data structure as a light-weight API. For example, if you use ModelAdmin to build a website showing public parks and places and allowed user-contributed data to rate them, then you would automatically be able to turn on APIs to let data be added, edited, deleted, and viewed.

Better security settings for deciding who can view and edit pages on your site

You can choose multiple groups and assign them as viewers and editors, rather than just one:

Scalability

SilverStripe now includes the scalability features that powered the U.S. Democratic Party's convention site. With it supporting 3.2 billion hits in 96 hours, it's now yours for free. This code lets you cache static files to HTML in a configuration that bypasses MySQL, and contains only one line of PHP to provide further caching techniques (If-Modified-Since).

At the PHP-level, you specify zones of your website that can statically cache in this way, and the software does the rest for you, including re-caching files when content authors click 'Save & Publish' inside the CMS. See Static Publisher for technical information.

Transition to jQuery

Some months ago we made a decision to use jQuery for all new major javascript work in SilverStripe. It will be a number of releases before the transition is complete, however certain features such as ModelAdmin are now fully jQuery-powered. As this work progresses, it will continue to simplify achieving complex javascript work in both the CMS and front-end.

Microsoft IIS v7 Support

SilverStripe has become a whole lot easier to install on Windows servers. If you have IIS 7, the process for installing SilverStripe, including setting up friendly URLs, is now easier.

This will mean it's now a lot easier to run SilverStripe in production on Windows, which is incredibly convenient if you have an existing Microsoft-oriented website environment.

Installer Fixes

This release contains numerous fixes to make it easier to install SilverStripe on a wide variety of web server environments. Thank you to all those who have submitted detailed reports on why their installation failed so that we could make life easier for the next person!

/dev/build/?flush=all

One of SilverStripe's key features is to inspect your PHP code and build your database schema from it. As your PHP code changes, your database schema automatically keeps up with it, which is a fantastic saving grace when doing production deployment. There are three important changes:

/db/build is renamed /dev/build for system consistency. This is the new URL you visit to have your database schema update to reflect your current PHP object model.

/dev/build flushes the template of the current page, so you no longer need to add ?flush=1

You can, however, flush all templates for your website with /dev/build?flush=all.Thanks to Mark Rickerby for adding this!

Warning about translatable content

If your site uses more than one language for public-facing page content, don’t upgrade to this release yet. We are part way through changing the architecture of how our multilingual content code works and this will be ready in a minor 2.3.x release soon.

(Please note that the ability for the CMS user interface to be in languages beside English is an entirely separate feature, and actually works better in this release. Go ahead and use that!)

Further reading

Future releases

We have a goal to offer more a structured release cycle in 2009, and have appointed Sibylle to be in charge of making this happen. Check out our updated roadmap to see what we're planning. Revisit it regularly and make comments on our plans; it is both a living document and something we want your feedback on!