Skip to content. Skip to navigation

Guide CMS

Plone

by Guy Vigneault last modified 2008-05-01 22:42
Keywords: Plone

Plone

Logo PlonePlone is the most popular of the Zope-based content management systems and enjoys a large community of developers and users. While Plone is used for many purposes (everything from commercial identity websites to team workspaces) it has decent capabilities as a document management system. The one key limitation of Plone as a pure document management system is its weakness in versioning. For many use cases, this limitation may rule out Plone. However, in cases where versioning is not critical, Plone's other strengths may compensate. The Plone community puts a great deal of emphasis on the design of the user interface. Most new releases have features that enhance usability. Still, as a pure document management system, Plone might seem too feature rich and complicated. Unless these other features will be leveraged, a simpler solution that has versioning might be preferable.

ARCHITECTURE

Plone is built on the Zope Content Management Framework (CMF) platform, which provides many of the core document features such as storage, access control, and workflow. The Plone layer provides mostly user interface oriented functionality and a framework for integrating additional add-on modules. All content is stored in the ZODB unless an add-on component such as ExternalStorage is used. Otherwise, large files tend to bloat the ZODB and make it unnecessarily large. While the ZODB is relatively closed to external applications, Zope supports several ways to access content through the application layer: WebDAV, FTP, and the ability to implement XML-RPC based APIs.

Following the latest trend in Plone development, they are starting to leverage new architectural concepts introduced in Zope 3 - a total rewrite of the Version 2 which Plone was written on. The Five Project allows Zope 3'€™s new features to be available on a Zope 2 server and several Plone add-ons are starting to take advantage of their availability.

CREATE AND STORE

Content can be added to a Plone site via the web client, FTP, or WebDAV. Plone comes with a component called ExternalEditor which allows any locally installed editor (MS Word, Adobe InDesign, etc.) to send updates to an asset in Plone on every save. However, this feature requires the installation of the Python runtime and a small program on the workstation. Enfold Systems (employer of Plone co-founder Alan Runyan and several other key Plone developers) also produces a commercial product called Plone Desktop, which gives a file explorer-like interface to a Plone server and enables features like drag and drop and access to Plone metadata. The Microsoft Office Suite'€™s strong support for WebDAV makes it easy to open and update a document directly through WebDAV.

By default, there is strong metadata support and new metadata attributes and validation rules can easily be added. Thanks to Zope's acquisition model, which causes assets to acquire information and capabilities of parent folders, metadata assigned at higher levels can trickle down reducing the need for metadata entry and access control assignment.

Versioning is not supported by the core Plone application and it is not projected to be included in any new releases in the immediate future. Right now, the best alternative is an add-on product called CMFEditions, which handles the basics adequately but has a limited user interface that requires the users to manually create a new version rather than automatically create one every time a new version is uploaded into the system. CMFEditions is still in Alpha and not recommended for production deployments although several production systems do use it.

ORGANIZING AND COLLABORATION

While Plone content is organized in folders, Plone allows the creation of query based collections called "€œSmart Folders."€ Smart folders create the opportunity for assets to appear in multiple places on the site and eliminating the need for redundancy. Add-on products can also utilize Smart Folders to deliver functionality such as rule based RSS feeds. Direct references can be achieved through the "€œlink" content type.

Because of its roots as a web content management system, Plone has a robust workflow system that manages an asset'€™s state and can trigger events when the state changes. Out of the box, Plone is set up with states for private (where only the owner can view it), public draft (where only authenticated users can see it) and public (readable to anonymous users). States and visibility rules can be configured through the Zope Management Interface (ZMI).

Plone has a commenting feature that allows users to post notes about a document in the system. Commenting can be globally enabled/disabled and overridden at the asset level. Plone’s lack of a strong event model makes adding functionality like automatically emailing an individual or group when an asset is added to a folder difficult to do. However, workflow transitions can trigger this kind of logic.

SEARCH & ACCESS

Zope'€™s folder based architecture ensures that all assets within a Plone sites have readable and navigable URLs that reflect the organization of the site. With the addition of a couple of add-on modules, Plone can full text index most popular file types including all of the Microsoft Office Suite, Open Office, and PDF. With the latest version, Plone added an AJAX based LiveSearch feature which is similar to Google Suggest. WebDAV and FTP support make the Plone repository through familiar tools such as Windows Explorer.

Access is controlled through Plone'€™s role based security model, which can be applied at the individual document or folder level. Acquisition allows access control policies to trickle down to sub folders unless overridden. Plone comes with roles for Owner, Manager, Reviewer, and Member and more can be added through the administrative interface. Users can share folders and content directly with other users and groups.

The Plone project is committed to supporting accessibility standards and passes ADA Section 508 and the W3C AA standards. Plone also is valid against the XHTML 1.0 specification.

USABILITY

Most users find the out-of-the-box Plone interface attractive and intuitive. The Plone interface works elegantly with multiple content types (documents, pages, news items, etc.) but also works for just documents (or files in Plone'€™s terminology).

The new LiveSearch feature is helpful and there are plans to add more AJAX based functionality (as long as they do not violate accessibility standards) in future releases.

COMMUNITY AND RESSOURCES

The Plone community is extremely large and prolific in the development of the core application, add-on modules, and documentation. A couple of times a year, the Plone community organizes "€œsprints"€ where Plone developers from all over the world convene for an intensive 3-5 day programming effort to add new functionality. There are several excellent books on using and extending Plone and the mailing lists get heavy traffic with questions and answers.