When building sites using templates, Screens need only be defined
for templates which require dynamic (database or object) data.
This page can be used on sites where the number of Screens can be
much less than the number of templates. The templates can be
grouped in directories with common layouts. Screen modules are
then expected to be placed in packages corresponding with the
templates' directories and follow a specific naming scheme.
The template parameter is parsed and and a Screen whose package
matches the templates path and shares the same name minus any
extension and beginning with a capital letter is searched for. If
not found, a Screen in a package matching the template's path with
name Default is searched for. If still not found, a Screen with
name Default is looked for in packages corresponding to parent
directories in the template's path until a match is found.
For example if data.getParameters().getString("template") returns
/about_us/directions/driving.wm, the search follows
about_us.directions.Driving, about_us.directions.Default,
about_us.Default, Default, WebMacroSiteScreen (i.e. the default
screen set in TurbineResources).
Only one Layout module is used, since it is expected that any
dynamic content will be placed in navigations and screens. The
layout template to be used is found in a similar way to the Screen.
For example the following paths will be searched in the layouts
subdirectory: /about_us/directions/driving.wm,
/about_us/directions/default.wm, /about_us/default.wm, /default.wm,
where wm is the value of the template.default.extension property.
This approach allows a site with largely static content to be
updated and added to regularly by those with little Java
experience.
author: John D. McNally author: Dave Bryson author: Henning P. Schmiedehausen version: $Id: TemplatePage.java 534527 2007-05-02 16:10:59Z tv $ |