Zope as a Content Management tool
- Sanat Gersappa
Enterprises today have lot of content to deal with. This includes information
generated by different departments, divisions and research facilities,
corporate policies and procedures, product overviews and presentations,
press releases, etc.
A good content management system must make it possible for teams or individuals
in varied roles to collaboratively add, edit and delete content. Some
of the basic functionalities that cover this are - role based security
schemes, content syndication, catalogs, indexing, searching, and workflow.
Zope is a Web Application Server (written primarily in Python)
that can be used to publish "objects" on the web. These objects
can be plain text, structured content or anything else that can be put
on the web. Zope is an open source application and is free to use.
Zope stands for "Z Object Publishing Environment". It
provides an excellent framework for developing web applications, but particularly
excels at content management.
Zope extends its basic functionality through "products".
A "product" is a collection of Zope classes that work together
to provide some functionality. Zope can also be extended through Python/Perl
The Content Management Framework (CMF) product from Zope Corporation performs
these functions quite admirably. In fact CMF is on its way to being the
basis for the next version of Zope (to be released shortly).
The original name of the CMF was the Portal ToolKit (PTK). Its original
idea was to ease the implementation of web based portals where visitors
could browse anonymously or register as members. Members could log in
and submit content for approval and publication. This content could include
html files, binary files, images, notes, etc.
A working demo of the CMF can be seen at the CMF site itself - http://cmf.zope.org/
You can sign up, become a member and create your own micro site.
InstallationZope CMF is easy to install. Just copy the product files
to the "Products" directory under your Zope installation and
restart the server. This creates some new object types in your Zope Management
Interface. The CMF implementation exists as a "CMF Site" object.
Any object under a CMF Site object can use the CMF services. Some of the
services the CMF offers are:
Membership services - Users can create and manage their own accountsCataloging
& Indexing - All content can be made searchableDiscussions - All content
can be made user-discussable
In addition to this, CMF also provides a built in workflow framework.
You can extend the default workflow by using other products like DCWorkflow
or OpenFlow, which allow you to build really complex workflows. Of course,
if you know Python programming, you could build a highly customized solution.
You can start by creating a master site object. Your site now has an empty
user folder, some basic skins and defaults for registrations, catalogs,
search and workflow. Users can create their own accounts, browse and log
in to manage content.
- DTML/ZPT documents
- News Items
Additional structured content types can also be added.
The site administrator or individual users can use different "skins"
for their site. The skin chosen affects the overall look and feel and
also the way in which the content is displayed. You can either use the
default skins provided or use third party skins. A very popular skin can
be found at http://plone.org .
Installing plone takes some work, but the effort is worth it. Plone screens
look a lot more appealing than the default CMF screens. If you are the
adventurous type, you can also create your own CMF skin.
There are many companies that are developing products that extend CMF.
Since Zope is also a general Web Application Server, CMF can be extended
to provide other functionalities integrated with content management. This
needs skills in the Python programming language. Python however, is an
elegant, easy to learn and powerful language. (See http://www.python.org/)
CMF is becoming increasingly popular as enterprises look for low cost
content management systems that provide the required flexibility. In fact
Zope is being re-architected around the CMF framework, so the next version
of Zope (Zope 3) will have a seamless CMF functionality as a part of its
core. While Zope does take a little learning to get started initially,
the time spent is worth the effort. In fact, many developers who get started
with Zope, do not want to go back to any other development platform. Zope
definitely shows a lot of promise in the distributed applications future.
Further readings & references:
- Zope Home Page
- Zope Corporation
- Zope Content Management Framework
- Plone - A 3rd party Zope CMF Skin
- Python - An object oriented programming
Surviving the content
A static HTML page required only a Web master and no one else to
maintain the site. But, today, with content on a web site being
updated everyday and millions of authors writing content and equally
large number of resources designing content, a content management
solution is a prerequisite.