meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sap_hybris_commerce:cms_cockpit_wcms:wcms-key-concepts-and-features [2019/08/27 10:15] – [Key Features] Antonio Robirosasap_hybris_commerce:cms_cockpit_wcms:wcms-key-concepts-and-features [2020/02/11 20:25] (current) – [Key features of smartEdit] Antonio Robirosa
Line 1: Line 1:
-====== WCMS - Key concepts and features ======+====== WCMS and SmartEdit - 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. 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 =====+<WRAP center round important 100%> 
 +SmartEdit fully replaced the WCMS Cockpit((deprecated since hybris 6.7)) since SAP hybris 1905. [[https://help.sap.com/viewer/86dd1373053a4c2da8f9885cc9fbe55d/1905/en-US/c554253f5c8b4ead95f3fe76882003b6.html|SmartEdit Feature Parity vs. WCMS cockpit.]] compares the features of both modules. The underlying key concepts (pages, templates, slots, slots for pages, components) and hybris types are the same. 
 +</WRAP> 
 + 
 + 
 +===== Key CMS 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.+    * **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     * **Slot:** Area in the page to render a group of components
     * **Restrictions:** Conditions which hide or show a CMS component     * **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.+    * **Page Template:** Defines the number and name of slots of a page. It may contain slots with pre-filled 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.         * 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.**         * 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.**         * **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** +    * By default there are two content catalogue versions: **online** and **staged** 
-    * **Content Catalog:** Contains pages, page templates, content slots, restrictions and components. They are assigned to one or many CMS Sites. +    * **Content Catalogue:** 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 +    * **Synchronization:** Updating one or more target catalogue version with the content a source catalogue 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?+    * **Navigation Node:** It is a page, url or media which could be directly accessed by the visitors of your website. 
     * **Component Type Group:** Set of components types allowed in a content slot     * **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 =====+==== Data Model ==== 
 +    * [[https://help.sap.com/viewer/86dd1373053a4c2da8f9885cc9fbe55d/1905/en-US/8b7cdc55866910149b09c285e4c2b1ed.html?q=cms2%20-%20Data%20Model%20Overview|Good explanation of the data model of the WCMS]] 
 +    * 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 catalogue and this catalogue is shared among many CMS Sites. 
 + 
 +===== Key CMS Features =====
     * Supports different types of content     * Supports different types of content
           * **dynamic**: depends on the context           * **dynamic**: depends on the context
Line 34: Line 34:
           * **structured**: e.g. product data           * **structured**: e.g. product data
           * **unstructured**: e.g. buying guides           * **unstructured**: e.g. buying guides
- 
- 
-<WRAP center round important 100%> 
-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. 
-</WRAP> 
-    * **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 
-                * **Customer Segments:** Part of the [[sap_hybris_commerce:advanced_personalization_concepts_features|Advanced Personalization module. Please read here for the details]] 
-          * **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.     * **Deep linking** of products, pages, categories, etc. using custom URLs.
     * Based on the following extensions:     * Based on the following extensions:
-          * **cms2** +          * cms2: Core hybris types of the WCMS 
-          * **cms2lib**: Reusable components. Out-of-the box comes with the banner, product detail, product list and rotating image components. +          * cms2lib: Reusable components. Out-of-the box comes with the banner, product detail, product list and rotating image components. 
-          * **cmscockpit**((Deprecated since SAP Hybris 6.7)) +          * cmsbackoffice: Backoffice configuration of the hybris types 
-    **Content slots can be assigned to a page template.** All the pages using this template will get the prefilled components.+          cmsfacades: Synchronization, versioning, permissions and media search services and facades 
 +          cmsoccaddon: Provides a REST API to query page and component information. It should be used by the frontend
 +          cmswebservices: Provides a REST API to query and manipulate content catalogue versions, CMS components, CMS medias, navigation nodes, languages of the websites, page, page types, content slots, CMS restrictions and synchronize CMS items. This REST API must be used to access the CMS data from other systems. 
 +          previewwebservices: Used by the Live Preview to send the preview parameters to the frontend
 ===== CMS Restrictions ===== ===== CMS Restrictions =====
     * They control the **visibility** from components and pages.     * They control the **visibility** from components and pages.
-    * Hybris comes out-of-box with the following restrictions: Product, Time, User, Catalog, Category and Usergroup.+    * Hybris comes out-of-box with the following restrictions: Product, Time, User, Catalogue, 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.     * 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 accelerator includes an additional 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**     * The BTG extension defines a **Customer Segment Restriction**
     * Each pageType have a list of restrictions types which are applicable to it.     * Each pageType have a list of restrictions types which are applicable to it.
 ==== Evaluation of Restrictions ==== ==== Evaluation of Restrictions ====
-The restriction are evaluatedduring the rendering of the CMS tags by the method+The restriction are evaluated during the rendering of the CMS tags by the method
 DefaultCMSPageSlotComponentService.getCMSComponentsForContentSlot(..) and DefaultCMSPageSlotComponentService.getCMSComponentsForContentSlot(..) and
 flattenComponentContainerHierarchy(..) which only return visible components. flattenComponentContainerHierarchy(..) which only return visible components.
-==== Data Model ==== + 
-    * [[https://help.sap.com/viewer/86dd1373053a4c2da8f9885cc9fbe55d/1905/en-US/8b7cdc55866910149b09c285e4c2b1ed.html?q=cms2%20-%20Data%20Model%20Overview|Good explanation of the data model of the WCMS]] +===== Key features of smartEdit ===
-    * All the CMS Types extend from **CMSItem or CMSRelation**. Both superclasses are content catalog aware. +{{ :sap_hybris_commerce:cms_cockpit_wcms:smarteditpreviewparameters.png?nolink| Live preview parameters}} 
-    * A pagecomponentslot 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+    * [[https://help.sap.com/viewer/86dd1373053a4c2da8f9885cc9fbe55d/1905/en-US/6fd6968e127f4acdba68eaac672e18fa.html|Edition modes]] with different degrees of freedom to change components and slots 
-===== Futher Reading ===== +    * **Pages and Storefront** 
-[[https://help.sap.com/viewer/86dd1373053a4c2da8f9885cc9fbe55d/6.1.0.0/en-US/8b7d33bf86691014adecba3761464afb.html?q=cms2%20extension%20tutorial|Steps to create a CMS website]]+       * In-place WYSIWYG editing of pages and components 
 +       * Versioning of pages 
 +       * Synchronization of pages and management of the edit status of pages 
 +       * A preview context with a content catalogue versiona languagean arbitrary time and product catalogue may be used to preview the site and test restrictions  
 +          * This information is passed in the url to the frontendThe CMSSiteFilter gets the id of the previewTicket and loads the data. 
 +          * The frontend must implement the [[https://help.sap.com/viewer/86dd1373053a4c2da8f9885cc9fbe55d/1905/en-US/622cebcb444b42e18de2147775430b9d.html|SmartEdit Contract for Storefronts]] 
 +    * **Navigation**: Manage navigation nodes 
 +    * Use of workflows to guide the edition and approval of those changes 
 + 
 + 
 + 
 +===== Further Reading ===== 
 +[[https://help.sap.com/viewer/86dd1373053a4c2da8f9885cc9fbe55d/6.1.0.0/en-US/8b7d33bf86691014adecba3761464afb.html?q=cms2%20extension%20tutorial|Steps to create a CMS website]] \\ 
 +[[sap_hybris_commerce:cms_cockpit_wcms:steps_to_create_a_cms_component|Steps to create a cms component]] \\ 
 +[[https://help.sap.com/viewer/4c33bf189ab9409e84e589295c36d96e/1905/en-US/8af9f8dc86691014b3e09a6aeb4664ec.html|WCMS Integration in the accelerators]] \\ 
 +[[https://help.sap.com/viewer/4c33bf189ab9409e84e589295c36d96e/1905/en-US/8ace75c786691014a5e9dcafa29d5410.html|Customizing the Accelerator with extgen and modulegen]] \\
 ===== Pitfalls ===== ===== Pitfalls =====
-    * **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 must be created in the backoffice cockpit or using Impex
-    * 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.     * To change the usage of the attributes name and uid is a difficult and long task because of the way the wizards use them.
 +
 +==== SmartEdit =====
 +    * There currently no way to synchronize the navigation nodes inside SmartEdit (with SAP hybris 1905)
 +    * Wizards for for the creation or selection of items with decision, mandatory, reference and type selector pages can't be created. This was a feature of the deprecated WCMS cockpit.
 +
 +
 +==== Deprecated WCMS cockpit ====
 +    * **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). \\
 +FIXME Test this case on SmartEdit
  
 --Based on SAP Hybris 1905 --Based on SAP Hybris 1905