Releases: openfun/marsha
Releases · openfun/marsha
v4.0.0-beta.7
Added
- Allow instructor to share a video and use breakout rooms
- Add resizing feature to the picture in picture mode
Changed
- stopped_at is deleted and started_at is reinitialized when the
live is restarted - Display number of anonymous instead of their pseudos
- Rename markdown route in markdown-documents
Fixed
- Missing migration to migrate video upload_state and live_state data
v4.0.0-beta.6
Added
- Add a widget for the instructor to upload thumbnail
- Add video stats from configurable grafana backend
- Add shared media support for the teacher
- Manage live media sharing with picture-in-picture on student side
- Add a webinar tab to the LTI select view
Fixed
- A thumbnail resource can be deleted and recreated.
v4.0.0-beta.5
Added
- Push attendance when a student is on stage
- Add Legacy LTI configuration XML
- Add an instructor widget to modify join the discussion mode
- Prevent join API calls in join mode denied
Changed
- Use custom policy to generate cloudfront signed url
- Upgrade front and mail apps to node version 16, the current LTS
- On LTI select request, only send title and description for existing resources
- Adding a new resource through LTI select (deeplinking) now creates it
with data from Moodle activity titles and description. - Fetch video data after websocket reconnection
- Use Roboto-Regular by default in our UI
Fixed
- Do not execute start streaming in jitsi for non moderator
- Prevent scroll when hovering a select on an iframe
v4.0.0-beta.4
Added
- Add a control pane destined to contain widgets for the instructor to
control the live - Add a widget to modify live title and allow / disallow live recording
- Add a widget to schedule live and modify description
- Add a widget to hide / unhide the chat, for the instructor and for its
students - Add Markdown document edition (new feature)
- Add a widget to make live publicly available and get the shareable url
- New field deleted_by_cascade on all model inheriting from SafeDeleteModel
Field added in django-safedelete version 1.2.0 - CLOUDFRONT_SIGNED_PUBLIC_KEY_ID settings is added. It contains the
public key id created on AWS cloudfront public keys - Push attendances for students watching a live
- Add a login page to authenticate Marsha users
- Allow live restarting after harvesting
Changed
- Move appairing device component in the widget dashboard
- Use cloudfront key groups to sign urls instead of using root AWS ssh key
Removed
- CLOUDFRONT_ACCESS_KEY_ID settings is removed
v4.0.0-beta.3
Added
- Add BBB meeting scheduling
- Save current language of a livesession
- Send emails in current livesession's language
- Load livesession's language in the JWT token for direct access
from email
Fixed
- patch video to publish it once harvested
- mjml files format not to break
trans
instructions - configure path for translated files in the backend
Removed
- Presence activity in the chat
v4.0.0-beta.2
Added
- Add a view to cancel reminder mails, link added in the footer of mails
- Prevent multiple join to BBB meetings
- Introduce anonymous_id mechanism
- Create a direct access to a video out of an LMS context for a public
or LTI ressource, based on a liveregistration - Auto-set in the localstorage anonymousId if it's set in the JWT token
- Persist live video participants
- Add a vertical slider on the live view, to resize the panel on the
right (and close / open it) - Add PATCH endpoint to update a LiveSession
- Add start and stop live recording
- Generate a JWT token to connect to jitsi
- Save livesession registration date
Changed
- rename LiveRegistration model in LiveSession
- Disable jitsi prejoin page
- Admin can access all LiveSession belonging to a video
- Move on-stage request functional (in Instructor view) from under
the video to the ViewersList in the right panel - Prevent students from joining the discussion anonymously
Fixed
- Allow to configure converse persistent store
- Show a specific message to students when BBB meeting ended
- Remove cancel button in student meeting join form
- Replace automatic meeting joining by a button
- Allow generated links in Django admin for objects in other applications
- Do not install the
marsha
Python package insite-packages
- Do not allow a lti user to change his email when he registers to a scheduled
live - Expose XMPP info for a live once this one started
- Continue stopping live even if input waiter fails
- Dispatch video in the websocket when start/stop recording
- Send registration email when livesession is updated and is_registered
set to True - Stop trying to start recording jitsi when this one is already live
- Live layout for teacher on smartphone
- Live recording actions visibility
Removed
- Remove email when the webinar started earlier
- Remove video constraint video_unique_idx
v4.0.0-beta.1
Added
- Add model and API endpoints to manage a shared live media
- Add component to display chat, viewers and apps during a live in a panel
- Add
consumer_site
in JWT token - Allow CORS headers configuration
- Extract SVG pages from PDF files for shared live media in lambda-convert
- Add fields
is_registered
,live_attendance
,username
for liveRegistration - Add DRF endpoint to start attendance monitoring using liveRegistration model
- Add a new chat, using react components and design complying with the mockup
- Add anonymous_id and display_name in LiveRegistration model
- Add new endpoint to set display_name
- Add API endpoints to start, navigate and end a live media sharing
- Add fields
allow_recording
,estimated_duration
,has_chat
and
has_live_media
for Video model and API - Manage websocket using django channels
- New video consumer able to send serialized video to all clients connected
to the websocket when a video is updated through the API - Add email settings and configure
mailcatcher
in docker-compose stack - Transform
mjml
files (email's template files) to html and plaintext - Add a participants tab, listing all users connected to the chat
- Add an authentificatin pop-up in the chat
- Add a default config file for the chat
- Add 'joined' and 'left' labels in the chat for users arrivals and departures
- Send updated video to clients connected to the websocket for all
events related to the live workflow (start, pause, end, shared live medias) - Send email when registering for a scheduled webinar
- Management command sending reminders for scheduled webinars
- Implement a way to address prosody controls on the nickname entered in the
chat - settings DEFAULT_LTI_LAUNCH_PRESENTATION_LOCALE as fallback value when
launch_presentation_locale missing in the LTI request - allow to configure CSRF_TRUSTED_ORIGINS django setting
Changed
- docker image use python 3.10
- Rename lambda-encode to lambda-convert
- Registrations of a scheduled video from LTI are now based on
lti_user_id
,consumer_site
, andcontext_id
- Converse.js UI is not used anymore, react components are used instead
- Add anonymous_id parameter to register a user to a scheduled webinar
- Update live layout for students
- Use websocket to update video resource instead of polling the API
- Improvement of emails templates for scheduled webinars
- Use websocket in the VOD dashboard and stop polling resources
- Display chat and viewers list in the tabs panel
- Upgrade to Django 4
- Integrate live advertisement in live layout
- Disable jitsi deeplinking
Removed
- Remove user id in prosody JWT token
v3.27.0
Added
- Prepare backend to manage apps
- Prepare frontend to manage apps
- Add BBB backend app
- Add BBB frontend app
- Add configuration to filter app with feature flags
- Start and stop a live
- Add a form to create a scheduled video on the Dashboard
- Add frontend components to register an email for scheduled webinars
- Add API endpoints to pair an external device to Jitsi live videos
- Add a store in the frontend to control live layout
- Add frontend components to pair an external device to Jitsi live videos
- Add public availability to video api
Changed
- Postpone AWS creation stack to the first live start action
- Scheduled videos have a live_state set to IDLE
- Allow access to videos with a scheduled date past
Fixed
- Users with empty email in their token can register to scheduled webinars
- Users with wrong email in token is properly detected as registered
- Users waiting on the registration page are redirected if video is started
earlier - Update store in the WaitingLiveVideo component
- Set specific timeout to 30 seconds in pollForLive to update the store
Removed
- check_live_idle management command
- Remove validate_date_is_future validator on Video model
v3.26.0
Added
- Add video and document downloading xAPI events
- Video model add a
starting_at
field and the notion is_scheduled - Add email in JWT token
- Add liveRegistration model to save registrations to scheduled events
- Add DRF read and create liveRegistration endpoints
- Allow DRF list action for liveRegistration endpoint
- Use existing username in jitsi if defined
Changed
- Redirect participant to the player once jitsi conference left
- Redirect instructor to the waiting jitsi page once conference left
- Only a webinar using jitsi can be created
- Hide timed text pane when video is not a VOD
- On app load instructor is redirected to the dashboard when the video
is a live
Fixed
- Implement useTranscriptTimeSelector with videojs
Removed
- IE11 is no longer supported
- JITSI_ENABLED feature flag
v3.25.0
Added
- Enable smacks in converse conf when websocket is used
https://modules.prosody.im/mod_smacks
Changed
- Request initial MUC config before modifying it
Fixed
- Trigger XAPI initialized action before a first play
for a live video - Listen video play event instead of playing to send the XAPI played event