Book Image

Building Websites with OpenCms

Book Image

Building Websites with OpenCms

Overview of this book

This book takes you through the process of creating content-rich websites and applications using OpenCms. Although powerful and flexible, OpenCms can be daunting on first approach, but its advanced features reward the investment in learning. This book exists to ease Java developers into getting the most from OpenCms. OpenCms OpenCms is a professional-level, open source Website Content Management System, with which you can create and manage complex websites. Based on Java and XML technology, it fits into almost any modern IT environment. With hard-won experience of the practical difficulties faced by developers working with OpenCms, this book is the embodiment of the author's expertise, and the perfect way to master the system.
Table of Contents (12 chapters)
Building Websites with OpenCms
Credits
About the Author
Introduction

What Is a Content Management System?


The exact definition of a CMS is somewhat slippery, as the range of CMS systems is broad and the functionalities of each differ markedly. At the core, however, a content management system provides a framework for creating, managing, and publishing documents and texts. In more practical terms, a content management system handles the process of creating and maintaining a collection (large or small) of documents.

While CMS systems in general deal with a wide variety of types of collections, ranging from memos to marketing material, web-based collections are the most high profile. To that end, many CMS systems, including OpenCms, focus on web-based management (also called Web Content Management or WCM) and delivery of content.

Three Essential Components

There are three essential components to an enterprise-class CMS:

  • Editorial workflow

  • Publishing

  • Versioning

Editorial workflow refers to the process of preparing a piece of content for production. In the simplest case, this may simply involve one person writing a document, proofing it, and perhaps also revising it. However, in a larger context, the process may involve multiple authors writing content that is then edited by a team of editors and producers. A manager may assign a topic to an individual author who then writes a document. Once the author is done with the document, a team of editors reviews and corrects it, occasionally handing it back to the author for revision. Once this iterative process is complete, the editors submit the document to a producer, who makes decisions about whether the content is to be distributed, and if so, when. A good CMS must handle both the simple and the complex cases of editing. Once a document is written, it must be published.

Publishing is the next step in the life of the document. Publishing the document makes it accessible to potential readers. Some collections of content, such as the numerous chapters in a manual, are all published together. Other content, such as a news article or a press release, may be published on its own without requiring simultaneous publishing of other material. Sometimes images need to be published along with a particular document. Sometimes the document may require a certain amount of dynamic information (such as stock quotes or live images) to be incorporated. All of these possibilities mandate an effective publishing mechanism. A document's life cycle is not complete once it's published—it now enters version control.

Versioning becomes important once a document has been published. Authors and editors may make corrections or add updated information, and these changes may require their own editorial cycle before they can be published. Changes to the document should not be immediately incorporated into the published version, but must remain in the editorial stage while the currently published version remains available. Even after the changes are published, circumstances may require that the update be 'backed out' and the prior version restored. This process of revising and updating a document while preserving a record of changes is called versioning.