Edgewall Software

Changes between Version 1 and Version 2 of TracMultipleProjects/SingleEnvironment


Ignore:
Timestamp:
May 6, 2005, 2:49:14 PM (19 years ago)
Author:
Christian Boos
Comment:

Added some details about different implementation ideas

Legend:

Unmodified
Added
Removed
Modified
  • TracMultipleProjects/SingleEnvironment

    v1 v2  
    3939(Subversion) repository, in a single Trac environment.
    4040
    41 == Possible implementation ==
     41== Possible implementations ==
     42
     43=== Using a project field ===
     44
     45Within one database, a {{{project}}} scope could be added
     46to the Trac objects, in addition to their {{{type}}} and {{{id}}}.
     47
     48See [http://lists.edgewall.com/archive/trac/2005-May/002932.html this mail]
     49for some additional explanations.
     50
     51=== Using Component objects ===
    4252
    4353The ticket #1048, as well as ticket #1135, suggest that
    44 the already existing ''Component'' ticket field could be
    45 used to represent a project.
     54the already existing ''component'' ticket field could be
     55used to represent a project. 
    4656
    47 cboos explained in ticket #586 (although that ticket belongs to the
    48 other multiple component support ''family'') how this could
    49 be implemented using the experimental relationship facility introduced
    50 in the source:branches/cboos-dev/trac-obj-branch branch.
     57But currently, a ''component'' is nothing more than an enumeration,
     58and even if one could attach more information to a component
     59in the {{{trac.ini}}} (as #1135 does), this would not be very flexible.
    5160
    52 ''more explanations to come...''
     61A component could be instead a new kind of Trac object, with
     62a few specific fields, like the list of Source objects
     63(repository paths) that contain the source code of the component
     64(see TracObjectModelProposal).
    5365
     66Tickets or milestones could also be associated to one or
     67more components, using relationships (see TracCrossReferences).
    5468
     69This would enable to filter the timeline events by a list
     70of components, and only showing events about changesets or
     71tickets that are related to them.
    5572
     73a follow-up idea would be to have ''User'' Trac objects,
     74corresponding to each developer in the team.
     75Those objects could have relations like __owns__, or __works-on__
     76to the Component objects.
     77
     78The default set of components used for filtering could be those
     79associated to the user by the way of its user page.
     80
     81Of course, at this point, there are a lots of missing pieces in this
     82picture:
     83 * the relations and the trac objects are only in their infancy in the
     84   [source:branches/cboos-dev/xref-branch xref-branch]
     85   and the [source:branches/cboos-dev/trac-obj-branch trac-obj-branch]
     86 * some additional design is described in the TracObjectModelProposal,
     87 * and a few things are yet to be invented, but you get the idea (I hope!)
     88
     89This approach was initially introduced in ticket #586
     90(although that ticket belongs to the other multiple component support
     91''family'').