As the subject suggests, I am going to try to discuss several gigantic topics in Trac development.
So brace yourselves
(or abandon now)
The root for this discussion is my need for richer user management in Trac (http://trac.edgewall.org/ticket/2456#comment:49
and Christian's reply that this should go into core, but employ GenericTrac (http://trac.edgewall.org/wiki/GenericTrac
) instead of yet another model.
I have spent a good part of the time since then looking into tons of wiki pages and tickets related to the topics mentioned in the subject (about 60 open tabs... good thing I have tab-kit for Firefox), that seem to be very inter-related to one another, and ended up with lots of insights and ideas, but also with much confusion as to how to proceed.
From the GenericTrac page it is not clear whether the concept is still being designed and actively discussed, or completed the design phase, and if implementation has begun somewhere (trunk / experimental branch / ..).
Bottom line - what should I do in order to jump in and make it happen??
Furthermore, the details on the GenericTrac page are pretty focused on DB schema design, while I was also expecting details on a generic object model.
This generic object model is mentioned in http://trac.edgewall.org/wiki/TracDev/Proposals/DataModel
(which refers the reader back to GenericTrac), and also in http://trac.edgewall.org/wiki/TracObjectModelProposal
(suggestions for a term for a "facet" of a TracObject: aspect, view, trait, descriptor).
It's a little spaghetti-docs, so it's hard to tell which is the authoritative source on the subject, and the same questions as raised concerning GenericTrac apply here as well (state of design / discussion, state of implementation, pointer if I want to join).
Considerations of multi-project support are intertwined throughout the previous 3 major topics, and I couldn't agree more that introducing GenericTrac and a unified generic ObjectModel is an excellent chance to apply multi-project considerations. Unfortunately - this makes the task even scarier in size than it's already is, which contribute to feelings of confusion and disorientation I experience (I'm certain that if it wasn't a holiday here, and I wasn't looking for excuses to avoid working on my thesis-research, I would never make it this far in digging into the docs and code).
I think what should help in moving this forward is:
- A coherent description of the state of things today (my questions above)
- Some organization in the docs to avoid the spaghetti-sensation I experienced
- An operative plan to implement the generic DB-schema and ObjectModel, that is clear enough to supply pointers to contributors who are interested in working on this (for example, I'm interested in working on user management, and am willing to do extra in order to make the generic stuff happen).
If such a plan doesn't already exist in some way or another, I guess this is an opportunity to form that plan and discuss it.
I think that, ultimately, there should be the following resources on t.e.o to track this endeavor:
- Proposal-wiki-pages describing the *chosen* design of: Generic DB schema, Generic object model, Multi-project support (with historical ideas, discussions and brainstorming conveniently hidden in sub-wiki's under these proposals (or better yet, if it existed - another "facet", like discussions, or brainstorming)).
- A dedicated milestone ("Generic Trac") with the operative plan as its description.
- Assigning existing relevant tickets to this milestone, and creating new relevant tickets under this milestone.
there are really lots of tickets that are relevant, so it might be useful to select a handful as leading use-cases and include them in the above operative plan.
I'll finish with a little off-topic remark on the method of discussing proposals:
if I read the wiki correctly, it appears that discussions took place directly within the wiki, by editing the content.
this seems somewhat uncomfortable as compared to mailing list threads or ticket comments,
since I don't get notifications for wiki-updates (no cc on wiki's), and it's not as trivial to track who changed what and why.
don't read this as a complaint, but as a use-case for the generic object model, combined with the tabbed views concept (e.g. wiki's should also have cc-fields, and a discussion view (facet?
), that can exist "behind" the "current content").
so, thanks for reading up to here,
and I hope this will help make stuff happen!
(there are numerous multi-year-old defects and enhancements that can be solved if we do this right!)
- Itamar O.
You received this message because you are subscribed to the Google Groups "Trac Development" group.
To post to this group, send email to trac-dev <at> googlegroups.com.
To unsubscribe from this group, send email to trac-dev+unsubscribe <at> googlegroups.com.
For more options, visit this group at http://groups.google.com/group/trac-dev?hl=en.