Changes between Version 6 and Version 7 of TracLegosTemplates


Ignore:
Timestamp:
Feb 10, 2009, 12:17:37 AM (6 years ago)
Author:
k0s
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracLegosTemplates

    v6 v7  
    77The image shows an example of the application of three templates to create a Trac project.  The first template applied, [source:traclegosscript/anyrelease/example/oss/osstracproject/template/conf/trac.ini_tmpl OSS Trac Project], is a skeleton for a trac project.  The second template is a (''hypothetical'') template that applies configuration for `Plugin 'A'`.  This illustrates the value of allowing arbitrary configuration -- a template can be as specific or as general as needed (that is, any portion of the `trac.ini` may be contained in the template).  Both of these templates are generic -- they contain configuration that is agnostic to a specific site or organization.  This generic configuration is augmented by the `Site Configuration`, which contains parameters specific to the site and organization.  Any number of these can be applied.
    88
    9 The templates are implied in order, values from latter templates overwriting earlier ones.  From the aggregated configuration, a trac project is made using supplied variables
     9The templates are implied in order, values from latter templates overwriting earlier ones.  From the aggregated configuration, a trac project is made using supplied variables.
     10
     11== Convention-based Variables ==
     12
     13With a few exceptions (e.g. `project`), [TracLegosScript TracLegos] does no sort of enforcing of similarity of template parameters.  [TracLegosScript TracLegos] asserts a convention-based system where template authors are encouraged to use a convention that works with them and the world at large.  For example, the [source:traclegosscript/anyrelease/example/oss/osstracproject/template/conf/trac.ini_tmpl OSS Trac project template] uses a variable, `$basedir`, that defines a base directory relative to which it defines by convention several file locations.  If this pattern fits the use case for a new template, keeping the variable name intact allows site configuration and other locations addressing variables by name to work as expected whereas renaming the variable would require more work to incorporate it into existing instances.  However, if this convention did not work for your template, then you should use a convention that does, preferably with a variable name that is unambiguous.  [TracLegosScript TracLegos] uses a flat namespace for simplicity and is not slated to move towards namespacing variables.