It’s been a while since we gave you the SS 3.0 preview to play around with earlier in the year. Now we are getting serious. We are proud and excited to announce that SilverStripe CMS 3.0 alpha 1 and SilverStripe Framework 3.0 alpha 1 are ready to download and test now.
We’ve made the new CMS faster and more flexible. It shows an outstanding new user interface and last but not least; we separated the framework from the CMS and made it its own entity.
Alpha means this version is ready for you, the community, to test it and report any bugs you can find. Alpha also means that we don’t recommend using this version of SilverStripe for production sites yet, unless you did extensive testing on your own site first.
What's new in SilverStripe 3.0 alpha 1?
-Framework and CMS separated: You can now download SilverStripe Framework as a standalone tool without the CMS. That means more flexibility to build anything else than ‘just’ a website.
- New UI: The user interface has been completely redesigned to be more intuitive as well as more modern looking. You can switch between panels through Ajax, which will improve the overall loading performance. A collapsible menu with ‘fly-out sub navigation’ will save precious screen space.
While this is all still a work in progress, you can already start to see where we are heading with the new user interface. The interface is the result of interviews with users of our software and the interaction design work of SilverStripe Creative Director Felipe Skroski.
The main menus have moved from the top of the screen to the left hand side. The sitemap which used to greet you has now moved to its own section. The color scheme and visual aesthetic has been modernised. As a result, editing is done on a less cluttered page. At bottom right, a more visible 'Preview' button lets you see your work in progress.
- Preview function: You can now switch back and forth between the CMS and the previewed content much more easily. This will greatly speed up the work of CMS authors.
When you click preview, the page continues to show links back into the CMS ("<< Edit"), together with icons on the left hand margin of the page. You also get links to the Draft Site and Published Site to make it easy to see your changes. Yet to come, is a feature where you can see the page you are editing and the preview side by side, which will be available for users with wide screens.
- Add new page screen: SilverStripe CMS 3.0 makes more use of pop-up screens than v2.0. An example of this is the Add New Page screen. This is designed to make common tasks more intuitive to perform, and gives more space in the user interface. It has room for icons and descriptions of the various page types and therefore replaces the previous, rather unfriendly drop-down solution.
- Page tree: Based on interviews with existing users we decided to rebuild the sitemap editor. We just got started, but you can see that this now gets a full-screen interface rather than being squashed into the left hand side of the screen as is found in version 2.0. As we get closer to a stable version of 3.0, there will be more options for finding and performing actions on pages (e.g. publish, remove, etc.). There will also be a List View, which will help when you have thousands of items in the same part of the site, and need to use sorts and filters instead of painstakingly browsing to the page you want to edit.
- Themeable UI: It is now easier to customize the look and feel of the CMS UI.
- New ORM: A completely new ORM, based on lazy-loaded DataLists, gives developers much more flexibility.
- GridField, the ComplexTableField replacement: We have built a replacement for ComplexTableField from the ground up, based on the new ORM. This is still early stage, but you can already see that it is more reliable and flexible.
- Template language rewrite: The template engine has been rewritten, making it more reliable and adding a few key features.
- Javascript Rewrite: The Javascript of the CMS has been rewritten, built on a consistent base of jQuery, jQuery UI, Entwine. This will make it faster, more reliable, and more easily extended.
- Manifest builder rewrite: The manifest builder, which keeps track of the code in your site, has been rewritten to be more stable.
- Deprecation API: You can now choose which version of SilverStripe to show deprecation errors for; for example, you can see errors for features that are deprecated in v2.4 but not v3.0. We plan to use this API to build more upgrading tools.
See our changelog for more details and an upgrading guide.
Last but not least
These changes meant heaps of work under extreme time constraints for everyone involved. Many of you donated free time to help making SilverStripe a better tool. There is no better way to show your love for the tool you work with on a day to day basis, and for this your time is hugely appreciated.
Thanks to everyone involved in getting the alpha release out. Thank you for your discussion feedback on the mailing list, the pull requests and simply spreading the word on SilverStripe.
Special thanks goes to Edward Knight for his keen attention to detail on the page tree and ‘add page’ dialog, as well as Simon Welsh for improving our ‘MySQL database layer’.
But as you know; after the show is before the show. The next big milestone will be 3.0 beta at the end of the year, with stable to be expected in the first quarter of the new year.
What's next?
Here is a sneak preview on a few things that are on our roadmap for SilverStripe 3.0 stable.
- Continue developing the new UI: There is more work to be done on the user manager, files & images, and model admins, as well as polish on the core interfaces.
- Configuration system: A YAML-based configuration system will be added to the Framework, and will be used in place of the current static methods. This will provide better performance, be simpler for new users, and make it easier to add other tools such as GUIs on top of the config system.
- Dependency injection: Dependency injection (DI) is a pattern for defining how code is stitched together. We will be introducing a DI framework and using it throughout the Framework and CMS. This will make code more modular and testable.
- Performance improvements: Building on top of the DI, ORM and configuration improvements, we will look to optimise the speed of the framework.
- More enhancements to ORM: We have more planned for the ORM, including filtering across relationships and lazy loading for better performance in MSSQL and PostgreSQL.
- More enhancements to GridField: We have more planned for GridField, including customizable search forms and pop-ups.
- Form validation rewrite: We will revamp the form validation to use existing jQuery plug-ins, as well as allowing more validation to happen at the ORM layer.
Stay tuned and don’t forget to test and report. If you find any bugs, please submit them here http://open.silverstripe.org/