Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Links Hierarchy shows data from the root issue perspective. It breaks down network structures into hierarchical trees by adding redundant issues. This approach has some benefits and drawbacks. The major drawbacks are that it produces larger structure data (and likely poor performance) making more difficult to get the overall perspective of how issues are linked whereas the benefits are that data is easier to read for issues individually (it brings full context) and data can be loaded under users' demand.


Circular linked issue structures (like the one shown below) would produce infinite hierarchical structures.

Image Modified


DEMO-9 (blocks) → DEMO-5 ← (relates) DEMO-8 ← (duplicates) DEMO-10 (relates) → DEMO-9 (blocks) → DEMO-5 ...

The DEMO-9 issue is transitively included N-times as shown in the picture above, making an infite loop and therefore and infinite hierarchy when the network graph is broken down into a hierarchical tree.

To avoid this, Links Hierarchy loads issues once only per branch. This makes finite hierarchies. However, the displayed issues could have different context (linked issues) accordingly their position in different ways to be linked to the structure). In large hierarchies, users could be confused by missing those removed circular issues if they were not painted. At the risk of producing even larger hierarchies, the add-on shows circular issues Therefore the app includes circular issues as duplicated issues  to ensure that all the issues in the structure have the same context (linked issues) regardless their location. Such circular However, duplicated issues cannot be further loaded (expanded to avoid infinite structure data). Of course, they have a tooltip to help users to locate the same issue (linked in a reversed way) in a higher level location (nearest to the root issue):
Image Removed hierarchies.

Following the example, note how the DEMO-10 issue is present twice in the hierarchy because:


DEMO-6 ← (is duplicated) DEMO-10

DEMO-9 ← (relates to) DEMO-10

 Image Added

As the DEMO-10 issue is present twice, it can be expanded from different locations in the hierarchy.

DEMO-9 ← (relates to) DEMO-10 (duplicates) → DEMO-6

and from the location:

DEMO-9 (blocks) → DEMO-5 (relates to) → DEMO-6 ← (is duplicated) DEMO-10 (relates to) → DEMO-9

Therefore the same link is duplicated in the hierarchy and the app uses an special icon Image Added(in the more depth levels to highlight this) and those issues cannot load more data to avoid infinite hierarchies.

Displaying duplicates issues is important in large hierarchies as not all the data can be seen at a glance. Therefore duplicated issues must be painted, otherwise the users would miss them and no full context would be provided everywhere.