avalonmediasystem / avalon

Avalon Media System – Samvera Application
http://www.avalonmediasystem.org/
Apache License 2.0
94 stars 51 forks source link

Add Routes for Timeliner Annotations #6080

Open joncameron opened 1 month ago

joncameron commented 1 month ago

Description

URLs are available to request a specific timeline in Avalon, but users would also like to be able to share URLs that load the Timeliner tool to a specific time point or time range.

Query from instructor using Timeliner in course work:

I’m curious if students can use the timeline feature either to embed video from MCO, or just stable URL links to specific, saved timeline markers into a Canvas page. The idea would be for other students to be able to navigate directly from the page to a chosen segment of the video in order to follow an argument about the music and complete a peer review.

Would it be better to have a RESTful URL, or is it passed through a parameter? Is there any need to have things beyond a timepoint, since Timeliner doesn't have "focus" per se on particular objects within?

Could we look at the IIIF Content State API to inform this work?

Done Looks Like

joncameron commented 1 month ago

This should be a Timeliner issue and can be moved to that repo. Timeliner is currently an iFrame in Avalon; we may need to do something similar with Ramp, where Avalon is passing the parameters (like start time) to Ramp to initialize it to the requested point contained in the URL.

Partial work in Avalon and Timeliner for this. We'll need to look into the code more to figure out where changes need to be made to pass in the right URL. Right now we're passing the full URL into the iframe, and Timeliner is already taking query parameters when it's being instantiated.

We can give this an estimate after looking a little further into how Timeliner is started in Avalon.

Dananji commented 1 month ago

It seems Timeliner doesn't have a queryParam that enables for us to give it a time point at the moment. Current list of query params are; resource, save, callback, noFooter, noHeader, noVideo, noSourceLink