openfun / marsha

:clapper: An opensource LTI Learning Content Management System (LCMS)
MIT License
107 stars 24 forks source link

Add attendance tracking #1204

Open sampaccoud opened 2 years ago

sampaccoud commented 2 years ago

Feature Request

Is your feature request related to a problem or unsupported use case? Please describe. We want to keep track of users attendance to a webinar/class. Instructors should have access to an attendance oard on which they can see a list of all attendees with a small time graph of their attendance.

Describe the solution you'd like The frontend should emit attendance timestamps at regular intervals only if the user is actually viewing the live (every 60 seconds?). Some information about the state of the viewer could be sent alongside the timestamp : is sound on? Is the browser tab active? The backend should record these timestamps for each attendee and offer an API endpoint for the instructor to retrieve the aggregate attendance of all attendees.

The 3 first PR should prepare the backend:

Once the backend is in place, continue with 3 front-end pull requests:

lunika commented 2 years ago

The event we can listen with videojs is timeupdate. We already use it to sync transcript with the video: https://github.com/openfun/marsha/blob/89bfe3dacf4a7d68365596f8b62daffdebd8c858/src/frontend/Player/createVideojsPlayer.ts#L173-L178