Active
Project:
Project issue tracking
Version:
7.x-2.x-dev
Component:
Issues
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Reporter:
Created:
21 Apr 2013 at 09:15 UTC
Updated:
21 Apr 2013 at 11:59 UTC
Jump to comment: Most recent

Comments
Comment #1
dwwAccording to amateescu from #44162-47: Relationships between issues: support for parent issue and related issues:
I'm tempted to mark this "postponed" so we focus on getting d.o D7 launched at all so we can start recording issue relationships directly. We can worry about slick/nice ways to visualize the data later. But, so long as it's not too distracting for me and the other Project* maintainers, if other people get this totally working and slick on their own, we can consider including it. So, I'll leave it active, with a request that this doesn't become a time-sink. :)
Thanks,
-Derek
Comment #2
dwwp.s. While I'm thinking of it... a word of caution:
Since we do no validation on the issue parent field (other than that it's an issue), there's nothing to guarantee tree semantics. You could have two issues that both think they're each other's parent (a cyclical relationship). Therefore, anything we do here can't try to recursively traverse the entire tree since in practice, all we know is it's a directed graph, not even a DAG (Directed Acyclical Graph) much less a tree. :/
So, for example, we could start at a given root node ("node" in both the graph theory and Drupal senses of the word) and do something like this:
- show all the children
- show all of their children (grandkids)
- (maybe) show all of their kids (great-grandkids).
Due to cycles, you might see the same issue in multiple places in this tree, but at least this algorithm will terminate. By comparison, this is a no-go:
- start at the root
- show all children
- recurse until there are no more children
See what I mean? So whatever this ends up being will need to have a fixed value for the number of times we're going to try to recurse.
Comment #3
klonos...true, but the solution of only recursing down to only a certain depth limits the way we could expand this feature. The end goal here is to have some sort of roadmap or % complete for issues and meta-issues or initiatives. Not getting the "full" tree of issues would not provide accurate data of how close to 100% we are in each issue (provided that each linked issue has an equal merit of the final 100%)
Comment #4
dwwSure, but until we do something to guarantee tree semantics (unlikely to ever happen), we *have* to pick a limit. Doesn't have to be 3, but it has to be something. We can't have infinite recursion on d.o. Just because you want it to go arbitrarily deep doesn't mean we can provide that. Sorry.
Comment #5
klonosFair enough...
I understand that recursing can lead to infinite loops and we surely don't want that, but how likely is it for this to happen with d.o issue relations (unless someone intentionally tries to really kick all tires)? You see, the usual workflow is to have a single meta-issue/initiative as the root, then its subtasks as the second level of children and then perhaps some follow-ups for these subtasks. Even if the 2nd-level subtasks are meta-issues themselves, I believe we won't go to more than 5 levels deep or that such cases will be extremely rare. So, I'm pretty sure that if we set the limit to something relatively high (like say 10 levels), it will be more than enough to cover d.o reality and still have a safe limit in place.
Anyways, by filing this feature request here I wanted to express the feeling I get from the Bugzilla issue tree or the Track roadmap %. IMO these both -though not perfect either- do a far better job to communicate the status/ETA of an issue. If we had something like that in place, we'd have less "are we there yet?" questions "polluting" the queues.
For all the reasons above, I would appreciate it if you left this issue open or at least postponed. Thanx.