To understand better to what projects a sub-project or
milestone belongs show the entire ancestor path.
Solves part of T69306.
Differential D5656
Show ancestor path for sub-projects and milestones. Authored by Nathan Letwory (jesterking) on Sep 2 2019, 11:09 AM.
Details
To understand better to what projects a sub-project or Solves part of T69306.
Diff Detail
Excuse: not my code
Event TimelineComment Actions What is the relation of this change with what Brecht did in D5521?
Comment Actions Thanks for the review, I've addressed the issues. I was aware of the patch by @Brecht Van Lommel (brecht) in D5521. Probably better I merge this patch into D5521. The difference between the D5521 and this patch is that this gives the entire ancestor path as per request from @Dalai Felinto (dfelinto) . Comment Actions The getDisplayNameWithAncestorPath seems fine now. The place where it is used seems a bit weird. As the patch stays currently you will only see a full path in the search results pop-up when tying in "Change Project Tags" and when you initially click on the results (because that, i believe, just renders the tag on the client). If you then save the changes the project tags on a side of, say task, will only show subproject name, without full path. Don't think this is a desired behavior, and think Brecht's-like change in PhabricatorProjectProjectPHIDType->loadHandles is needed.
Comment Actions Actually, after close inspection, i think getDisplayNameWithAncestorPath() needs more work to give same result as getDisplayName() for milestone. Comment Actions I initially did use $proj->getDisplayName(), but that resulted in having the parent project of a milestone being repeated unnecessarily. A > B > 1 vs A > B > B (1). @Sergey Sharybin (sergey) Do you suggest to do the latter? Or just A > B (1)? @Dalai Felinto (dfelinto) what is your preference? @Dalai Felinto (dfelinto), also regarding showing of ancestors elsewhere - only direct parent, all ancestors, or as currently is? Comment Actions We shouldn't have discontinuity in a way how milestone is presented by getDisplayName() and getDisplayNameWithAncestorPath(), otherwise you're having confusing situation when same thing is presented differently in different places.
Sorry, I don't know what A, B and 1 is supposed to mean in your example. Using more descriptive mock names is always a great idea. What i am suggesting is: Grand Parent > Parent > Project (Sprint 99), or Rendering > Cycles (Sprint 99).
I don't think this is a correct phrasing of the question. Unless there is constructive disagreement with what happens in upstream, you should not diverge. Comment Actions The last changes should address all open issues. Rendering the entire path in all places may be a bit much, but lets go with this for now. We can always tweak if the need arises. Comment Actions
Comment Actions Indeed it seems fully working - that said I still don't know why we use ">" instead of "→". | |||||||||||||||||||||||||||||||||||||||||||||