diff --git a/vuepress/docs/next/docs/curate/bundle-component-details.md b/vuepress/docs/next/docs/curate/bundle-component-details.md index 1230763f21..4857dc959e 100644 --- a/vuepress/docs/next/docs/curate/bundle-component-details.md +++ b/vuepress/docs/next/docs/curate/bundle-component-details.md @@ -41,151 +41,6 @@ bundle-project/ ``` >Note: Older names `pageModels` and `contentModels` for `pageTemplates` and `contentTemplates`, respectively, are still supported on Entando 7 but may be removed in a future release. -## Widgets - -**widgets-descriptor.yaml** - - code: my-widget # Name of widget - - titles: # Widget's titles - en: Example Widget # Title in English - it: Widget d'esempio # Title in Italian - - group: free # The owner group of my-widget - - # Optional. The UI path, where the widget.ftl file will have the customUi content - customUiPath: widget.ftl - - # Optional. The Custom UI - customUi: >- -

Hi from my_widget- Custom Widget UI

- - # Optional. The configUI - configUi: - customElement: my-widget-config # The name of the custom element used to render the configUi - resources: - - /static/js/main.js # The resources necessary for the custom element to render the configUI, like the code - -**Note**: To configure micro frontends to access static assets, Entando provides a path with the following snippet: -``` js -window.entando?.widgets['simple-mfe']?.basePath; -``` -[See the instructions for setting the path in a React MFE](../../tutorials/create/mfe/react.md#configure-the-custom-element). - -For information on widgets that Entando provides out of the box, see [Default Widgets](../compose/preinstalled-widgets.md). -## Fragments - -**fragments-descriptor.yaml** - - code: my_fragment # Fragment name - - # Optional. The fragment content - guiCode: >- - "
Here is the content
" - - # Optional. A path to a FreeMarker file containing the fragment content - guiCodePath: my_fragment.ftl - -## Page Templates - -**pageTemplate-descriptor.yaml** - - code: my_page_template # The page template identification - description: Basic page template # The page template description - - titles: # my_page_template's titles - en: my_page_template # Title in English - it: il_mio_modello # Title in Italian - - # The page template configuration - configuration: - frames: # All frames - - pos: 0 # Frame position - description: Header # Frame description - sketch: # Frame sketch configuration - x1: 0 - y1: 0 - x2: 11 - y2: 1 - defaultWidget: - code: my-widget # The widget code to apply when using the button "apply default widgets" in the page configuration UI - - # A simplified way to define frames - - pos: 1 - description: Breadcrumb - sketch: { x1: 0, y1: 0, x2: 11, y2: 1 } - - # Optional. Define the page template in a separate file or inside the descriptor file with `template` - templatePath: page.ftl - - # Optional. Define the page template as below or in a separate file with `templatePath` - template: >- - <#assign wp=JspTaglibs[\"/aps-core\"]> - - - - <@wp.currentPage param=\"title\" /> - - -

<@wp.currentPage param=\"title\" />

- \">Home
-
-

Bundle 1 Page Template

- <@wp.show frame=0 /> -
- - - -## Pages -This descriptor creates a page for a bundle. The page layout can be fully configured with a configuration widget. Page status can be `published` or `draft`. - -Groups in a page descriptor are configured by `ownerGroup` and `joinGroups`. The `ownerGroup` property specifies the group of users who can manage the entity in the App Builder. The `joinGroups` property specifies those who can view or access the page. For example, setting `ownerGroup` to "free" means anyone with access to the App Builder can manage the page, whereas setting `joinGroup` to "free" means any end user can view the page in the application. - -**pages-descriptor.yaml** - - code: my-dashboard - parentCode: homepage - titles: - en: my dashboard - it: La mia Dashboard - pageModel: dashboard - ownerGroup: free - joinGroups: [] - displayedInMenu: true - seo: false - charset: utf-8 - - # ECR will publish the page according to this property - status: published|draft - - # Page Configuration - widgets: - - code: Brand-Logo - config: null - pos: 0 - - code: Login_buttons - config: null - pos: 2 - - code: seeds_card - config: - cardname: creditcard - pos: 6 - - code: list_item - config: - icon: managealerts - count: '0' - title: Alerts - pos: 7 - - code: list_item - config: - icon: viewstatements - count: '0' - title: View Statements - pos: 11 - - code: seedscard-transaction-table - config: null - pos: 13 - ## Assets The CMS asset descriptor contains the metadata required for uploading and updating bundle assets. @@ -200,6 +55,81 @@ The CMS asset descriptor contains the metadata required for uploading and updati group: free categories: [] +## Categories +This descriptor contains a list of categories. + +**categories-descriptor.yaml** + + - code: my-category # Category name + parentCode: home # The parent category; home is the base category + titles: + it: "Una nuova categoria" # Category name in Italian + en: "New category" # Category name in English + +## Contents +This descriptor enables content to be created and published via a bundle, according to the `status` property. The content ID is optional and enables linking from other components, like content widgets. It can be auto-generated or explicitly declared. + +Groups in a content descriptor are configured by the owner group `mainGroup` and the join group `groups`. The owner group consists of users who can manage the content within the App Builder, while the join group consists of users who can view the content. + +**contents-descriptor.yaml** + + id: NWS650 + typeCode: NWS + description: Dealing with a financial emergency + mainGroup: free + groups: + - free + status: PUBLIC + attributes: + - code: date + value: '2020-04-23 00:00:00' # the date should be in ISO-8601 format + - code: title + values: + en: Dealing with a financial emergency + - code: subtitle + values: + en: | +

How to tackle financial stress

+ - code: body + values: + en: | +

For many people, financial concerns are their number one stress point. Here are 6 ways to help reduce your money stress and get motivated to take control of your finances.

+ - code: img + values: + en: + correlationCode: '651' + name: bank_750xx684385064_d0.jpg + - code: links^ + elements: + - code: links + value: + symbolicDestination: '#!U;http://www.yoursite.com/!#' + destType: 1 + urlDest: 'http://www.yoursite.com/' + pageDest: null + contentDest: null + resourceDest: null + values: + en: vostro sito + - code: links + value: + symbolicDestination: '#!U;http://www.yoursite.com/!#' + destType: 1 + urlDest: 'http://www.yoursite.com/' + values: + en: vostro sito 2 + - code: attaches + elements: + - code: attaches + values: + en: + correlationCode: '205' + name: Entando_Admin_Console_Overview_4.3.3_EN.pdf + +**^ Content Links** +* Content descriptors are loaded in alphabetical order during the bundle creation process. If content X references content Y, content Y must already exist in the bundle for the reference to work. To guarantee referential integrity in a bundle, we recommend that the descriptor name for Y appears earlier in the alphabetical order then content X. +* Contents in bundles cannot make circular references to another content through the link attribute. A circular link is when content A links to content B and B links back to A. Due to the descriptor's alphabetical order of installation, the circular link will cause an error but the links can be added manually after the installation of the bundle. + ## Content Templates **contentTemplates-descriptor.yaml** @@ -248,9 +178,7 @@ The CMS asset descriptor contains the metadata required for uploading and updati config: null pos: 13 - ## Content Types - For more details on content type properties, refer to the [Content Type documentation](../../tutorials/compose/content-types-tutorial.md). **contentTypes.yaml** @@ -304,76 +232,19 @@ For more details on content type properties, refer to the [Content Type document keyForHelpMessage: thing ognlExpression: string -## Contents -This descriptor enables content to be created and published via a bundle, according to the `status` property. The content ID is optional and enables linking from other components, like content widgets. It can be auto-generated or explicitly declared. - -Groups in a content descriptor are configured by the owner group `mainGroup` and the join group `groups`. The owner group consists of users who can manage the content within the App Builder, while the join group consists of users who can view the content. +## Fragments -**contents-descriptor.yaml** +**fragments-descriptor.yaml** - id: NWS650 - typeCode: NWS - description: Dealing with a financial emergency - mainGroup: free - groups: - - free - status: PUBLIC - attributes: - - code: date - value: '2020-04-23 00:00:00' # the date should be in ISO-8601 format - - code: title - values: - en: Dealing with a financial emergency - - code: subtitle - values: - en: | -

How to tackle financial stress

- - code: body - values: - en: | -

For many people, financial concerns are their number one stress point. Here are 6 ways to help reduce your money stress and get motivated to take control of your finances.

- - code: img - values: - en: - correlationCode: '651' - name: bank_750xx684385064_d0.jpg - - code: links - elements: - - code: links - value: - symbolicDestination: '#!U;http://www.yoursite.com/!#' - destType: 1 - urlDest: 'http://www.yoursite.com/' - pageDest: null - contentDest: null - resourceDest: null - values: - en: vostro sito - - code: links - value: - symbolicDestination: '#!U;http://www.yoursite.com/!#' - destType: 1 - urlDest: 'http://www.yoursite.com/' - values: - en: vostro sito 2 - - code: attaches - elements: - - code: attaches - values: - en: - correlationCode: '205' - name: Entando_Admin_Console_Overview_4.3.3_EN.pdf + code: my_fragment # Fragment name -## Categories -This descriptor contains a list of categories. + # Optional. The fragment content + guiCode: >- + "
Here is the content
" -**categories-descriptor.yaml** + # Optional. A path to a FreeMarker file containing the fragment content + guiCodePath: my_fragment.ftl - - code: my-category # Category name - parentCode: home # The parent category; home is the base category - titles: - it: "Una nuova categoria" # Category name in Italian - en: "New category" # Category name in English ## Groups This descriptor contains a list of groups. @@ -403,10 +274,107 @@ This descriptor contains a list of languages to enable during the installation p - code: it description: Italian +## Pages +This descriptor creates a page for a bundle. The page layout can be fully configured with a configuration widget. Page status can be `published` or `draft`. +Groups in a page descriptor are configured by `ownerGroup` and `joinGroups`. The `ownerGroup` property specifies the group of users who can manage the entity in the App Builder. The `joinGroups` property specifies those who can view or access the page. For example, setting `ownerGroup` to "free" means anyone with access to the App Builder can manage the page, whereas setting `joinGroup` to "free" means any end user can view the page in the application. -## Static Resources +**pages-descriptor.yaml** + + code: my-dashboard + parentCode: homepage + titles: + en: my dashboard + it: La mia Dashboard + pageModel: dashboard + ownerGroup: free + joinGroups: [] + displayedInMenu: true + seo: false + charset: utf-8 + + # ECR will publish the page according to this property + status: published|draft + # Page Configuration + widgets: + - code: Brand-Logo + config: null + pos: 0 + - code: Login_buttons + config: null + pos: 2 + - code: seeds_card + config: + cardname: creditcard + pos: 6 + - code: list_item + config: + icon: managealerts + count: '0' + title: Alerts + pos: 7 + - code: list_item + config: + icon: viewstatements + count: '0' + title: View Statements + pos: 11 + - code: seedscard-transaction-table + config: null + pos: 13 + +## Page Templates + +**pageTemplate-descriptor.yaml** + + code: my_page_template # The page template identification + description: Basic page template # The page template description + + titles: # my_page_template's titles + en: my_page_template # Title in English + it: il_mio_modello # Title in Italian + + # The page template configuration + configuration: + frames: # All frames + - pos: 0 # Frame position + description: Header # Frame description + sketch: # Frame sketch configuration + x1: 0 + y1: 0 + x2: 11 + y2: 1 + defaultWidget: + code: my-widget # The widget code to apply when using the button "apply default widgets" in the page configuration UI + + # A simplified way to define frames + - pos: 1 + description: Breadcrumb + sketch: { x1: 0, y1: 0, x2: 11, y2: 1 } + + # Optional. Define the page template in a separate file or inside the descriptor file with `template` + templatePath: page.ftl + + # Optional. Define the page template as below or in a separate file with `templatePath` + template: >- + <#assign wp=JspTaglibs[\"/aps-core\"]> + + + + <@wp.currentPage param=\"title\" /> + + +

<@wp.currentPage param=\"title\" />

+ \">Home
+
+

Bundle 1 Page Template

+ <@wp.show frame=0 /> +
+ + + +## Static Resources The `resources` folder in the `platform` directory contains all static resources. These files will be uploaded to Entando using the same structure, found in the App Builder File Browser public folder. ``` platform/ @@ -446,3 +414,35 @@ Here are example tags to access static resources in a typical bundle: ``` +## Widgets + +**widgets-descriptor.yaml** + + code: my-widget # Name of widget + + titles: # Widget's titles + en: Example Widget # Title in English + it: Widget d'esempio # Title in Italian + + group: free # The owner group of my-widget + + # Optional. The UI path, where the widget.ftl file will have the customUi content + customUiPath: widget.ftl + + # Optional. The Custom UI + customUi: >- +

Hi from my_widget- Custom Widget UI

+ + # Optional. The configUI + configUi: + customElement: my-widget-config # The name of the custom element used to render the configUi + resources: + - /static/js/main.js # The resources necessary for the custom element to render the configUI, like the code + +**Note**: To configure micro frontends to access static assets, Entando provides a path with the following snippet: +``` js +window.entando?.widgets['simple-mfe']?.basePath; +``` +[See the instructions for setting the path in a React MFE](../../tutorials/create/mfe/react.md#configure-the-custom-element). + +For information on widgets that Entando provides out of the box, see [Default Widgets](../compose/preinstalled-widgets.md). \ No newline at end of file diff --git a/vuepress/docs/v7.3/docs/curate/bundle-component-details.md b/vuepress/docs/v7.3/docs/curate/bundle-component-details.md index 1230763f21..3fc751d9c5 100644 --- a/vuepress/docs/v7.3/docs/curate/bundle-component-details.md +++ b/vuepress/docs/v7.3/docs/curate/bundle-component-details.md @@ -41,151 +41,6 @@ bundle-project/ ``` >Note: Older names `pageModels` and `contentModels` for `pageTemplates` and `contentTemplates`, respectively, are still supported on Entando 7 but may be removed in a future release. -## Widgets - -**widgets-descriptor.yaml** - - code: my-widget # Name of widget - - titles: # Widget's titles - en: Example Widget # Title in English - it: Widget d'esempio # Title in Italian - - group: free # The owner group of my-widget - - # Optional. The UI path, where the widget.ftl file will have the customUi content - customUiPath: widget.ftl - - # Optional. The Custom UI - customUi: >- -

