Changes between Version 10 and Version 11 of GenericTrac
- Timestamp:
- Sep 4, 2009, 7:57:33 AM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GenericTrac
v10 v11 74 74 (if we use one mega table for all resources) 75 75 76 Note by the way that newer "resources", like `repository` in MultiRepos already have this `(id,name/value)` form. 77 76 78 We could also keep the metadata associated to the properties in the database, 77 instead of being hard-coded and present in the TracIni file. 79 instead of being hard-coded and present in the TracIni file, permitting an 80 unification of the representation for fixed fields and custom fields. 78 81 79 82 '''resource_schema''' … … 90 93 || ticket || need_review || default || 0 || 91 94 95 Note: the existence of a schema describing the fields doesn't mean that modules 96 can't interpret fields as being special. Quite the opposite, as modules are what 97 provides the real "behavior" of resources. 92 98 93 99 As a possible refining, it could be possible to have specialized tables, … … 253 259 === Intermediate Model === 254 260 - surrogate keys for all resources 255 - text and int fields (same as Complete Model, without `*_text` tables)256 257 The minimal modelabove 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 263 The [#MinimalModel minimal model] above is handy for showing the essence of the new model, 258 264 but it's too simple in practice. 259 265 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).266 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''s will be integers). 261 267 262 268 … … 279 285 '''resource_prop''' 280 286 || ''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'' || 281 300 || int || string || string || 282 301 283 '''resource_revprop '''302 '''resource_revprop_string''' 284 303 || ''changeid'' || ''name'' || ''value'' || 285 304 || int || string || string || 286 305 287 '''resource_change '''306 '''resource_change_string''' 288 307 || ''id'' || ''changeid'' || ''name'' || ''value'' || 289 308 || 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 ||303 309 304 310 … … 331 337 '''resource_prop''' 332 338 || ''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'' ||349 339 || 0 || summary ||Multiple Project Support|| 350 340 || 0 ||description||One day... || 351 341 352 '''resource_revprop _text'''342 '''resource_revprop''' 353 343 || ''changeid'' || ''name'' || ''value'' || 354 344 || 2 || comment || come on...|| 355 345 || 3 || comment || sure... || 356 346 357 '''resource_change _text'''347 '''resource_change''' 358 348 || ''id'' || ''changeid'' || ''name'' || ''value'' || 359 349 || 0 || 1 || summary ||Multiple Project Support|| … … 364 354 ---- 365 355 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 366 372 '''resource_prop_int''' 367 373 || ''id'' || ''name'' || ''value'' || … … 386 392 387 393 === 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. 389 395 - experiment new tabbed view for the milestone (''View'', ''Discussion'', ''History''). See TracProject/UiGuidelines. 390 396 - milestone should be able to have attachments, too (#3068)