Skip to content

Conversation

ferishili
Copy link
Contributor

This PR fixes #963 and introduces a new maintenance mode feature with backend and frontend integration, along with a series of improvements for configuration handling and system behavior during different maintenance states.

Key Features

  • Database Migration

    • Adds 3 new columns to the oc_config table (via migration no. 113).
  • Admin Server Settings

    • A new section to control the maintenance mode:
      • off or auto: disabled or automatically sync with OC (WIP).
      • on: No interaction with Opencast allowed. The frontend hides all videos and functionalities.
      • read-only: Only playback via the presentation node is allowed; videos are visible but not editable.
      • fallback presentation node URL: Optional; if not set, it is derived from the search endpoint.
      • maintenance message: Optional message shown to users in the frontend.
  • API Behavior

    • During maintenance mode, related API clients are not instantiated, enforcing no backend interaction and returning an internal 503 error when needed.
    • In read-only mode, only search and play endpoints are permitted.
  • Frontend Enhancements

    • Refactored how simple config values are read in Vue:
      • Now fetched once in App.vue and reused across components.
      • Introduces a new composable: useSimpleConfigChecker for periodic updates and page reloads on critical config changes.
  • Cronjob Handling

    • All cronjobs are disabled during maintenance mode.
  • LTI Behavior

    • on: LTI access is fully disabled.
    • read-only: LTI access is allowed only via the presentation node.

...

[WIP] Next Steps

  • Opencast is expected to expose an official maintenance mode endpoint (not finalized yet).
  • Once available, a cronjob will be added to sync the maintenance mode state from Opencast and reflect the changes in this system.

@ferishili ferishili self-assigned this Jun 26, 2025
@ferishili ferishili added status:needs-testing v:3 Everything related to the Stud.IP Opencast Plugin Version 3.x type:feature labels Jun 26, 2025
@ferishili ferishili requested review from tgloeggl and dennis531 June 26, 2025 08:56
@ferishili
Copy link
Contributor Author

@tgloeggl, @dennis531 since it is a new feature with a lot of changes, your feedback is very important!

Copy link

github-actions bot commented Jul 7, 2025

This pull request has conflicts ☹
Please resolve those so we can review the pull request.
Thanks.

@tgloeggl tgloeggl added this to the 3.31 milestone Aug 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status:conflicts status:needs-testing type:feature v:3 Everything related to the Stud.IP Opencast Plugin Version 3.x
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Opencast updates with no downtime
2 participants