Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

 

SilverStripe 2.4 alpha release brings hierachical URLs, SQL Server support, and much more

We're extremely excited to announce SilverStripe v2.4 is now at alpha release stage!

Tagged release

Comments 13

by Sigurd Magnusson

Posted 12 November 2009

Read post

Screenshot of SilverStripe 2.4We're extremely excited to announce SilverStripe v2.4 is now at alpha release stage!

This means it's ready for testing by our community while we continue to complete the intended features for the stable version, and complete our own testing. We do not recommend using this version of SilverStripe for production sites yet, unless you perform extensive testing on your own site first.

The SilverStripe 2.4 release is all about using SilverStripe in bigger and more complex production environments and it brings a wealth of great features.

Hierachical URLs

If your website contains hundreds or thousands of pages, you may find the default way SilverStripe handles friendly URLs a little limiting. For instance:

http://website.com/new-york-staff-john-smith/

With hierachical URLs, the address for such a page might be:

http://website.com/offices/new-york/staff/john-smith/

One of the principles of this feature is that it provides a logical "bread crumb" for a page. Each segment in the URL (as separated by a slash symbol) is a page in itself that can be visited. Hierachical URLs also reduce the problem of "running out" of URLs, where you might be forced to have URLs like http://website.com/staff-2/. SilverStripe will allow you to run the website in either simple or hierachical URL mode, so that for simple websites you can retain short, memorable website addresses.

Huge thanks go to Andrew Short, a member of our developer community based in Australia, who is responsible for writing most of this feature.

Microsoft SQL Server Database support

There is strong demand for SilverStripe to run on the Microsoft platform—in recent months there have been more than 36,000 downloads via the Microsoft.com web application gallery alone. We have therefore worked hard to allow SilverStripe to natively run on a SQL Server 2008 database, eliminating the requirement to run SilverStripe on MySQL (of course it still runs great on MySQL, though). We're really happy with the results, and we have government websites like www.gw.govt.nz already running on this platform.

Running SilverStripe on SQL Server requires the installation of the SilverStripe SQL Server module.

Experimental support for PostgreSQL

SilverStripe 2.4 can also run on a PostgreSQL 8.3 or later database. Our testing of this is not as extensive as it has been for Microsoft SQL Server, so we're being cautious at this stage and labelling it experimental. We'd love people to install this version of SilverStripe with the PostgreSQL Database Support module and raise issues.

Performance and memory use optimisations

  • Memory use optimsations mean that the CMS back-end interface for Site Content easily scales to well over 10,000 pages.
  • Performance improvements around Object and ViewableData property access.
  • Improved unit test execution speed.
  • Decreased memory usage in "Files & Images" section.
  • Tested that SilverStripe is compatible with Microsoft's new WinCache PHP bytecode cache. Anecdotal tests show that WinCache provides a 50% speed improvement in generating SilverStripe webpages.

Introducing roles

SilverStripe has long had support for setting granular security permissions on pages. Users can be a member of one or more groups, and groups can be configured to have various system rights, and various view and edit permissions to a page by page basis. This provides a great deal of flexibility, but in complex organisation stuctures, it means the task of setting up the permission structures means spending a lot of time creating security groups.

Managing more complex security configurations has been eased in SilverStripe 2.4 with the introduction of roles. Roles allow groupings of people to be:

  • Assigned the same system rights (e.g. access to create pages but not create users.)
  • Assigned those rights to different sections of a website (e.g. news section, product catalogue, corporate profile, etc.)

This simplifies maintainance of the rights and users for large organisations. It makes permissions less repetitive to set up. Roles are overkill in simple situations, and therefore their use is optional.

Other key improvements

  • A "SiteConfig" record stores site-wide settings and default permissions and author groups for pages
  • The CMS now searches for broken internal links to other pages and broken file references, and highlights them in the WYSIWYG editor. A report can be used to show broken links across the website.
  • Improved API to allow custom tags to be parsed within CMS content before being presented on webpages.
  • More fine-grained permission control for translators
  • Better XSS security of the autologin token by using HTTPOnly cookies
  • More secure against brute force login attempts

Full changelog

Want to help out?

We'd love for you to download this release, test it, and raise articlate bug reports. In particular we are interested in:

  • Testing that upgrades from older versions of SilverStripe go smoothly.
  • Testing the new features, like hierachical URLs, SQL Server, and PostgreSQL.
  • Manual testing of all CMS features work as intended.
  • Testing across various hosting environments, operating systems, PHP versions, and web browsers.

To raise a bug, login at open.silverstripe.com and create a new ticket. When adding a ticket, be sure to specify the version as 2.4.0 alpha.