samvera-labs / ramp

Interactive, IIIF powered audio/video media player React components library. Styleguidist Docs: https://samvera-labs.github.io/ramp/
https://ramp.avalonmediasystem.org/
30 stars 5 forks source link

Support display of external annotations via an AnnotationPage reference #437

Open elynema opened 9 months ago

elynema commented 9 months ago

Is your feature request related to a problem? Please describe. AVAnnotate manifests may reference an external AnnotationPage rather than embedding annotations directly into the manifest itself.

Describe the solution you'd like Ramp should automatically pull in the annotations in the external AnnotationPage to determine if they should be displayed.

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Additional context IIIF recipe for embedded or reference annotations: https://iiif.io/api/cookbook/recipe/0269-embedded-or-referenced-annotations/

Dananji commented 6 days ago

Example Manifests with linked external AnnotationPage:

Annotations in these external annotations follows the formats mentioned in #431 and #436 (with multiple motivations and multiple TextualBody elements in the annotation's body).

Scope of this ticket, would be to identify the linked external annotations in the AnnotationPage and then pass them over to the parsing mechanism where multiple motivations are handled.

Implementation notes:

Dananji commented 6 days ago

When there are multiple sets of annotations for a single Canvas, does Ramp display one set of annotations (like AVAnnotate) or multiple sets (like Aviary) at a given time?

Manifest with external linked AnnotationPage has multiple annotations sets which both Aviary and AVAnnotate allows the user to select. But they treat these slightly differently in the UI.

AVAnnotate Aviary
Displaying annotation sets for multiple AnnotationPage objects listed in the annotations list in the Manifest allows the user to select only one annotation set at a given time allows the user to select multiple annotation sets at the same time
Use of label of AnnotationPage displays as an option in the drop-down to select an annotation set displays the label as a filter in the multi-select drop-down and as a tag below each annotation in the list
Use of the value of purpose: "tagging" element in annotation body. Sample screenshot of the same annotation set. displays as a tag below each annotation in the listScreenshot 2024-11-19 at 10 27 14 AM does not display this value in the UI, instead uses the AnnotationPage label as a tagScreenshot 2024-11-19 at 10 29 35 AM