Hi from my_widget- Custom Widget UI

- - # Optional. The configUI - configUi: - customElement: my-widget-config # The name of the custom element used to render the configUi - resources: - - /static/js/main.js # The resources necessary for the custom element to render the configUI, like the code - -**Note**: To configure micro frontends to access static assets, Entando provides a path with the following snippet: -``` js -window.entando?.widgets['simple-mfe']?.basePath; -``` -[See the instructions for setting the path in a React MFE](../../tutorials/create/mfe/react.md#configure-the-custom-element). - -For information on widgets that Entando provides out of the box, see [Default Widgets](../compose/preinstalled-widgets.md). -## Fragments - -**fragments-descriptor.yaml** - - code: my_fragment # Fragment name - - # Optional. The fragment content - guiCode: >- - "
Here is the content
" - - # Optional. A path to a FreeMarker file containing the fragment content - guiCodePath: my_fragment.ftl - -## Page Templates - -**pageTemplate-descriptor.yaml** - - code: my_page_template # The page template identification - description: Basic page template # The page template description - - titles: # my_page_template's titles - en: my_page_template # Title in English - it: il_mio_modello # Title in Italian - - # The page template configuration - configuration: - frames: # All frames - - pos: 0 # Frame position - description: Header # Frame description - sketch: # Frame sketch configuration - x1: 0 - y1: 0 - x2: 11 - y2: 1 - defaultWidget: - code: my-widget # The widget code to apply when using the button "apply default widgets" in the page configuration UI - - # A simplified way to define frames - - pos: 1 - description: Breadcrumb - sketch: { x1: 0, y1: 0, x2: 11, y2: 1 } - - # Optional. Define the page template in a separate file or inside the descriptor file with `template` - templatePath: page.ftl - - # Optional. Define the page template as below or in a separate file with `templatePath` - template: >- - <#assign wp=JspTaglibs[\"/aps-core\"]> - - - - <@wp.currentPage param=\"title\" /> - - -

