It’s great that there have been so many sessions focusing on these things as it demonstrates how seriously this stuff is being taken in Plone. Designers and integrators certainly have no need to feel like the poor cousins of the hardcore Python programmers and sys admins.
Here are some of the highlights so far:
1. TinyMCE
This is going to be used as the replacement page editor for Kupu in Plone 4 and upwards, although it’s also available to install as an add-on product in Plone 3.
This is great news as we’ve started to identify some serious usability problems with Kupu and we’re keen to get away from using the third-party commercial editor we’ve been using, Editon-Pro.
Whilst Editon-Pro is a great tool, its reliance on running in a Java Applet makes it slow, especially on older computers and it has no simple integration into the main Plone setup. The main advantage Kupu offered was its ability to insert links and images by browsing Plone’s folder structure and to allow users to upload images directly.
Unfortunately, Kupu doesn’t do many of the things that Editon-Pro does quite well, for instance handling page anchors. Kupu’s implementation of this is frankly baffling but TinyMCE’s handling is far closer to Editon-Pro’s and doesn’t require users to adjust their mental model (in Editon-Pro and TinyMCE users can insert their anchors; in Kupu users can only link to anchors which have been automatically created for them).
Another nice feature in TinyMCE is the paste from Word option which is something that Kupu doesn’t seem able to handle at all — Editon-Pro allowed users to “paste as plain text” which may have removed all formatting but at least it worked.
2. collective.xdv and Deliverance
Plone 3 theming is horrible. Just horrible I tell you! Luckily, this is a view shared with everyone else who has ever done Plone theming so two very similar new approaches have been developed: collective.xdv and Deliverance.
These both use rules-based theming to map sections of a Plone page to a custom-built HTML/CSS theme. In essence this means you create your own design and just display the bits of Plone you want in it (i.e. the content). The mapping is done via a XML rules file which in collective.xdv’s case needs to be created manually. For Deliverance these rules can also be created manually but there is also an exciting new project called Banjo (see what they did there?) which is a GUI for generating the rules and which also provides real-time previews of the integrated theme.
So, what’s the difference? In essence it appears that Deliverance is not just Plone-specific — it can be used to theme any third-party system whereas collective.xdv is completely Plone-specific. Xdv is a little easier to get started with as it’s integrated fully into the Plone architecture (as an add-on product) and Deliverance runs as a proxy on a webserver so has a higher installation / configuration overhead.
The good news is that they basically use the same syntax (statements such as “drop”, “replace” etc.) so it should be able to move easily between the two. However, xdv uses XPath to write rules (it’s XSLT-based) whereas Deliverance uses a slightly more designer-friendly CSS-style syntax.
3. Deco
Slightly confusingly there seem to two elements to Plones 4 and 5 called Deco. One is the basic grid layout CSS used for the new default Plone theme which is similar to other CSS layout tools such as 960.gs. The other part of the Deco framework is a drag-and-drop UI which allows content editors to add different elements to their pages without having to do complex things in the page editor.
From a UI perspective it’s a great approach, although the pessimist in me sees it could also be a recipe for some pretty horrendous looking pages.
4. jQuery tools
More UI loveliness –jQuery tools is a lightweight jQuery plugin which provides a lot of the functionality supplied by jQuery UI at a fraction of the download overhead.
In Plone 4+ this is used to provide some great UI controls such as login boxes in stay-on-the-page overlays and dialogues, tabs and carousels.
5. Dexterity
Dexterity is a replacement for Archetypes (Plone’s framework for creating content types) which can be installed as an add-on product for Plone 3. Whilst statements like that might usually make me run in horror, this is great news for a simple reason: it provides through the web content type creation, just as it should be. Basically, another great UI improvement — no more fiddling around with lots of Python code to create your content types.
So, overall there’s some great stuff here — many of the annoyances faced by designers and integrators have been addressed and it’s great to see such an emphasis put on usability.





