Changes between Version 36 and Version 37 of DeveloperGuidelines
- Timestamp:
- 01/03/09 04:00:16 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DeveloperGuidelines
v36 v37 46 46 CSS/Javascript files are stored in {{{/static}}} (equivalent of {{{www/res}}}) 47 47 48 == Sahana3 Framework == 49 We have built an S3 framework as a higher level of abstraction on top of T2.[[BR]] 50 This should be used by modules where possible, but if more power is needed then drop down a level of two (to T2, to base Web2Py or to raw Python). 48 51 49 == T2 == 50 This plugin is used for [wiki:DeveloperGuidelinesAuthenticationAccess AAA] & simplified [wiki:DeveloperGuidelinesCreateReadUpdateDelete CRUD] (inc Conflict Detection) 51 * http://mdp.cti.depaul.edu/examples/static/t2.pdf 52 T2 is used for: 53 * [wiki:DeveloperGuidelinesAuthenticationAccess AAA] 54 * simplified [wiki:DeveloperGuidelinesCreateReadUpdateDelete CRUD] 55 * Conflict Detection) 52 56 We extend the T2 class in {{{modules/sahana.py}}} 53 54 === Conflict Detection ===55 Sahana is a multi-user system so there is a potential for multiple users to be editing the same record at once.56 57 Add this field to each table which needs protecting (in {{{models/db.py}}}):58 {{{59 SQLField('modified_on','datetime'), # Used by T2 to do edit conflict-detection60 }}}61 62 This field is also used in [wiki:DeveloperGuidelinesDatabaseSynchronization Database Synchronization]63 64 == Sahana3 Framework ==65 These are the bits that we use on top of Web2Py to give the Sahana look & feel:66 57 67 58 Populate the side navigation Menus by adding this to each controller: … … 137 128 Sahana3 uses a separate table for each lookup list. 138 129 130 === Conflict Detection === 131 Sahana is a multi-user system so there is a potential for multiple users to be editing the same record at once.[[BR]] 132 We use T2 to handle this for us. 139 133 140 == How to add a new Module? == 141 DeveloperGuidelinesNewModule 134 Add this field to each table which needs protecting (in {{{models/db.py}}}): 135 {{{ 136 SQLField('modified_on','datetime'), # Used by T2 to do edit conflict-detection 137 }}} 142 138 143 == Web Services == 144 DeveloperGuidelinesWebServices 139 This field is also used in [wiki:DeveloperGuidelinesDatabaseSynchronization Database Synchronization] 145 140 146 == GIS == 147 [wiki:DeveloperGuidelinesGIS DeveloperGuidelinesGIS] 148 149 == Testing == 150 DeveloperGuidelinesTesting 151 152 == Using Bzr == 153 DeveloperGuidelinesBzr 154 155 == How to update Web2Py? == 156 [wiki:DeveloperGuidelinesWeb2PyUpdate DeveloperGuidelinesWeb2PyUpdate] 157 158 == Release Process == 159 DeveloperGuidelinesReleaseProcess 160 161 == Tips == 162 DeveloperGuidelinesTips 141 * [wiki:DeveloperGuidelinesNewModule How to add a new Module?] 142 * [wiki:DeveloperGuidelinesWebServices Web Services] 143 * [wiki:DeveloperGuidelinesGIS GIS] 144 * [wiki:DeveloperGuidelinesTesting Testing] 145 * [wiki:DeveloperGuidelinesBzr Using Bzr] 146 * [wiki:DeveloperGuidelinesWeb2PyUpdate How to update Web2Py?] 147 * [wiki:DeveloperGuidelinesReleaseProcess Release Process] 148 * [wiki:DeveloperGuidelinesTips Tips] - useful links to explore 163 149 164 150 ----