diff --git a/docs/cms/developers/components/index.md b/docs/cms/developers/components/index.md index ca4ea633..ac12a9e6 100644 --- a/docs/cms/developers/components/index.md +++ b/docs/cms/developers/components/index.md @@ -198,25 +198,31 @@ Use the following resource properties to define the component: - isLayout + isBuildingBlock No boolean, false by default - Defines the component as a layout component. - Layout components are displayed in a separate section in the WebSight CMS pages editor from components that are not layout components.

+ Defines the component as a building block component. + Building block components are displayed in a separate section in the WebSight CMS pages editor from components that are not building block components.

- It’s up to the component developer to set isLayout=true, but the guideline is to use it for components that:
- - are used to define page layout
- - must contain other components to be usable
+ It’s up to the component developer to set isBuildingBlock=true, but the guideline is to use it for components that:
+ - are used to speed up page content creation process
+ - create components instances allowing to set the content in specific layout and initial setup
+ - must use other components to be usable
- contain no logic (other than logic related to layout calculation)
- - interact only on page resize (no other “user actions” allowed)
+ - interact only on page resize (no other “user actions” allowed)
- have no visible UI elements (like texts)

- Examples of Layouts:
- - 2-column container
- - 1-column container
- - Section with title, image, text and CTA (container including components)

- - Example of components that are not Layouts:
+ Name of the building block should be describing the usage, like 'Hero section' for container including texts, images, etc dedicated to be used at the top section of the page.
+ To implement a building block component use the instanceResourceType component definition property and define the component template. + The building block component should not provide it own rendering script or dialog.

+ + Examples of building block:
+ - containers including texts, images, etc dedicated to be used at the top section of the page
+ - container including title and containers for 4 columns with title + RTE in each
+ - Section with title, image, text and CTA (container including components)
+ + Example of components that are not building blocks:
+ - 2-columns, 3-columns, empty section, empty containers setup, etc - containers and sections should contain components allowing to set content to be useful building block - components like that which are also using instanceResourceType component definition and define the component template, without own rendering script should not be marked as building block and should be present in Editor components section
- image, title or CTA, all of which have visible UI elements (like texts)
- logo cloud, which contain very specific CSS logic and should not be used to create generic page layouts)
- Accordion, which contains logic not related to layout calculation