The Washtenaw County web presence, as of 2001, consisted of a collection of web fiefdoms. Each department had its own look, feel and consistency, which made moving from one department’s webpage to another’s a disjointed experience. In late 2001, organization leaders decided to adopt a content management system to create a consistent experience for their citizens and others who came to the website looking for an easy to use government portal. In doing so, the organization aimed to enhance customer service and provide necessary knowledge, skills and resources to county employees, all while reducing the cost of business. The answer ITS gave to this challenge was Zope and the Open Source Model.
Open Source software, software covered by the GPL (General Public License), is most well known for the initial price tag, often $0.00. This, however, is not the most valuable aspect to open source software. The zero initial cost is often offset by gathering the knowledge and expertise needed to configure and maintain the software. The true value open source software provides is the freedom to examine and modify the program to suit the specific needs of the organization. This freedom allows open source software to grow organically in multiple organizations, each improvement returning to the code base, strengthening future releases.
Open source software has five distinct advantages over closed source, or proprietary software.
The Washtenaw County web environment is built on Open Source technology. We run RedHat Linux 7.3 on three web servers, each providing a specific role in our web environment. The RedHat Linux is known for stability and security, and provides a high level of control and customization to meet our specific web publishing needs. We use Apache2 as a front end to our web environment, which delivers proxy and cache management. Apache is a standard in the web industry, and increases performance and scalability for our web presence. Washtenaw County currently planning to install or has installed the following Apache modules:
mod_proxy_connect
mod_proxy_http
mod_rewrite
mod_cgi
mod_proxy_ftp
mod_proxy
mod_ssl
mod_perl
mod_cache
usercache
mod_gzip
Zope is "an open source web application server primarily written in the Python programming language. It features a transactional object database which can store not only content and custom data, but also dynamic HTML templates, scripts, a search engine, and relational database (RDBMS) connections and code." (www.zope.org/WhatIsZope)
Zope is a content management system with a database back end that provides easy to publish content presentation tools. Zope is extremely scalable. A small business can download Zope with one of its many add ons and have a working website within a day. The Zope platform is used for larger, enterprise solutions for organizations such as the following:
One of the most powerful advantages to the Zope content management system is the ability to separate content from presentation. Raw content is stored in the ZODB (Zope Object DataBase). When the page is requested, Zope 'wraps' the content in a template that provides the look, feel and layout of the page. The result is a consistent look and feel that can be changed the site over from one place, or customized on a folder by folder basis.
Another major advantage of Zope is the dynamic presentation of content. News pages can be built automatically by Zope, which can be templated to harvest an abstract from the content of News Items across the website. Navigation can also be build dynamically, reducing the required maintenance while reducing the chance of creating broken links.
Zope has an integrated catalog for search. The catalog can track page content, along with page titles and keywords, and present that information back to the user quickly, automatically generating an abstract to present to the user.
Zope has a very advanced security model. Role-based security is used to assign different levels of security to those in different roles. the Zope security model is also layered, which allows a zope manager to change the security access different roles possess right down to the page level.
Multiple Zope clients can be attached to one Zope Database, and one Zope client can be connected to multiple ZODB's. This allows a multiple server/ multiple client model, each of which shares the same content, and drastically reduces the load any given client experiences. The result is faster loading pages and a more stable environment.
From an Information Architecture viewpoint, the more paths to information, the more likely that information will be found, and hence become useful. One way to leverage Zope to this end is the republishing of content. Content can be 'republished' to multiple places across a site, re-categorized and presented in varying organizational schemas. The result is a central content source that is easier to find, and always the most recent version of that page of content on the site.
Zope 2.7.0 is the latest stable version of Zope. Zope is the main platform upon which our web content management system is based. Zope requires a current version of Python (2.3). The newest version of Zope includes support for multiple clients and multiple databases build off of the same instance of source code, reducing the risk of outdated/mismatched code bases.Zope 2.7 is also more secure and stable than its predecessors.
BTreeFolder2 is a product that provides a 'Folderish' object that is capable of handling a much greater number of objects at the expense of ease of use. We use BTreeFolder2 to support our assets and pdf folders, each of which contain well over 1000 images or pdfs. We are currently examining integrating or replacing BTreeFolder2 with different Zope products that provide file system storage of files (outside of the database) such as FileSystemSite 1.3 or ExtFile and ExtImage, each of which allows the bulk of large files to exist outside the ZODB, getting rid of some bloat and increasing performance.
The eCentral Admin Product provides a Framework for Washtenaw County liaisons to administer the website. It reduces the number of choices the liaisons need to make, while leveraging automated content and templated presentation to take as much of the work load off of their shoulders as possible.
The eCentral Product was developed to replace the Zope CMF, a content management framework that proved to be more time consuming and more difficult than we desired. The decision to develop a home grown content management framework has had both advantages and disadvantages. Developing the eCentral product was more costly than most open source solutions, and since there is a very limited development base (currently the web development staff of Washtenaw County), we lose some of the benefits provided by other CMF's, which other developers the world over contribute easy to configure products and code. The advantage we've received from developing the eCentral CMF in-house is a content administration system that is honed to the specific needs of a government organization and the specific needs of our content liaisons.
We provide an easy to use interface that allows content liaisons to edit the page's title, the menu entry for the page (for local navigation and automated content) and the content itself. Our content administration system utilizes Zope Versioning for version control and pre-production content development. We use a rich text editor, Epoz, to give our liaisons a word processor-like tool to edit content. As a result, our liaisons can focus on gathering and presenting content instead of focusing on technical requirements and knowledge of html.