SilverStripe 2.4 release: a significant step forward

Posted by Brian Calhoun on 5 May 2010

Screenshot of SilverStripe 2.4We're excited to tell you that we just released SilverStripe version 2.4! This is a major new release and an important milestone for the SilverStripe community, the open source project, and our company.

SilverStripe 2.4 is the culmination of over a year's worth of development. We fixed 391 tickets and had over 1,400 changelog entries. A large number of the patches that went into 2.4 have come from you, the community, and we're especially happy that there's been increasing community involvement.

What's new in 2.4?

Hierarchical URLs

If your website contains a large number of pages, you may find SilverStripe's default way of handling URLs a little limiting. Until now, URLs could only be one level deep, for example:

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

With hierarchical 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 URL segment (as separated by a slash) is a page in itself that can be visited. Hierarchical 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 2.4 allows you to run the website in either simple or hierarchical URL mode.

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

We have seen strong demand for SilverStripe to run on the Microsoft platform—in recent months there have been tens of thousands of 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 (though, of course, it still runs great on MySQL). 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.

PostgreSQL database support

SilverStripe 2.4 can also run on a PostgreSQL 8.3 or later database. We are continuosly testing this feature; however, our testing has not been as extensive as it has been for Microsoft SQL Server. We'd love for you to install SilverStripe 2.4 with the PostgreSQL Database Support module and let us know how it goes.

Performance and memory use optimisations

Memory use optimisations mean that the CMS backend interface for the "Site Content" section easily scales to well over 10,000 pages. Changes include:

  • Performance improvements around Object and ViewableData property access.
  • Improved unit test execution speed.
  • Decreased memory usage in "Files & Images" section.
  • Ability to cache parts of templates, providing a middle ground between the speed of fully cached pages and the richness of fully dynamic database-driven pages.
  • Batch action handling handles larger tree structures, provides better visual feedback, and respects permissions on individual pages.
  • Tests 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. We also allow various view and edit permissions on a page-by-page basis. This provides a great deal of flexibility, but in complex organisations the task of setting up the permission structures can mean spending a lot of time creating security groups.

With SilverStripe 2.4 we've made it easier to manage more complex security configurations with the introduction of roles. Roles allows you to create groupings of people who

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

Roles are optional.

Other security features

  • A group can be limited to only edit a certain language in the CMS.
  • Team members can get permissions to see the draft version of a page in preview mode without requiring CMS access.
  • Pages of type "Virtual Page" have improved stability in regards to their permission control, translation, and publication.
  • 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.

Other key improvements

  • Our new SiteConfig feature allows you to store site-wide settings including permissions and languages used on your site.
  • 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.
  • Improved reporting API to unify the CMS sidebar reports and full-page reports on their own section. It's easier to add custom filters to reports.
  • Added dropdown to choose from existing anchor links when inserting a link from the CMS sidebar.
  • Improved broken link detection.
  • Removed the jsparty/ toplevel folder, and moved all its dependencies into sapphire/thirdparty and cms/thirdparty.
  • More than 350 bugfix and enhancement commits, plus over 200 minor changes.

Full changelog

Want to help out?

We'd love for you to download SilverStripe 2.4, test it, and raise articulate bug reports. In particular, we are interested in:

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

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

 

A big THANK YOU to all the community members who have tested, submitted bug fixes, and submitted new code. And of course, major props to the SilverStripe staff who have worked very hard over the past year to make this release simply awesome.

Post your comment

Note: Comments are moderated and won't show until they are approved

Comments


  • I am a businessman so I am able to understand this article very well. I agree with previous comments that indeed this is very informative and can literally help others that are willing to improve. Thank you so much for this post.

    Posted by louis vuitton outlet, 3 years ago @louisvuittonoutlet

  • the open source project, and our company. milestone for the SilverStripe community,

    Posted by electric cigarette, 3 years ago

  • Since version 2.4, Silverstripe is my prefereed CMS for all my customer projects. The underlying Sapphire framework makes it easy to integrate new features into the backend and to realize the customer ideas quite fast. Keep up the good work guys.

    Posted by Bytes Land, 3 years ago

  • I've been using wordpress but this looks quite a bit more advanced. It looks like there's quite a bit for me to learn here before I can move forward, but I've downloaded silverstripe and I'm going to see if I can't figure this thing out. Looks very exciting.

    Posted by Carter, 4 years ago

  • thanks for adding hierarchical URLs! I evaluated SS for a project last year, and that was the one thing missing.

    Posted by Brian Lance, 4 years ago

  • Hello SKG.

    SilverStripe supports PostgreSQL, You will, however, need the PostgreSQL module. You can find it here.

    http://silverstripe.org/postgresql-module/

    Additionally, SilverStripe should run on MySQL version 5 or better; I don't think it will even run on 4.1.

    Thanks for giving it a try.

    Posted by Brian Boyko, 4 years ago

  • Hello all!

    saying that, SilverStripe is now supporting postgreSql, but Your newes version does´nt support it?!
    and also not even MySQL version 5, which i´m using at the momenet on my all servers, not themysql versipn 4.1!

    I lost lot of time!!

    For me it is not .

    Regards,

    SKG

    Posted by sisantha, 4 years ago

  • I have been waiting for this release for a long time. Can't wait to get my hands on this. Thank you for the hard work!

    Posted by Ben_W, 4 years ago

  • Brilliant. I've been looking forward to this release. Starting development of a new website next week using 2.4

    Posted by Ryan, 4 years ago

  • Good stuff, I shall certainly be upgrading a few of mine! The broken link search is handy.

    Posted by Jo Booth, 4 years ago

RSS feed for comments on this page | RSS feed for all comments

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.