<@wp.currentPage param=\"title\" />

- \">Home
-
-

Bundle 1 Page Template

- <@wp.show frame=0 /> -
- - - -## Pages -This descriptor creates a page for a bundle. The page layout can be fully configured with a configuration widget. Page status can be `published` or `draft`. - -Groups in a page descriptor are configured by `ownerGroup` and `joinGroups`. The `ownerGroup` property specifies the group of users who can manage the entity in the App Builder. The `joinGroups` property specifies those who can view or access the page. For example, setting `ownerGroup` to "free" means anyone with access to the App Builder can manage the page, whereas setting `joinGroup` to "free" means any end user can view the page in the application. - -**pages-descriptor.yaml** - - code: my-dashboard - parentCode: homepage - titles: - en: my dashboard - it: La mia Dashboard - pageModel: dashboard - ownerGroup: free - joinGroups: [] - displayedInMenu: true - seo: false - charset: utf-8 - - # ECR will publish the page according to this property - status: published|draft - - # Page Configuration - widgets: - - code: Brand-Logo - config: null - pos: 0 - - code: Login_buttons - config: null - pos: 2 - - code: seeds_card - config: - cardname: creditcard - pos: 6 - - code: list_item - config: - icon: managealerts - count: '0' - title: Alerts - pos: 7 - - code: list_item - config: - icon: viewstatements - count: '0' - title: View Statements - pos: 11 - - code: seedscard-transaction-table - config: null - pos: 13 - ## Assets The CMS asset descriptor contains the metadata required for uploading and updating bundle assets. @@ -200,6 +55,81 @@ The CMS asset descriptor contains the metadata required for uploading and updati group: free categories: [] +## Categories +This descriptor contains a list of categories. + +**categories-descriptor.yaml** + + - code: my-category # Category name + parentCode: home # The parent category; home is the base category + titles: + it: "Una nuova categoria" # Category name in Italian + en: "New category" # Category name in English + +## Contents +This descriptor enables content to be created and published via a bundle, according to the `status` property. The content ID is optional and enables linking from other components, like content widgets. It can be auto-generated or explicitly declared. + +Groups in a content descriptor are configured by the owner group `mainGroup` and the join group `groups`. The owner group consists of users who can manage the content within the App Builder, while the join group consists of users who can view the content. + +**contents-descriptor.yaml** + + id: NWS650 + typeCode: NWS + description: Dealing with a financial emergency + mainGroup: free + groups: + - free + status: PUBLIC + attributes: + - code: date + value: '2020-04-23 00:00:00' # the date should be in ISO-8601 format + - code: title + values: + en: Dealing with a financial emergency + - code: subtitle + values: + en: | +

