The component model consists of configurable content items. Cartridges expose these content items in a rendered format for the front-end application.
A content item is a map of properties or key-value pairs, where the key is a string representing the property name and the value may be any primitive type (including String, Boolean, List, and Map) or another content item. This allows for content items to be nested within other content items, forming a content tree that represents the structure of a Web page and all its components.
There are generally two kinds of content items within an application:
Container content items are primarily structural components. They define the logical (and sometimes physical) structure of the content to be rendered by an application. The top-level container typically represents a Web page with sections that can contain other content items (leaf content items or, occasionally, other containers). In a Web application, these sections may correspond to areas on the page with certain assumptions about layout and rendering. In other applications, they may represent logical groupings of related components.
Leaf content items are typically functional components. They contain information about content to be displayed in the application, and typically encapsulate the configuration for a particular feature, such as a Guided Navigation component, spotlight, or results list. Leaf content items are also referred to as cartridges.
A page may contain cartridges directly (in which case the configuration for the cartridges is triggered along with the page) or the page can contain a dynamic slot, which serves as a placeholder for cartridges that can be triggered independently of the page in which they display.