WCMS - Key concepts and features

It enables the customer to manage pages and content of multichannel-websites like banners, text, images, product carousels and other components. Marketing campaigns may be integrated in the website by setting the conditions for the visibility of components and pages.

Key Concepts

  • CMS Component: A piece of content in a page. It may be directly rendered or used by its container to render a complex view like a javascript slider.
  • Slot: Area in the page to render a group of components
  • Restrictions: Conditions which hide or show a CMS component
  • Page Template: Defines the number and name of slots of a page. It may contain slots with prefilled components. These components are shared between all the pages which use this template.
    • While it defines the slots, it doesn't define a layout or design. However they can be used to switch between different page layouts.
    • In other words, there isn't any JSP associated to the page template. Each page has a JSP and all the JSPs of the pages belonging to a template could have the same layout.
    • The final positioning of the slots on the page is done in the JSP of the page.
  • By default there are two content catalog versions: online and staged
  • Content Catalog: Contains pages, page templates, content slots, restrictions and components. They are assigned to one or many CMS Sites.
  • Synchronization: Updating one or more target catalog version with the content a source catalog version
  • Navigation Node: It is a page, url or media which could be directly accessed by the visitors of your website. FIXME Why a navigation node can be linked to many content pages?
  • Component Type Group: Set of components types allowed in a content slot
  • Roles
    • CMS Designer: creates pages and manages content
    • CMS Content Manager: approves the content created by the CMS designers and writes the translations
    • CMS Publisher: approves the content approved and the translations created by the CMS content manager. Sends the content to the online catalog version (publishing).
    • Each role has a list of tasks
  • Customization levels
    • Easy: Use XML configuration and user groups to change the appearance of the cockpit
    • Medium: Based on the existing CMS cockpit. Add an editor, custom section or column in the editors, add a perspective or customize the storing mechanism
    • Expert: Uses the cockpit independently of the CMS cockpit. Customize the type service, implement a new perspective which customizes all the areas, new wizard type, new cockpit application, customize the PDF preview or the fallback mechanism

Key Features

  • Supports different types of content
    • dynamic: depends on the context
    • static content: The same for every customer
    • structured: e.g. product data
    • unstructured: e.g. buying guides

The following section refers to the WCMS Cockpit. This extension will be replaced by SmartEdit and is deprecated since SAP Hybris 6.7. SmartEdit will support the old features and new ones.

  • Cockpit
    • Perspectives:
      • Live Edit: Enables to browse the website, preview the last changes and edit the content on the fly
        • A preview context with a user, usergroup, fake time, a language may be used to preview the site and test restrictions
        • This information is passed in the url to the frontend. The CMSSiteFilter gets the id of the previewTicket and loads the data.
        • The cms:body and cms:element JSP tags contain javascript code to enable the live edit.
      • WCMS Page View (Catalog Perspective): Enables the advance configuration of the pages and components
        • A website may be cloned by using the personalization tool.
      • Navigation: Manage navigation nodes
    • Synchronization of a single page or component
    • Pages and slots can be locked for editing
    • Blacklist: List of pages or customer segments which are blocked and they cannot be accessed. To add an element to the blacklist, just drag and drop it there.
    • Query box
      • Quick Collection: It is a set of elements which is stored in the session of the current user. It is like a clipboard for collections.
      • Named Collections
    • Wizards for the creation or selection of items. They may have decision, mandatory, reference and type selector pages.
  • Deep linking of products, pages, categories, etc. using custom URLs.
  • Based on the following extensions:
    • cms2
    • cms2lib: Reusable components. Out-of-the box comes with the banner, product detail, product list and rotating image components.
    • cmscockpit1)
  • Content slots can be assigned to a page template. All the pages using this template will get the prefilled components.

CMS Restrictions

  • They control the visibility from components and pages.
  • Hybris comes out-of-box with the following restrictions: Product, Time, User, Catalog, Category and Usergroup.
  • To add a restriction to a component, you have to go to the visibility context section of the editor area and add a new instance of any of the above restrictions.
  • The accelerator includes an additonal restriction, the storefront experience restriction, which enables to set the visibility for mobile devices or desktop computers.
  • The BTG extension defines a Customer Segment Restriction
  • Each pageType have a list of restrictions types which are applicable to it.

Evaluation of Restrictions

The restriction are evaluatedduring the rendering of the CMS tags by the method DefaultCMSPageSlotComponentService.getCMSComponentsForContentSlot(..) and flattenComponentContainerHierarchy(..) which only return visible components.

Data Model

  • All the CMS Types extend from CMSItem or CMSRelation. Both superclasses are content catalog aware.
  • A page, component, slot or template can be used in many CMS Sites. They would be assigned to the same content catalog and this catalog is shared among many CMS Sites.

Futher Reading


  • The popup editor can't open another popup. This means that you if you have a complex tree of components, the editors in the WCMS cockpit support four levels of components (slot, component container in the component editor, child component in the component editor, another component in popup editor).
  • Page templates are created in HMC
  • To change the usage of the attributes name and uid is a difficult and long task because of the way the wizards use them.

–Based on SAP Hybris 1905

Deprecated since SAP Hybris 6.7


Enter your comment. Wiki syntax is allowed: