Drives
The drive acme (collaboration:/sites/acme) is created along with the site.
The project needs to create another drive to store a taxonomy tree. That drive is named powers (collaboration:/sites/acme/categories/powers).
This drive creation is carried by ManageDriveService
.
See
acme-drives-configuration.xml
Namespaces
The namespace acme
is created by configuring RepositoryService
.
See
acme-namespaces-configuration.xml.
Nodetypes and templates
In Products and Contact Us pages, you see contents of two types:
acme:product
and acme:contact_us
.
Each content type needs a nodetype definition, a dialog to create/edit and a view to display the content.
For acme:product
type as example, the nodetype is created by configuring AddNodeTypePlugin
in
system-configuration.xml.
The plugin reads nodetype definition in
nodetypes-configuration.xml.
The templates (dialogs and views) sources are written in gtmpl under this folder, and configured in nodetypes-templates-configuration.xml.
Actions and scripts
In the navigation, when you hover over the Products, you see a sub-menu dropped down. Any item of the sub-menu is a child node in the taxonomy tree powers.
When you add a child taxonomy to the tree, it is automatically populated as an item to the sub-menu.
This population is carried out by the PopulateToMenu
action.
The action is registered by xml configuration in dms-actions-configuration.xml.
This action is a script action and the source of the script is PopulateToMenu.groovy, that is registered in dms-scripts-configuration.xml.