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 multiple motivations for a single annotation #431

Open elynema opened 8 months ago

elynema commented 8 months ago

Is your feature request related to a problem? Please describe. Annotations in manifests produced by AVAnnotate seem to often contain multiple motivations. In the example below, there is a textual annotation that is labeled as both supplementing and commenting.

Describe the solution you'd like It is currently unclear the best solution. In this example, it seems that the commenting motivation is the most meaningful. Perhaps discuss with AVAnnotate team the purpose of the additional supplementing motivation.

In some scenarios, might we display the annotation twice to respond to both motivations?

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

Additional context Here is an example from this manifest: https://lgsump.github.io/maya-deren-example/meshes-of-the-afternoon/manifest.json

"@context": "http://www.w3.org/ns/anno.jsonld",
      "id": "meshes-of-the-afternoon-canvas-1-shadow-annotation-0.json",
      "type": "Annotation",
      "motivation": [
        "supplementing",
        "commenting"
      ],
      "body": {
        "type": "TextualBody",
        "value": "Here we get the first glimpse at something important to understanding the artist’s play with shadow in that the form already is chosen in Black & White film.",
        "format": "text/plain",
        "purpose": "commenting"
      },
      "target": {
        "source": {
          "id": "https://lgsump.github.io/maya-deren-example/meshes-of-the-afternoon/canvas-1/canvas",
          "type": "Canvas",
          "partOf": [
            {
              "id": "https://lgsump.github.io/maya-deren-example/meshes-of-the-afternoon/manifest.json",
              "type": "Manifest"
            }
          ]
        },
        "selector": {
          "type": "PointSelector",
          "t": "16"
        }
      }

Done Looks Like

joncameron commented 2 months ago

Right now Aviary is able to display these manifests but Ramp is not. We can look at the Aviary player for how implementation goes, and talk to AVAnnotate project members to get more background on how the supplementing motivation is being used. We can then make changes to support the expectations of rendering when there are multiple motivations.