Changes between Version 28 and Version 29 of GenericTrac
- Timestamp:
- Aug 3, 2010, 9:16:04 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GenericTrac
v28 v29 41 41 1. it has to be ''simple''; 42 42 2. it must be ''flexible'', in order to accommodate different kinds of resources and 43 allow for dynamic evolution ;44 3. it should remain ''fast'', if not faster than what we currently have;43 allow for dynamic evolution, like addition or removal of fields by plugin or via the web admin; 44 3. it should remain ''fast'', if not become faster than what we currently have; 45 45 4. it should lead to a more ''compact'' representation of data 46 46 5. all the existing constraints about maintaining resource history and associated metadata should be taken into account 47 47 48 Note that the persistence constraints imposed by the Trac data model are not necessarily only (or even best) approached using the RelationalModel, one could imagine that a future version could use more document-oriented persistence layers (e.g. [http://www.mongodb.org/ MongoDB]), or object-oriented databases (e.g. [http://www.zodb.org/ ZODB]). Also, as said above, the versioning of resources could be delegated to a version controlbackend.48 Note that the persistence constraints imposed by the Trac data model are not necessarily only (or even best) approached using the RelationalModel, one could imagine that a future version could use more document-oriented persistence layers (e.g. [http://www.mongodb.org/ MongoDB]), or object-oriented databases (e.g. [http://www.zodb.org/ ZODB]). Also, as said above, the versioning of resources should be delegated to a version control backend, with a default, simple, in-database VCS backend. 49 49 50 50 === Resource Content === 51 51 52 52 The ticket model is by far richer data model we would have to support, 53 so we could take thisas a basis to lay out the foundations of the new model.53 so we could use it as a basis to lay out the foundations of the new model. 54 54 55 55 For ticket, we currently have a fixed set of properties … … 76 76 (?) means ''yet to be verified'' 77 77 78 In order to reduce the overall complexity, the idea would beto pick only one approach, instead of having to support both.78 In order to reduce the overall complexity, the idea is to pick only one approach, instead of having to support both. 79 79 By using the second style, we could also have our "fixed" set of properties, 80 80 while obviously the first style can't support the second. … … 87 87 The second style (prop/value) can be implemented in several ways: 88 88 - a single `properties` table with `prop` and `value` string columns (this is what our current `ticket_custom`, `system` and `repository` tables do) 89 - a single `properties` table with `prop` and several typed columns (`int_value`, `string_value`, `date_value`, etc.), only the appropriate column being used - see discussion [#JBPM-approach below]89 - a single `properties` table with `prop` and several typed columns (`int_value`, `string_value`, `date_value`, etc.), only the appropriate column being used - see discussion ([[./Brainstorm#JBPM-approach|JBPM's approach]]) 90 90 - several `properties` tables with each `prop` and `value` columns, each table dedicated to a given type (`int_properties`, `string_properties`, etc.) 91 91 - ... more ...