Introduction to the CMS Developer Guide

Red Hat CMS is a content management system (CMS) written in Java® and built on the Red Hat Web Application Framework (WAF). WAF is a platform for writing database-backed web applications. Red Hat CMS utilizes the WAF APIs and services to store content and binary objects in an RDBMS, version control, search through, and retrieve the data to display as content with granular permission control.

The purpose of this guide is to assist developers who are working with the CMS to understand and extend the concepts and code to achieve their enterprise content management goals. We begin with a number of important CMS concepts in Part I CMS Concepts. This is followed with tutorials presented in Part II CMS Tutorials to assist developers in understanding and implementing key features of the CMS.

Please enjoy this guide and report any bugs with the documentation to http://bugzilla.redhat.com/. Report using the unique component name for this guide:

rhea-dg-cms-en(EN)-6.1-HTML-RHI (2004-03-25T04:20-0800)

1. Assumptions About CMS Developers

This manual assumes that the reader is familiar with the Java programming language, HTML, and relational databases. Familiarity with the J2EE Servlet and JSP specifications, XML, and XSLT are also helpful. An understanding of the UML and basic object-relational mapping concepts will help the reader understand the persistence system.

The reader is also expected to be familiar with the CMS user interface. In addition to hands on experience with the UI, developers should be familiar with the Red Hat Content Management System Administrator Guide.

Access to the source code is not only a fundamental right of open source software, it's an essential part of your toolkit for understanding and developing in the CMS. You should refer to the full Red Hat CMS source tree as you are working through this guide.

Finally, a strong understanding of the WAF is essential. In addition to the source code, you will find the Red Hat Web Application Framework Developer Guide a useful source for information and tutorials.