I was catching up on my blog reading and noticed that the Plone community has announced what features will be in Plone 4. Version 4 will incorporate 40 “PLIPs” (“Plone Improvement Proposal:” the Plone project’s issue/enhancement tracking system). You can see the list of enhancements and bug fixes here. The release is expected to be completed in the end of 2009.
While, to me, 4.0 seems like a less ambitious release than 3.0, a few features caught my eye:
- Tiny MCE replaces Kupu as the default WYSIWYG editor. From a user perspective, this is probably the most noticeable change. While a number of number rich text editors are supported through add-on modules (“Products”), Plone has been a bit of an outlier for using Kupu as the default, and best integrated editor. Plone has favored Kupu because of its simplicity and the well formed HTML that it produces. However, users tend to like all the buttons and additional formatting features offered by TinyMCE and FCK. TinyMCE is widely used as the standard editor in many open source and commercial CMSs. Plone will be in good company.
- Cleaner handling of object references. Plone’s repository (an object database) is hierarchical like the Java Content Repository. In most cases, business users like the similarity with the familiar filesystem model. However, like file systems, there is a disadvantage when you want the same item to appear in more than one place in the content tree. Like most hierarchical repository systems, Plone has developed a referencing system (like a symbolic link or a shortcut). Version 4.0 of Plone will make references cleaner and easier for non-technical users to use.
- Delegated group management. Plone has a good system for managing groups and roles. However, to this point, only a site manager can control group membership. With this release, there can be group owners who manage membership for the groups that they own.
- jQuery will be bundled. jQuery, the popular AJAX framework is becoming nearly ubiquitous. Now Plone will ship with it bundled into the basic install. From this, I expect to see lots of little UI optimizations in the upcoming releases. Of course this will be balanced with Plone’s emphasis on accessibility.
- Improvements to the self registration system. Plone can be configured to allow users to register to the site and be put into a pending status or become full blown members. 4.0 will have some enhancements to fine tune these configurations with more sophisticated behavior.
- Better control over portlet visibility. Plone 4.0 will make is easier to configure rules that control when a portlet displays on page. For WordPress users, I think this is a little like Widget Logic. Drupal users will recognize this as part of the blocks framework. Hopefully, Plone will not ask the user to implement the display logic in code.
- New default theme Plone 4 is going to ship with a new default theme based on the newly redesigned plone.org site. This will affect intranet implementations (which tend to do less custom theming work) than external website implementations.
Those are the big changes from what I can tell but I am sure that I am leaving things out. Please add any major oversights in the comments.
Related posts:
- Get ready for Plone 3.0 The GA release of Plone 3.0 is right around...
- World Plone Day 2010 Mark your calendars, World Plone Day is on April...
- Plone Roadmap The Plone Blog just published links to a road...
- NiceEdit If you have a custom web application that does...
- Boston Plone Meetup Thursday, April 27, 7:00 PM If you live in the Boston area and you...


That’s a great summary, Seth!
One minor correction: we’ve actually been shipping jQuery since Plone 3.0, and we already use it for much of Plone’s built-in javascript. Plone 4 will add jQuery Tools, a popular extension that provides various lightweight UI effects (http://flowplayer.org/tools/index.html). This will give us a standard, supported “best practice” way to do things like tabs, overlays, Flash embedding, etc.
I also think that fact that we’re moving from Zope 2.10 to Zope 2.12, and thus now supporting Python 2.5/2.6 (instead of Python 2.4) is a pretty big deal, albeit not end-user-facing. It will make deployment much easier, because most systems now ship Python 2.5 or 2.6, and as a bonus, Plone will use nearly a third less RAM at startup, and should be quite a bit more RAM efficient under load.
Nice summary.
Some clarifications:
- jQuery has shipped with Plone for quite a while already, what is being proposed for Plone 4 is the add-on jQuery Tools, which adds standard ways of doing some common UI building blocks, like modal dialogs.
- This is a list of *proposed* features, and while we hope they all will go in, it always depends on the implementers and testers. Some of the proposals may be pushed to Plone 4.1 or Plone 5 if they don’t make it in time.
Plone 4 is an “ambitiously modest” release — it tries to fix some simple things, but quite a number of them. The larger changes are targeted for Plone 5.
Hi Seth,
You’re right that Plone 4 will be a less ambitious leap than Plone 3 was. The history behind it all is that we’d originally thought Plone 4 should be even *more* ambitious, but decided to bring some of the features and platform improvements forward, rebranding the more ambitious release Plone 5.
Also note that not all of those PLIPs may be ready in time for 4.0. Some of them may be delayed to a 4.1 or 4.2, as we’re very keen to see a release by the year’s end.
Finally, jQuery has shipped with and used by Plone since 3.1, but with 4.0, we are also proposing to ship jQuery Tools, a library of useful UI features.
Cheers,
Martin
Thanks for the clarification guys! I should have known about jQuery with all the dragging and dropping and field-by-field editing introduced in the 3.x series.
Good tutorial – very helpful! I made buildout quite similar to solution described in this blog post.
u want about further details then u can also read following blog:-
http://bygsoft.wordpress.com/2010/01/18/howto-argouml-and-archgenxml/