OpenWGA 7.9 - OpenWGA Concepts and Features

Design and development » Customizable application designs » Customizing designs

Addressing design resources in overlays

Referring design resources inside overlay directories is also a bit different.

Addressing a design resource from another design resource, where both are in the overlay directory, is straight-forward and works as expected. See an example from the customizable WebTML module "body.tml" of the OpenWGA blog plugin:

<tml:include ref="sidebar"/>

This includes a WebTML module named "sidebar" which is also available in the overlay directory as customizable resource.

However you most likely will find references in the overlay design which end with suffix "@base". Here another example from the customizable WebTML module, this time the  "sidebar.tml" itself of the OpenWGA blog plugin:

<tml:include ref="modules:sidebar:search-form@base"/>
<tml:include ref="modules:sidebar:login@base"/>
<tml:include ref="modules:sidebar:evergreens@base"/>
<tml:include ref="modules:sidebar:feed-links@base"/>
<tml:include ref="modules:sidebar:tag-cloud@base"/>
<tml:include ref="modules:sidebar:archive@base"/>
<tml:include ref="modules:sidebar:other-blogs@base"/>
<tml:include ref="modules:sidebar:powered-by@base"/>

This module includes many other modules that provide functionalities for the blogs sidebar section. You can customize it by removing the include of modules that you do not want for your blog, or by creating your own modules inside the overlay directory and including them here.

However the modules defining these functionalities are not contained in the customizable part of the blog design. They only exist in the design of the base plugin and need to be loaded from there. The "@base" suffix tells OpenWGA exactly this. It loads the resource from the base design of the application rather than from the overlay design.

As the user of a customizable design you most likely will never need to compose such a @base reference yourself. Most times the references to those base resources that may be added to your overlay are already existing, for you to move or remove them. It just maybe important for you to know what is actually going on in them.