How to tackle financial stress

+ - code: body + values: + en: | +

For many people, financial concerns are their number one stress point. Here are 6 ways to help reduce your money stress and get motivated to take control of your finances.

+ - code: img + values: + en: + correlationCode: '651' + name: bank_750xx684385064_d0.jpg + - code: links^ + elements: + - code: links + value: + symbolicDestination: '#!U;http://www.yoursite.com/!#' + destType: 1 + urlDest: 'http://www.yoursite.com/' + pageDest: null + contentDest: null + resourceDest: null + values: + en: vostro sito + - code: links + value: + symbolicDestination: '#!U;http://www.yoursite.com/!#' + destType: 1 + urlDest: 'http://www.yoursite.com/' + values: + en: vostro sito 2 + - code: attaches + elements: + - code: attaches + values: + en: + correlationCode: '205' + name: Entando_Admin_Console_Overview_4.3.3_EN.pdf + +**^ Content Links** +* Content descriptors are loaded in alphabetical order during the bundle creation process. If content X references content Y, content Y must already exist in the bundle for the reference to work. To guarantee referential integrity in a bundle, we recommend that the descriptor name for Y appears earlier in the alphabetical order then content X. +* Contents in bundles cannot make circular references to another content through the link attribute. A circular link is when content A links to content B and B links back to A. Due to the descriptor's alphabetical order of installation, the circular link will cause an error but the links can be added manually after the installation of the bundle. + ## Content Templates **contentTemplates-descriptor.yaml** @@ -248,9 +178,7 @@ The CMS asset descriptor contains the metadata required for uploading and updati config: null pos: 13 - ## Content Types - For more details on content type properties, refer to the [Content Type documentation](../../tutorials/compose/content-types-tutorial.md). **contentTypes.yaml** @@ -304,76 +232,18 @@ For more details on content type properties, refer to the [Content Type document keyForHelpMessage: thing ognlExpression: string -## Contents -This descriptor enables content to be created and published via a bundle, according to the `status` property. The content ID is optional and enables linking from other components, like content widgets. It can be auto-generated or explicitly declared. - -Groups in a content descriptor are configured by the owner group `mainGroup` and the join group `groups`. The owner group consists of users who can manage the content within the App Builder, while the join group consists of users who can view the content. - -**contents-descriptor.yaml** +## Fragments +**fragments-descriptor.yaml** - id: NWS650 - typeCode: NWS - description: Dealing with a financial emergency - mainGroup: free - groups: - - free - status: PUBLIC - attributes: - - code: date - value: '2020-04-23 00:00:00' # the date should be in ISO-8601 format - - code: title - values: - en: Dealing with a financial emergency - - code: subtitle - values: - en: | -

