Changes between Version 36 and Version 37 of DeveloperGuidelines


Ignore:
Timestamp:
01/03/09 04:00:16 (13 years ago)
Author:
Fran Boon
Comment:

Change bottom section to list to make more usable

Legend:

Unmodified
Added
Removed
Modified
  • DeveloperGuidelines

    v36 v37  
    4646CSS/Javascript files are stored in {{{/static}}}      (equivalent of {{{www/res}}})
    4747
     48== Sahana3 Framework ==
     49We have built an S3 framework as a higher level of abstraction on top of T2.[[BR]]
     50This 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).
    4851
    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
     52T2 is used for:
     53 * [wiki:DeveloperGuidelinesAuthenticationAccess AAA]
     54 * simplified [wiki:DeveloperGuidelinesCreateReadUpdateDelete CRUD]
     55 * Conflict Detection)
    5256We 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-detection
    60 }}}
    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:
    6657
    6758Populate the side navigation Menus by adding this to each controller:
     
    137128Sahana3 uses a separate table for each lookup list.
    138129
     130=== Conflict Detection ===
     131Sahana is a multi-user system so there is a potential for multiple users to be editing the same record at once.[[BR]]
     132We use T2 to handle this for us.
    139133
    140 == How to add a new Module? ==
    141 DeveloperGuidelinesNewModule
     134Add this field to each table which needs protecting (in {{{models/db.py}}}):
     135{{{
     136SQLField('modified_on','datetime'), # Used by T2 to do edit conflict-detection
     137}}}
    142138
    143 == Web Services ==
    144 DeveloperGuidelinesWebServices
     139This field is also used in [wiki:DeveloperGuidelinesDatabaseSynchronization Database Synchronization]
    145140
    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
    163149
    164150----