Version 1 (modified by 17 years ago) ( diff ) | ,
---|
GenericTrac Data Model
This is an experimental branch for trying out the various ideas exposed in the recent proposals:
See also this mail.
Current Status
TODO
- modify the Milestone module so that it uses the new proposed datamodel. See #TheMilestoneExample.
- experiment new tabbed view for the milestone (View, Discussion, History). See TracProject/UiGuidelines.
- milestone should be able to have attachments, too (#3068)
- adapt the Roadmap module to the new model
- adapt the Milestone admin component to the new model
Once this is complete, validate the genericity by promoting the components to be first class resources as well (#1233).
Working on the generic aspect of Trac should also make it possible to implement various generic operations on Trac resources as plugins, mainly being able to (re-)implement TracCrossReferences as a plugin.
DONE
- Not yet started
The Milestone Example
The proposed data model would be:
-- record Milestone current properties -- create table milestone_prop ( id text, name text, value text ); create index milestone_idx on milestone_prop (id, name); -- record Milestone change metadata -- create table milestone_journal ( tid int primary key, date int, authname text, author text, ip text, authenticated int ); create index milestone_date_idx on milestone_journal ( date ); create index milestone_authname_idx on milestone_journal ( authname, authenticated ); -- record Milestone changed properties -- create table milestone_history ( tid int, id text, name text, value text, unique (tid, id) );
The existing milestone
table can be kept, it will simply not be used anymore.
This will allow to test the branch within existing environments.