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

Ranges try (and fail) to capture both extent and hierarchy #1070

azaroth42 opened this Issue Feb 14, 2017 · 9 comments


None yet
5 participants

azaroth42 commented Feb 14, 2017

The canvases / ranges separation allows for ranges to be used to capture navigation hierarchy, separate from the complete extent of the parent range. 2.1 allows the use of members to capture a single order across both canvases and ranges (#716). However, the v3 proposal to reduce down to just members loses the functionality of separation of extent and hierarchy.

For example, a video starts with 20 seconds of applause and audience noise. The start of Act 2 of the Opera then starts at 20 seconds and continues until 620 seconds. At 60 seconds in, the first song within Act 2 starts for 120 seconds. Then at 300 seconds in, the second song starts and runs until 360 seconds. We do not want to create an artificial range for the time spans 0,20 or 180,300, or 360,620.

Extent of:

  • Act 2 is 20,620
  • Act 2, song 1 is 60,180
  • Act 2, song 2 is 300,360

Goal is to display this hierarchy without additional ranges.

Opera is:

  • Act 1
  • Act 2

@azaroth42 azaroth42 added this to the Presentation 3.0 milestone Mar 8, 2017


This comment has been minimized.


azaroth42 commented May 31, 2017

To try and summarize the consensus from the AV discussions, and then relayed on a broader IIIF technical community call...

  • Each range will capture its extent, either by including the canvases (or parts thereof) directly or by including further ranges. If a canvas is not transitively included within a range, then it is not part of the range.
  • Only ranges, and only ranges with labels, will be present in the navigation displayed to the user. Other ranges without labels might exist. If a part of a canvas should have a label for navigation, then it must be within a Range.
  • Ranges with labels and with a no-nav viewingHint will not be displayed in navigation to the user.
  • Child ranges will be included by value rather than reference as currently. Thus the structure will be present in the document, rather than being calculated by constructing via the has-part relationships and the URIs of the child resources.
  • All child ranges and canvases will be included in the members property.
  • canvases and ranges properties will be removed from the model.

Example structure:

@tomcrane tomcrane added the discuss label Jun 14, 2017


This comment has been minimized.


tomcrane commented Jul 25, 2017

Option 3 agreed on as the solution on AV call 25/7/2017


This comment has been minimized.


zimeon commented Oct 4, 2017

Has been agreed in previous discussions but will air for final ratification in Toronto (will not discuss in detail as that would take too long).


This comment has been minimized.


jronallo commented Oct 4, 2017

@tomcrane Where would we find "Option 3"? I'm not sure I'm following which option that is.


This comment has been minimized.


tomcrane commented Oct 4, 2017

Sorry not very clear in the comment history. Several variants (in that repo) were put forward.


This comment has been minimized.


jpstroop commented Oct 12, 2017

Toronto WG Plenary: 👍 after a fair bit of explanation

@azaroth42 azaroth42 self-assigned this Nov 16, 2017

@azaroth42 azaroth42 referenced this issue Nov 17, 2017


1070 ranges #1309

@azaroth42 azaroth42 added review and removed in progress labels Nov 17, 2017


This comment has been minimized.


azaroth42 commented Dec 4, 2017

Closed by #1309

@azaroth42 azaroth42 closed this Dec 4, 2017

@azaroth42 azaroth42 removed the review label Dec 4, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment