-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
View partial hierarchy graph #199
Comments
Hi @MJochim, as mentioned I'm working on the hierarchy view this week. Going through every issue that mentions hierarchy functionality. Is this issue still relevant? Performance of hierarchy view seems great these days and I've got the fix to issue number 2 ready for testing (Users cannot select an item in the labeller and open the hierarchy view to see exactly that portion of the hierarchy). Do you still want a PDS or can this issue be closed, pending the fix to issue #301 ? |
If you have a fix for one of the issues addressed here, I’ll gladly review and merge it without a PDS. God knows when someone might have the time to implement a fix for the other issue. Much better if we fix one than none :-). Apart from that, I’d like to leave this issue open, unless we can confirm that performance is not a problem anymore. I think the test data I had when I opened this issue was a 60 minute excerpt from an audio book. Have you tested with something similarly long? (This is related to your question in #151 “is 10 levels enough?” – both issues boil down to “how much is enough”) |
This feature request addresses two issues:
Create a PartialDataService
The PartialDataService (PDS) should provide a subset of the annotation object provided by DataService (DS), such that only items within a given time range are included. This is trivial for EVENT and SEGMENT levels, but it is non-trivial for links and ITEM levels.
Remember that levels are arrays of items. The order of those arrays must not be changed. PDS must therefore provide a mapping from array indices as provided by PDS to the original array indices as provided by DS. We discussed two options to do that:
originalIndex
.Modifiying data (by user action)
Any modification of the bundle annotation must be applied to DS, never to PDS. Whenever DS is modified, the PDS must rebuild its data. This is the easiest way keep DS and PDS in sync (which is vital!). It is also the only way not to confuse the HistoryService (or rather, confuse ourselves to death in building the HS). HS is critical and difficult and should never get to know PDS.
Exploiting the PartialDataService
I suggest that the hierarchy view always use data from PDS and never from DS to display. If the whole graph is to be drawn, it can be a partial graph containing the whole portion. This way, we avoid having to implement two different modes of the hierarchy view (one where PDS is used and one where DS is used).
On the other hand, we need a way to know in which directions the partial graph can be extended. PDS should indicate this.
I am not sure whether there are modules other than the hierarchy view that might benefit from PDS.
The text was updated successfully, but these errors were encountered: