Skip to content

Release 9 fixes bundle (ReviewApp sr-fixes-9) - #511

Closed
chfsx wants to merge 6 commits into
opencast-ilias:release_9from
srsolutionsag:reviewapp/9
Closed

Release 9 fixes bundle (ReviewApp sr-fixes-9)#511
chfsx wants to merge 6 commits into
opencast-ilias:release_9from
srsolutionsag:reviewapp/9

Conversation

chfsx added 4 commits May 29, 2026 11:37
The 'Series' column sorted by the series identifier (UUID) instead of the
displayed series name, and the ASC/DESC branches were swapped. Sort by
getSeriesName() with the correct direction.

Fixes opencast-ilias/OpencastPageComponent#43

(cherry picked from commit 7450f5c)
- Add configurable API connect timeout (default 5000ms) so requests fail
  fast instead of hanging when Opencast is unreachable (Init.php + new
  PluginConfig field F_API_CONNECT_TIMEOUT + config form field + lang).
- Map the API client's 'no response' (code 0) to a distinct
  xoctException::API_CALL_CONNECTION_FAILED.

Note: the readable 'Opencast unreachable' message in the content view
(Part B, present on release_10) is NOT included here. release_9 loads the
event table asynchronously (legacy table); surfacing the message in that
async path needs separate design + testing and is a follow-up.

(cherry picked from commit 1623ac3)
…s#440

The online/offline state of a video was stored only by Opencast event id, so
toggling it affected every ILIAS object linking the same series. It is now
stored per (event, ILIAS object).

Refactor (per decision: drop ActiveRecord, use DTO + repository):
- New immutable EventAdditions DTO + EventAdditionsRepository (ilDB), replacing
  EventAdditionsAR.
- EventParser resolves the state for the current object; OpencastDIC derives the
  obj_id from the request ref_id (0 = no object context -> shared bucket).
- Writers (event GUI set online/offline, external xoctEventAPI) persist via the
  repository.
- DB migration as ilOpenCastDBUpdateSteps::step_7 (NOT sql/dbupdate.php):
  extend xoct_event_additions PK from (id) to (id, obj_id).

Per community decision, existing states are NOT migrated (they fall into the
obj_id = 0 bucket).

NEEDS REVIEW BEFORE MERGE:
- Functional test required: both linking variants (existing-series + context-menu
  link), and the migration step.
- External xoctEventAPI has no object context -> writes the obj_id = 0 bucket
  (documented limitation; API may need an obj/ref parameter later).

(cherry picked from commit 13faf9b)
chfsx added 2 commits June 1, 2026 09:03
- ilOpenCastDBUpdateSteps: keep upstream step_6 (enable_cutting), keep opencast-ilias#440 migration as step_7 (dropped the placeholder step_6)
- Init.php: combine the opencast-ilias#365 API connect timeout with the upstream JWT Config parameter
The 'Series' column is sorted locally by series name (the Opencast API can
only sort by the series identifier). Previously only the current, already
paginated page was reordered, so the order was wrong across pages. Fetch the
full result set, sort by series name respecting the direction, then slice the
requested page.

Refs opencast-ilias/OpencastPageComponent#43
@chfsx chfsx closed this Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

1 participant