What's New in Plone 2.0 - For Developers
What's New in Plone 2.0 - continued.
Pluggable prefs panels
The new Preference panels are pluggable, and allow you to add your own product-centric control panels both as global (site manager) prefs, and per-user prefs.
Views and Actions on objects
Content Views now have actions that can be attached to them, Zope3-style. This allows you to have the equivalent of a tool bar button (and/or icon) on any content object to perform actions on the item.
Experimental FactoryTool support
To avoid empty objects when aborting content creation mid-way, there's an experimental workaround that fixes the broken CMF implementation of this. To enable it, enter the ZMI and check the content types you want to use the new improved adding mechanism in the portal_factory tool.
ActionIcons
Actions can now have a purely icon-based representation. This allows you to represent an action with an icon (and/or text) instead of just text, like earlier.
Plone is now a Plone Site object
This makes it easier for add-on products to test on the meta_type if they are installing into a Plone or a CMF site, and perform specialized install actions based on the portal type.
Unit Testing Framework
Plone now ships with a proper unit testing framework, and ships with 350 unit tests to verify that Plone works correctly.
New FormController
The validation and redirection framework for forms has been totally rewritten, and is much improved from the one in 1.0. The new way of doing site validation is much easier to work with, more secure, and allows you to customize validators on a per-site basis in the ZODB — just like when customizing templates.
browserDefault support
Added support for defining your own default pages in any folder. Implemented via browserDefault. The way it works is:
- if there's a property
default_page(must be lines) on the folder will use that (normal acquistion applies) - if not found, use site_properties
- if not found, use index_html
- if not found, use default action
Look in portal_properties/site_properties for an example. This kind of statement can be put in any folder.
Large Plone Folder (BTree-based)
There's now a BTree-based folder included with Plone for containers requiring the capability to handle millions of objects. It's called 'Large Plone Folder', and can be enabled from the Types Tool.
global_defines
Plone now has most of its useful variables collected in one location, making it easier to look up what elements are available, and to avoid unnecessary declarations in the templates. Look in plone_templates/global_defines for the list.
Download and more developer information
Head over to our download section to download the latest release of Plone, or read a more complete list for developers here.