| 5 | | == Problem Statement == |
| 6 | | We use the database to store key reference data which should be available to any new instance. |
| 7 | | We also use the database to create test data which shouldn't be present for new instances. |
| 8 | | |
| 9 | | We need a tool to populate the database with reference data.[[BR]] |
| 10 | | This is like {{{gis_conf.inc}}} & {{{mysql-config.sql}}} for Sahana2: |
| 11 | | {{{ |
| 12 | | db.module.insert( |
| 13 | | name='gis', |
| 14 | | name_nice='situation_awareness', |
| 15 | | menu_priority=7, |
| 16 | | description='Mapping & Geospatial Analysis', |
| 17 | | enabled=True |
| 18 | | ) |
| 19 | | }}} |
| 20 | | |
| 21 | | We need a tool to empty the databases (& reset IDs).[[BR]] |
| 22 | | The development database is sqlite: |
| 23 | | {{{ |
| 24 | | sqlite3 storage.db ???? |
| 25 | | }}} |
| 26 | | http://sqlite.org/lang_vacuum.html ? |
| 27 | | |
| 28 | | These tools should be triggered via a Bzr start-commit-hook. |
| 29 | | |
| 30 | | An alternative /could/ be to make reference data use a Storage() instance like T2.messages: |
| 31 | | {{{ |
| 32 | | def _define_messages(self): |
| 33 | | self.messages=Storage() |
| 34 | | self.messages.record_created="Record Created" |
| 35 | | }}} |
| 36 | | Local admins can still use appadmin to make local customisations through code edits (inc WebUI), but it keeps it logically more separated.[[BR]] |
| 37 | | However, can we create a Sahana-style Update form to allow admins to make changes? :/ [[BR]] |
| 38 | | 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) |
| 39 | | |
| 40 | | === Reference Data === |
| 41 | | module, x_menu_option, gis_config, gis_projection, gis_marker |
| 42 | | |
| 43 | | == Other Hooks == |
| | 5 | == IRC Notification == |