Content Management System | ||
---|---|---|
Prev | Chapter 3. Developer's guide |
by Karl Goldstein
This document lays out the requirements for a content management system (CMS). A CMS is a client application that allows non-technical members of a web site publishing team to create, manage and deploy all types of content using a single consistent interface.
Rich content exerts a powerful draw on web users, and is a key asset for most high-profile sites. Most corporate web sites are supported by a publishing team that may include authors, editors, designers, developers and managers. The CMS should improve the productivity of all members of the publishing team by allowing them to accomplish their respective tasks without the need for regular developer intervention. It should also maximize the quality and accessibility of content by allowing publishers to enforce standard production workflows, as well as by providing publishers with effective tools for organizing, categorizing and scheduling content.
The basic functions provided by the CMS include:
Content workflow management
Content data entry and upload interface
Version control
Template management
Scheduled and manual deployment of content to public server(s)
Classification and linking of content items
Site organization tools
The CMS has the following dependencies:
Oracle 8.1.6 or higher.
AOLserver 3.0 or higher (ArsDigita distribution).
ArsDigita templating and form builder API (Tcl).
ACS 4.x kernel data model and stored procedure API.
ACS 4.x workflow data model and stored procedure API.
ACS 4.x content repository data model and stored procedure API.
The CMS has the following general classes of users:
Authors have the ability to browse content and perform data entry in particular sections of the site map. Their access to administrative portions of the application is limited.
Managers have administrative access that may be limited to a particular section of the site map.
Administrators have full access to all functions of the system. They may manage users and departments, determine access levels to all parts of the site, manage content type definitions, and override the settings and actions of other users.
Content management is a critical battleground in the enterprise software arena. Companies including Broadvision, Vignette, Blue Martini, OpenMarket/FutureTense, Interwoven and Allaire all offer highly polished, heavily marketed solutions, all of which are expensive and proprietary. Zope is a widely recognized open-source alternative, but it lacks a formal content management interface and is further constrained by scalability issues.
The CMS has two key advantages that together provide an advantage over the competition:
It is open-source and easy to extend or customize to meet a particular client's needs.
It is built on a highly scalable architecture (Oracle).
Design document
Developer's guide
User's guide
Test plan
Competitive system(s)
The data model and data manipulation requirements for CMS are largely met by the ACS 4.0 foundation on which it is constructed:
The ACS Kernel package provides a generic persistence mechanism for typed objects, along with access control and logging.
The ACS Workflow package provides a flexible engine for defining and managing workflows.
The ACS Content Repository provides storage and methods for manipulating content data and attributes.
The additional database-level requirements for the CMS are solely related to storing and managing additional information associated with the user interface:
10.10 Form Metadata
The ACS Templating package provides a general foundation for the CMS User Interface API, simplifying the task of customizing and extending the standard user interface. Some additional requirements are specific to the CMS.
20.10 Form Generation
20.20 Form Generation
20.30 Form Processing
20.40 Content Retrieval
20.50 Content Publishing