An ILIAS Repository Object plugin for Opencast 5 and newer.
This plugin creates a tight integration of Opencast and ILIAS. This plugin also requires a workflow handler for Opencast, which enables distributing the files in a way that are usable by this plugin. This plugin is available in the Github Repo.
REQUIRED Databases: MySQL/MariaDB
It MUST be installed into Customizing/global/plugins/Services/Repository/RepositoryObject/
.
The plugin folder MUST be named Opencast
.
In production environments you can delete the test/
directory.
Select a matching workflow as defined below.
Select a matching workflow as defined below.
The publisher used to create new Opencast series, e.g. "University of Stuttgart, Germany". This value is optional.
An Opencast Service with enabled external API is required. The servers external API must be accessible by Ilias and the Ilias users directly.
Currently the minimum required API version is v1.1.0
(Opencast 5.x).
To access the API of Opencast from Ilias an authorized user is required. The user need the following roles:
ROLE_API
ROLE_API_EVENTS_CREATE
ROLE_API_EVENTS_VIEW
ROLE_API_EVENTS_DELETE
ROLE_API_EVENTS_METADATA_EDIT
ROLE_API_EVENTS_PUBLICATIONS_VIEW
ROLE_API_SERIES_CREATE
ROLE_API_SERIES_VIEW
ROLE_API_SERIES_METADATA_EDIT
ROLE_API_WORKFLOW_INSTANCE_CREATE
ROLE_API_WORKFLOW_INSTANCE_VIEW
ROLE_API_WORKFLOW_DEFINITION_VIEW
Create this user in Opencast and enter it in the plugin configuration.
This plugin will create new series and episodes with a acl containing ROLE_USER_{OPENCASTUSER}
, so they can be accessed by the plugin.
In order to use URL signing the Opencast Stream Security must be enabled. Follow the Opencast documentation to do so.
This workflow is used for uploads from ilias to opencast and MUST have the upload
tag to be recognized by this plugin.
The workflow MUST support the configuration:
flagForCutting
["true", "false"]
If flagForCutting
is set to "true" a Preview Publication MUST be published.
If flagForCutting
is set to "false" a Non Preview Publication MUST be published.
This workflow is used for trim from the plugins trim editor.
It MUST have the editor
tag to be recognized by this plugin.
The workflow MUST support the configuration:
start
integer the start duration in secondsend
integer the end duration in seconds
The workflow MAY support additional configuration:
The workflows MUST publish a Non Preview Publication to the api channel.
This workflow is used by the capture agents for scheduled episodes. The workflow MUST publish to the api channel. It MUST either publish a Preview Publication or a Non Preview Publication.
This publication is for finished episodes, that can be published in the ilias plugin.
The publication MAY contain a search preview for the episodes list view, the search preview MUST have the flavor */search+preview
.
The media files of the publication SHOULD have the flavor */delivery
and mediatype video/mp4
.
This publication is for the trim editor.
It SHOULD only contain a single track preview with flavor "presentation/preview", "presenter/preview" or "composite/preview".
This preview MUST be published on the api channel with the tag preview
on the track.
The Ilias Opencast object will not be deleted automatically, but it will not display any episodes and no exception will be thrown in the overview UIs of that particular Ilias Opencast object. Only opening the properties tab of that Ilias Opencast object will throw an exception.
The corresponding series and episodes are not deleted in Opencast.
The episode must be published in Ilias, this means the episode id is in the rep_robj_xmh_rel_ep
database table.
The episode must be part of the series corresponding to the Ilias Opencast object and must be have the status EVENTS.EVENTS.STATUS.PROCESSED
.
The episode must have a publication on the api channel and the must not have a track with the preview tag.