How to tackle financial stress

- - code: body - values: - en: | -

For many people, financial concerns are their number one stress point. Here are 6 ways to help reduce your money stress and get motivated to take control of your finances.

- - code: img - values: - en: - correlationCode: '651' - name: bank_750xx684385064_d0.jpg - - code: links - elements: - - code: links - value: - symbolicDestination: '#!U;http://www.yoursite.com/!#' - destType: 1 - urlDest: 'http://www.yoursite.com/' - pageDest: null - contentDest: null - resourceDest: null - values: - en: vostro sito - - code: links - value: - symbolicDestination: '#!U;http://www.yoursite.com/!#' - destType: 1 - urlDest: 'http://www.yoursite.com/' - values: - en: vostro sito 2 - - code: attaches - elements: - - code: attaches - values: - en: - correlationCode: '205' - name: Entando_Admin_Console_Overview_4.3.3_EN.pdf + code: my_fragment # Fragment name -## Categories -This descriptor contains a list of categories. + # Optional. The fragment content + guiCode: >- + "
Here is the content
" -**categories-descriptor.yaml** + # Optional. A path to a FreeMarker file containing the fragment content + guiCodePath: my_fragment.ftl - - code: my-category # Category name - parentCode: home # The parent category; home is the base category - titles: - it: "Una nuova categoria" # Category name in Italian - en: "New category" # Category name in English ## Groups This descriptor contains a list of groups. @@ -403,10 +273,107 @@ This descriptor contains a list of languages to enable during the installation p - code: it description: Italian +## Pages +This descriptor creates a page for a bundle. The page layout can be fully configured with a configuration widget. Page status can be `published` or `draft`. +Groups in a page descriptor are configured by `ownerGroup` and `joinGroups`. The `ownerGroup` property specifies the group of users who can manage the entity in the App Builder. The `joinGroups` property specifies those who can view or access the page. For example, setting `ownerGroup` to "free" means anyone with access to the App Builder can manage the page, whereas setting `joinGroup` to "free" means any end user can view the page in the application. -## Static Resources +**pages-descriptor.yaml** + + code: my-dashboard + parentCode: homepage + titles: + en: my dashboard + it: La mia Dashboard + pageModel: dashboard + ownerGroup: free + joinGroups: [] + displayedInMenu: true + seo: false + charset: utf-8 + + # ECR will publish the page according to this property + status: published|draft + + # Page Configuration + widgets: + - code: Brand-Logo + config: null + pos: 0 + - code: Login_buttons + config: null + pos: 2 + - code: seeds_card + config: + cardname: creditcard + pos: 6 + - code: list_item + config: + icon: managealerts + count: '0' + title: Alerts + pos: 7 + - code: list_item + config: + icon: viewstatements + count: '0' + title: View Statements + pos: 11 + - code: seedscard-transaction-table + config: null + pos: 13 + +## Page Templates + +**pageTemplate-descriptor.yaml** + code: my_page_template # The page template identification + description: Basic page template # The page template description + + titles: # my_page_template's titles + en: my_page_template # Title in English + it: il_mio_modello # Title in Italian + + # The page template configuration + configuration: + frames: # All frames + - pos: 0 # Frame position + description: Header # Frame description + sketch: # Frame sketch configuration + x1: 0 + y1: 0 + x2: 11 + y2: 1 + defaultWidget: + code: my-widget # The widget code to apply when using the button "apply default widgets" in the page configuration UI + + # A simplified way to define frames + - pos: 1 + description: Breadcrumb + sketch: { x1: 0, y1: 0, x2: 11, y2: 1 } + + # Optional. Define the page template in a separate file or inside the descriptor file with `template` + templatePath: page.ftl + + # Optional. Define the page template as below or in a separate file with `templatePath` + template: >- + <#assign wp=JspTaglibs[\"/aps-core\"]> + + + + <@wp.currentPage param=\"title\" /> + + +

