Chapter 1. High-Level Concepts

The Content Management System is an application built on top of WAF, making use of WAF APIs for fundamental application services such as dispatching content, styling/templating infrastructure for presentation of content, and data/domain-level services such as searching, versioning, and auditing.

Actual content is stored in the database using the WAF persistence infrastructure, and Content Item business logic is built on top of the WAF domain-level infrastructure. Site content and CMS application instances use higher-level WAF APIs and services such as auditing, versioning, categorization, search, notification, and workflow.

This chapter discusses the concepts of the CMS as they would interest a developer. For a more in-depth view of the UI side of the CMS, the Red Hat Content Management System Administrator Guide focuses on application features.

1.1. Content Sections

The Content Section is the highest organizational level of a CMS installation. Each Content Section is a separate mounted CMS instance with its own primary URL. By default there are two Content Sections created: The Content Content Section is mounted at the URL /ccm/content, and the Forms Content Section is mounted at /ccm/forms.

Each Content Section has its own folder hierarchy, workflows, lifecycles, roles, templates, and permissions. Each section has its own list of registered content types. Categories may be shared across all Content Sections, or set up on a per-section basis.

Content Sections are created via com.arsdigita.cms.installer.SectionInitializer, which is configured in the CMS enterprise.init file. The SectionInitializer specifies one-time data loading parameters for the section name (URL stub), roles, and categories. A separate SectionInitializer section is required for each Content Section registered.