wiki:BluePrintBzrHooks

Version 9 (modified by Fran Boon, 13 years ago) ( diff )

--

This page hosts the detailed specification for the Blueprint for Bzr Hooks for Committers.

It is for working on tools to enhance the process for committers to Trunk: DeveloperGuidelinesBzr

Problem Statement

We use the database to store key reference data which should be available to any new instance. We also use the database to create test data which shouldn't be present for new instances.

We need a tool to populate the database with reference data.
This is like gis_conf.inc & mysql-config.sql for Sahana2:

db.module.insert(
            name='gis',
            name_nice='situation_awareness',
            menu_priority=7,
            description='Mapping & Geospatial Analysis',
            enabled=True
            )

We need a tool to empty the databases (& reset IDs).
The development database is sqlite:

sqlite3 storage.db ????

http://sqlite.org/lang_vacuum.html ?

These tools should be triggered via a Bzr start-commit-hook.

An alternative /could/ be to make reference data use a Storage() instance like T2.messages:

def _define_messages(self):        
    self.messages=Storage()
    self.messages.record_created="Record Created"

Local admins can still use appadmin to make local customisations through code edits (inc WebUI), but it keeps it logically more separated.
However, can we create a Sahana-style Update form to allow admins to make changes? :/
e.g. Nice to be able to Develop a Module Manager UI to allow enabling/disabling of Modules other than via code edit. (Not essential, but nice)

Reference Data

module, x_menu_option, gis_config, gis_projection, gis_marker

Other Hooks

Publish commits to #Sahana IRC channel


BluePrints

Note: See TracWiki for help on using the wiki.