Eric Steele: The state of Plone 5

published Oct 29, 2014, last modified Nov 16, 2014

Keynote by Eric Steele at the Plone Conference 2014 in Bristol.

What is happening with Plone 5? This year there have been a lot of sprints, sometimes even with thirty or forty people at the same time.

What is Plone doing to make my life easier?

Currently, Plone 5 is alpha software, so use with care.

Plone 5 has Diazo enabled by default. This means we have made the underlying html simpler, an unthemed basis with only a small bit of styling.

We have a toolbar, pulling out as much of the CMS as possible, separating it from the non-cms part of the page, making it harder to break your editing with a wrong Diazo rule.

New Barceloneta theme. Theme customization with new resource registries, partly a return to the old base_properties, but done better, through a control panel in Plone.

Date formatting is now handled on the client side: i18n, local time.

There will be a panel with an overview of security settings, where you can for example choose between standard and high security, depending on your needs, changing various settings at once.

Our setup has changed so it has become easier to keep up to date with third-party javascript add-ons. So we now have TinyMCE 4 as editor.

Various widgets are updated.

The folder contents tab has been updated, based on the wildcard.foldercontents package.

Dexterity has been developed for years, stable for quite some time. Far less boiler plate than Archetypes. Add behaviors to content types. All the core types have been ported over to Dexterity, in plone.app.contenttypes. We finally have recurring events in Plone. Archetypes will still work in Plone 5, and ATContentTypes is still there, but new sites will use dexterity. There is migration, which you can do type by type.

Add-on development: we advice you to use plone.api. Easier to remember where to import from. See documentation on http://api.plone.org.

Javascript development: we use Mockup patterns. See http://plone.github.io/mockup

For that to work, we needed new resource registries for css and javascript, so they are there, in the Plone UI.

Settings should all be stored in the configuration registry, which is done for the Plone control panels.

Security: automatic csrf protection, automatic clickjack protection, automatic keyring rotation.

We have documentation, including automated screen shots.

Try it out: http://plone.org/try-five

What's next? Do you continue using Zope as it is? Do we absorb some of that code? Do we switch to Pyramid. That is part of the ongoing Plone 2020 roadmap discussion. Various techniques like Diazo and plone.api separate you from the backend, making it a bit easier to switch things around there. An event like this Plone conference is where the talking happens, where decisions are made, not in some closed off secret session of core programmers. Just join us and feel welcome.

Watch the video of this talk.