Version 3 (modified by Fran Boon, 11 years ago) ( diff )


BluePrint: Templates


Templates allow selecting alternate configuration sets.

This allows a separation between Code & Settings.

This reduces the need for deployment branches & hence reduces the risk of forking.


Builds on the configuration template and DeveloperGuidelines/PrePopulate.


See Use-Cases


End-User wishing to trial the System

The end-user would like to download & run immediately with the minimimum of up-front configuration possible - the defaults should be sufficient to get started with.

If they must select between alternate options then they'd definitely want this to be done through the web browser.

  • perhaps the most useful would be a single web page with a list of Templates to choose from, witha big button to say 'OK' to proceed with the default.

Once they've played around some & wish to customise it, then they would like to be able to configure options via WebSetup.

Once they decide to go into production, it would be really useful to be able to save all the settings they've made in their local instance to a file & then use this file to configure their server instance. This could include population of lookup lists being saved as CSVs and then compressing these into a single file to be uncompressed on the server.


The deployer want to be walked through the different settings...ideally through a WebSetup Wizard, however they're OK at doing this through a text file or CLI prompts if-required.

They want to minimise the number of interrupts during the setup process - i.e. they would like to run a single script to download/install all the software & then run through a single set of configuration options. The current supported scripts do this reasonably well.


The developer/tester would like to be able to quickly move their system between different configuration options


Whilst all developers need to merge to some extent, those on the interfaces between deployment branches have extra work. The old deployment_templates/ always had regular merge conflicts, so separating these into separate template folders should improve things.


We need a front-end decision maker to decide which template(s) we are using:

  • configuration settings:
  • prepopulate: tasks.cfg
  • tbc Theme: static/styles/sahana.css, views/layout.html, modules/eden/
  • tbc Menus: modules/eden/, models/
  • tbc Message Parser

This front-end should be bypassable via deployment scripts.

This front-end selection should use a simple Web Setup to select between templates


Currently 000_config calls the prepopulate options.

  • selecting between alternate files requires external shell scripting, which bypasses the hmac_key automation



Note: See TracWiki for help on using the wiki.