Changes between Version 2 and Version 3 of BluePrint/Templates


Ignore:
Timestamp:
06/06/12 20:26:02 (12 years ago)
Author:
Fran Boon
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BluePrint/Templates

    v2 v3  
    33
    44== Introduction ==
    5 Templates allow deployers to select from alternate configuration sets.
     5Templates allow selecting alternate configuration sets.
    66
    7 This allows a separation between Code & Settings
     7This allows a separation between Code & Settings.
    88
     9This reduces the need for deployment branches & hence reduces the risk of forking.
     10
     11== Description ==
    912Builds on the 000_config.py configuration template and DeveloperGuidelines/PrePopulate.
    1013
    11 == Description ==
    12 <Briefly describe the solution, e.g. start with a user story>
    13 <Name existing solutions, e.g. in other applications>
    14 
    1514== Requirements ==
    16 <Outline the requirements here>
    17 <Group requirements in subsections, e.g. functional, non-functional, interoperability etc.>
     15See Use-Cases
    1816
    1917== Use-Cases ==
    2018=== End-User wishing to trial the System ===
    21 They would like to download & run immediately without having to do any configuration - the defaults should be sufficient to get started with.
     19The 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.
    2220
    23 Once they've played aroundsome & wish to customise it, then they would like to be able to configure options via WebSetup
     21If they must select between alternate options then they'd definitely want this to be done through the web browser.
     22* 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.
     23
     24Once they've played around some & wish to customise it, then they would like to be able to configure options via [BluePrint/WebSetup WebSetup].
     25
     26Once 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.
    2427
    2528=== Deployer ===
     29The deployer want to be walked through the different settings...ideally through a [BluePrint/WebSetup WebSetup] Wizard, however they're OK at doing this through a text file or CLI prompts if-required.
     30
     31They 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.
    2632
    2733=== Developer/Tester ===
     34The developer/tester would like to be able to quickly move their system between different configuration options
     35
     36=== Merger ===
     37Whilst all developers need to merge to some extent, those on the interfaces between deployment branches have extra work. The old deployment_templates/000_config.py always had regular merge conflicts, so separating these into separate template folders should improve things.
    2838
    2939== Design ==
    30 <Describe a possible design, repeat any design sections for alternative designs>
    31 <Include diagrams, screen mockups and wireframes where useful>
     40We need a front-end decision maker to decide which template(s) we are using:
     41* configuration settings: 000_config.py
     42* prepopulate: tasks.cfg
     43* tbc Theme: static/styles/sahana.css, views/layout.html, modules/eden/layouts.py
     44* tbc Menus: modules/eden/menus.py, models/01_menu.py
     45* tbc Message Parser
     46
     47This front-end should be bypassable via deployment scripts.
     48
     49This front-end selection should use a simple Web Setup to select between templates
    3250
    3351== Implementation ==
    34 <Leave open for a list of implementation>
     52Currently 000_config calls the prepopulate options.
     53* selecting between alternate 000_config.py files requires external shell scripting, which bypasses the hmac_key automation
    3554
    3655== References ==
    3756* Prepopulate
    38 * WebSetup
     57* BluePrint/WebSetup
     58* [https://groups.google.com/d/topic/sahana-eden/Vy8xT4bA_pA/discussion Profile Layer]
     59* [https://groups.google.com/d/topic/sahana-eden/TadDloKhqkg/discussion Profile Templates Plan]
     60* [https://groups.google.com/d/topic/sahana-eden/YzgzXpTQjt8/discussion Splitting up CSS into separate files]
    3961
    4062----