Edgewall Software

Opened 17 years ago

Closed 15 years ago

#2087 closed enhancement (wontfix)

Ticket Dependency Variant

Reported by: chandlerc@… Owned by: Jonas Borgström
Priority: normal Milestone:
Component: ticket system Version: devel
Severity: normal Keywords: ticket dependency
Cc: jorvis@…, bmts@…, daved@…, mark81@…, slangley@… Branch:
Release Notes:
API Changes:
Internal Changes:


This is a ticket to provide a simpler, stripped down solution to the often requested ticket dependencies, that does not involve anything as complex as TracCrossReferences, but still provides the very useful functionality of being able to break apart tickets, and use dependency to determine the order they should be worked on.

Attachments (0)

Change History (11)

comment:1 by chandlerc@…, 17 years ago

Having spoken with several people on IRC concerning a simple way to do this, here is the current proposal:

  • Tickets can depend on several other tickets being closed before they can be closed.
  • Tickets can be added directly to dependencies. This is however not the recommended method.
  • Tickets can be created via a UI element of an existing ticket that are "children", or depended upon by the existing ticket.
    • These new tickets' descriptions can be (by a UI element in their creation page) automatically added as a comment to the existing ticket.
  • Reports should allow to sort tickets in a dependancy correct manner, if such an ordering is possible.

Outstanding issues are:

  • Where are the dependancies stored?

My proposal as to how to store dependancies is as follows:

  • There are two obvious options:
    • Each ticket stores a set of tickets upon which it depends.
    • Each ticket stores a set of tickets which depend upon it.
  • These both suffer from the difficulty of displaying the other.
    • In other words, each ticket will need to display both the tickets it depends upon, and those that depend upon it. While one of these is directly available, the other one becomes nearly impossible to determine.
  • Therefore, create a table specifically to store ticket dependancies.
    • A row would then be "<Dependie> <Dependant>" where both are ticket IDs.

Comments? Suggestions?

I will be attempting to implement this, so please give feedback.

comment:2 by dragisha@…, 17 years ago

Model of UI for creation assumes it's "single parent" so it's, for first take, good idea to have only parent field in ticket for child tickets. It's easy to query from trac's db. When ticket is toplevel, it's parent is 0, or it's own id.

In case we allow dep tree to be altered (and I don't see point there, as milestones are already that one "toplevel" sort device) then table is good idea as deps there can run really wild. But I am not sure if we need more than "single parent" and milestones for ticket sorting/grouping.

This "parent ticket" establishes formal dependency, and TrackLinks in tickets and comments allow for informal dependencies. IMHO, that's exact measure for first take on this.

comment:3 by asmodai@…, 17 years ago

In how much is this a duplicate of #886?

comment:4 by Gunnar Wagenknecht <gunnar@…>, 17 years ago

Cc: gunnar@… added

comment:5 by anonymous, 17 years ago

Cc: jorvis@… added

comment:6 by anonymous, 16 years ago

Cc: bmts@… added

comment:7 by anonymous, 16 years ago

Cc: daved@… added

comment:8 by anonymous, 16 years ago

Cc: mark81@… added

comment:9 by anonymous, 16 years ago

Cc: gunnar@… removed

comment:10 by anonymous, 16 years ago

Cc: slangley@… added

comment:11 by Christian Boos, 15 years ago

Resolution: wontfix
Status: newclosed

TracHacks:MasterTicketsPlugin can be considered as fulfilling this ticket.

For the implementation of ticket dependencies within Trac core, refer to #886.

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain Jonas Borgström.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Jonas Borgström to the specified user.

Add Comment

E-mail address and name can be saved in the Preferences .
Note: See TracTickets for help on using tickets.