The initial vision for Plone 4 was so complex that it wasn't slated for release until 2010. In order to allow for smaller, more focused releases, Plone (news, site) Founder Alexander Limi announced at the Plone Symposium at Penn State that the Plone Roadmap has been revised. What was originally Plone 4 has been split into Plone 4 and Plone 5.
The New Plone 4
Plone 4 is due in late 2009 and its release manager is Eric Steele. This release will feature:
- Upgrade to Zope 2.11
- Upgrade to CMF 2.2
- Adding TinyMCE for editing
- Building in Binary Large Object (BLOB) support
- Improved upgrade "machinery"
- New flexible roles and permissions
- A new default theme
New roles and permissions include newbie, site admin and trusted.
The New Plone 5
Plone 5's release manager is Hanno Schlichting, and this version focuses on three goals:
- End-user simplicity
- Developer approachability
To achieve more simplicity, Limi discussed brand new technologies such as:
- Through the schema editing
- Theming using Deliverance/xdv
- Grok-like directives to reduce the need for ZCML
- New plone.registry allowing for portal configuration similar to Mozilla's about.config
Simplifying the Code Base
He also mentioned pluggable schemas, pluggable behavior, separate packages and just plain improving performance. To accomplish such improvements, Plone 5 will focus on shrinking and simplifying the code base, and running faster out of the box, for logged in users, and in high end scenarios.
To simplify the code base, he wants to reduce dependencies. For speed, one issue is that Zope page Templates (ZPT) is slow. While Chameleon has sped up templates, Chameleon lacks support for restricted Python and still has a way to go for skin templates. Hanno Schlichting and other members of the Chameleon team continue to improve on this tool, which mostly supports Plone 3.3 today.
Another area focused on for improvement is search. Limi plans on less dependence on Catalog, fewer indexes and re-imagining CacheFu. He also mentioned using Solr/Lucene for enterprise deployments.
User Experience Simplification
When it comes to end user experience simplification, Limi discussed Deco as a new approach to editing. Deco allows for pages rendered as layouts composed of Tiles. These Tiles are persistent, store configuration and data, offer configuration forms, live at a unique URL and render to HTML.
Essentially, Limi says that Tiles are the new apps. As examples, he offers Tiles for HTML text, images with captions, lists and stored searches, Flash movies, Flash apps, forms, polls, file attachments and fields with AT/Dexterity.
Deco also allows for a full-page editing interface, replaces Kupu, lets you manipulate DOMs, drag and drop Tiles, use TinyMCE inside text files and eliminates the need for grid management.
Changes to Content Types
In addition, the new technologies Deco and Tiles will allow for huge changes in the interfaces for content management and editing, including folding the content types page, folder, event and collection into a single type. However, there will still be room for custom content types as they're still useful. You'll be able to choose from Dexterity, Archetypes or None for a type.
Moving Forward with the Split
With so many changes on the horizon, splitting the original Plone 4 into these two releases should help keep the project moving forward. This approach should also keep the Plone development process from collapsing under its own weight. Trying to add and change too much at once can produce a mess full of bugs because exhausted developers release the project before it's really ready.
No doubt Plone users are happy to get a working, stable upgrade sooner rather than later.