The relations of the major artifacts are depicted in the following figure:
A theme is assigned to a portal page. Dynamic content spots are used to write all of the data for modules that have contributions for a certain type. The module framework provides the dynamic content spots co:config
. The theme must provide one or more profiles, which declares the set of modules that are used for that profile. One of these profiles is used by each page to which the theme is applied. The profile used for the page is the default profile that the theme developer or administrator defines for the theme by setting the theme metadata resourceaggregation.profile
The Page administrator can explicitly overwrite the default by setting the page metadata resourceaggregation.profile
The modules available in the system can either be registered through the extension point com.ibm.portal.resourceaggregator.module
in a plugin.xml
file, or using a JSON file located within a theme in the folder <theme-root>/contributions
. This path is not customizable.
For example, the head spot, <link rel=”dynamic-content” href=”co:head”></link>
, and aggregates all contributions of type head.
You choose where to place dynamic content spots as long as the following constraints are fulfilled:
- The head spot must be located inside the <head> element in the page markup. The <head> element must be placed before the <body> element in the page markup.
- The config spot must be located inside the <body> element in the page markup. Make the config spot the last element before the closing tag.
, depends on that function being defined earlier in the page markup.
Modules can declare dependencies on prerequisite modules. Additionally, they can declare their capabilities, which enable portlets and other code on the page to query the availability of a certain capability.
Parent topic: The module framework