<@wp.currentPage param=\"title\" />

+ \">Home
+
+

Bundle 1 Page Template

+ <@wp.show frame=0 /> +
+ + + +## Static Resources The `resources` folder in the `platform` directory contains all static resources. These files will be uploaded to Entando using the same structure, found in the App Builder File Browser public folder. ``` platform/ @@ -446,3 +413,35 @@ Here are example tags to access static resources in a typical bundle: ``` +## Widgets + +**widgets-descriptor.yaml** + + code: my-widget # Name of widget + + titles: # Widget's titles + en: Example Widget # Title in English + it: Widget d'esempio # Title in Italian + + group: free # The owner group of my-widget + + # Optional. The UI path, where the widget.ftl file will have the customUi content + customUiPath: widget.ftl + + # Optional. The Custom UI + customUi: >- +

Hi from my_widget- Custom Widget UI

+ + # Optional. The configUI + configUi: + customElement: my-widget-config # The name of the custom element used to render the configUi + resources: + - /static/js/main.js # The resources necessary for the custom element to render the configUI, like the code + +**Note**: To configure micro frontends to access static assets, Entando provides a path with the following snippet: +``` js +window.entando?.widgets['simple-mfe']?.basePath; +``` +[See the instructions for setting the path in a React MFE](../../tutorials/create/mfe/react.md#configure-the-custom-element). + +For information on widgets that Entando provides out of the box, see [Default Widgets](../compose/preinstalled-widgets.md). \ No newline at end of file