Edgewall Software

Changes between Version 10 and Version 11 of GenericTrac


Ignore:
Timestamp:
Sep 4, 2009, 7:57:33 AM (15 years ago)
Author:
Christian Boos
Comment:

the #CompleteModel puts short text in _string tables and keep long text in the same tables as the other models

Legend:

Unmodified
Added
Removed
Modified
  • GenericTrac

    v10 v11  
    7474(if we use one mega table for all resources)
    7575
     76Note by the way that newer "resources", like `repository` in MultiRepos already have this `(id,name/value)` form.
     77
    7678We could also keep the metadata associated to the properties in the database,
    77 instead of being hard-coded and present in the TracIni file.
     79instead of being hard-coded and present in the TracIni file, permitting an
     80unification of the representation for fixed fields and custom fields.
    7881
    7982'''resource_schema'''
     
    9093|| ticket || need_review || default || 0 ||
    9194
     95Note: the existence of a schema describing the fields doesn't mean that modules
     96can't interpret fields as being special. Quite the opposite, as modules are what
     97provides the real "behavior" of resources.
    9298
    9399As a possible refining, it could be possible to have specialized tables,
     
    253259=== Intermediate Model ===
    254260 - surrogate keys for all resources
    255  - text and int fields (same as Complete Model, without `*_text` tables)
    256 
    257 The minimal model above is handy for showing the essence of the new model,
     261 - text and int fields (same as [#CompleteModel Complete Model], without the `*_string` tables)
     262
     263The [#MinimalModel minimal model] above is handy for showing the essence of the new model,
    258264but it's too simple in practice.
    259265
    260 I think we need at the very least to support 'integer' type columns, useful for storing dates efficiently, boolean values, and relations to other resources (as the surrogate id will be an integer).
     266I think we need at the very least to support 'integer' type columns, useful for storing dates efficiently, boolean values, and relations to other resources (as the surrogate ''id''s will be integers).
    261267
    262268
     
    279285'''resource_prop'''
    280286|| ''id'' || ''name'' || ''value'' ||
     287||  int   ||   string ||    text   ||
     288
     289'''resource_revprop'''
     290|| ''changeid'' || ''name'' || ''value'' ||
     291||      int     ||   string ||    text   ||
     292
     293'''resource_change'''
     294|| ''id'' || ''changeid'' || ''name'' || ''value'' ||
     295||   int  ||      int     ||   string ||    text   ||
     296
     297
     298'''resource_prop_string'''
     299|| ''id'' || ''name'' || ''value'' ||
    281300||  int   ||   string ||   string  ||
    282301
    283 '''resource_revprop'''
     302'''resource_revprop_string'''
    284303|| ''changeid'' || ''name'' || ''value'' ||
    285304||      int     ||   string ||   string  ||
    286305
    287 '''resource_change'''
     306'''resource_change_string'''
    288307|| ''id'' || ''changeid'' || ''name'' || ''value'' ||
    289308||   int  ||      int     ||   string ||   string  ||
    290 
    291 
    292 '''resource_prop_text'''
    293 || ''id'' || ''name'' || ''value'' ||
    294 ||  int   ||   string ||   text    ||
    295 
    296 '''resource_revprop_text'''
    297 || ''changeid'' || ''name'' || ''value'' ||
    298 ||      int     ||   string ||   text    ||
    299 
    300 '''resource_change_text'''
    301 || ''id'' || ''changeid'' || ''name'' || ''value'' ||
    302 ||   int  ||      int     ||   string ||   text    ||
    303309
    304310
     
    331337'''resource_prop'''
    332338|| ''id'' || ''name''  || ''value'' ||
    333 ||      0 || reporter  ||   joe     ||
    334 
    335 '''resource_revprop'''
    336 || ''changeid'' || ''name'' || ''value'' ||
    337 ||          1   ||  author  ||    joe    ||
    338 ||          2   ||  author  ||    joe    ||
    339 ||          3   ||  author  ||   cboos   ||
    340 
    341 '''resource_change'''
    342 || ''id'' || ''changeid'' || ''name''  || ''value'' ||
    343 ||      0 ||          1   ||  reporter ||joe||
    344 
    345 ----
    346 
    347 '''resource_prop_text'''
    348 || ''id'' || ''name''  || ''value'' ||
    349339||      0 || summary   ||Multiple Project Support||
    350340||      0 ||description||One day... ||
    351341
    352 '''resource_revprop_text'''
     342'''resource_revprop'''
    353343|| ''changeid'' || ''name'' || ''value'' ||
    354344||          2   || comment  || come on...||
    355345||          3   || comment  || sure...   ||
    356346
    357 '''resource_change_text'''
     347'''resource_change'''
    358348|| ''id'' || ''changeid'' || ''name''  || ''value'' ||
    359349||      0 ||          1   ||  summary  ||Multiple Project Support||
     
    364354----
    365355
     356'''resource_prop_string'''
     357|| ''id'' || ''name''  || ''value'' ||
     358||      0 || reporter  ||   joe     ||
     359
     360'''resource_revprop_string'''
     361|| ''changeid'' || ''name'' || ''value'' ||
     362||          1   ||  author  ||    joe    ||
     363||          2   ||  author  ||    joe    ||
     364||          3   ||  author  ||   cboos   ||
     365
     366'''resource_change_string'''
     367|| ''id'' || ''changeid'' || ''name''  || ''value'' ||
     368||      0 ||          1   ||  reporter ||joe||
     369
     370----
     371
    366372'''resource_prop_int'''
    367373|| ''id'' || ''name''  || ''value'' ||
     
    386392
    387393=== Milestone First ===
    388  - modify the Milestone module so that it uses the new proposed datamodel. See [#TheMilestoneExample].
     394 - modify the Milestone module so that it uses the new proposed datamodel.
    389395 - experiment new tabbed view for the milestone (''View'', ''Discussion'', ''History''). See TracProject/UiGuidelines.
    390396 - milestone should be able to have attachments, too (#3068)