Closed azaroth42 closed 10 years ago
The viewing_hint "start" collides with oa:start from TextPositionSelector, both would be URIs that have the JSON representation of "start". http://www.openannotation.org/spec/core/specific.html#TextPositionSelector
Can we rename to "start_canvas" to avoid this particular collision? Or something else?
"logical_start" ?
"viewer_start"?
Also just to throw a wrench ... given that these are on the Canvas, which might be in different sequences, we run into trouble when different sequences have different start canvases. The viewer will just pick the first start ... which might be from the other sequence :( Do we need to replace it with a relationship from Sequence to Canvas?
I'm sure I follow--wouldn't a viewer choose a Sequence first, and then look for the start_here_everything_before_me_is_boring Canvas?
If thats not logical for some reason I'm not seeing, maybe there should only be one start_here_everything_before_me_is_boring per Manifest?
It would select a Sequence of Canvases, call them A through Z. That Manifest might have a second Sequence, which would have the exact same Canvases, and hence both sequences have the same Canvas with a start_here_please hint. But if that Canvas isn't the right start_here_please for the second Sequence, you can't tell which to use.
If the algorithm is to walk through the current sequence and pick the first start_here_please, then that solves it a little bit. But you might have a situation, like...
Where capitals are the intended start_here_please.
As B always comes before D, and the canvases are the same, sequence 1 will start at B even though the intent is for it to start at D.
I think this could easily turn into the "Why are multiple sequences possible when Ranges exist?" discussion we had in May, so, to sidestep that, is only one start per Manifest possible?
I agree it's veering in that direction. Notably, also, towards ranges used for table of contents being tied to Sequences as well, following the same logic.
My concern is that to fix it if we defer would potentially require a new Major version. Perhaps a call early next week to discuss with any interested parties? It impacts pretty much any system.
Sorry, typed that last one while on the phone; glad you understood.
So, I'm still wondering (you probably have a wider variety of use cases in mind), what's wrong with making "start_here" and "top" (for that matter), only allowed once per Manifest?
Because that means also one Sequence per Manifest, which while currently isn't a big problem as there (as far as I know) haven't been any non experimental multi-Sequence objects, there are a lot of use cases for multiple sequences.
Multiple "top"s aren't quite so bad, as the UI can present a choice of ToC -- hopefully the label would allow the user to select which one to use. However "start_here" isn't interactive, that would defeat the point.
So two options:
I'm not convinced that 2 is feasible without significantly delaying 2.0. On the other hand I don't want to go to 3.0 straight after 2.0.
RS, JS -- "begin" and option 1, as works fine for 99.999% of the cases.
@zimeon proposes the relationship option, and @azaroth42 to discuss on iiif-discuss
Per call, it was seen as worthwhile to solve the edge case at the cost of some (hopefully minimal) additional complexity.
Proposal:
{
"@type" : "sc:Sequence",
"start_canvas" : "uri-of-canvas",
"canvases": [ ... ]
}
Means updating:
My perspective: It seems cleaner than the viewing hint 99.9% solution and isn't significantly more complex.
I don't see any problems with this approach. Do we like "start_canvas"? Was "start" only bugging us because of the collision with "oa:start"?
+1. I think start_canvas
is worth the few extra characters for clarity in reading, even if original motivation was to avoid collision
Agreed.
-Js
Sent via mobile. Please excuse typos, brevity, etc.
Looks good ; 'start_canvas' is more informative.
Changes are in the branch referenced above. Shall I go ahead and issue a PR or wait to see if there's discussion on iiif-discuss?
Right seems like an obvious solution to me (right?). Wait a day if you want, but I think I'd be comfortable with proceeding.
-Js
Sent via mobile. Please excuse typos, brevity, etc. On Aug 6, 2014 6:05 PM, "Rob Sanderson" notifications@github.com wrote:
Changes are in the branch referenced above. Shall I go ahead and issue a PR or wait to see if there's discussion on iiif-discuss?
— Reply to this email directly or view it on GitHub https://github.com/IIIF/iiif.io/issues/290#issuecomment-51404263.
We have a good solution in the Image API for
supports
that allows extension but looks like strings. We should do the same for viewing_hint and viewing_direction instead of the current method.The documentation change is just to say that any URI can be added, rather than any value, for viewing_hint. And then the contexts need the same trick as Image already has for
supports
.