Opencast Videos

Blocks ::: block_opencast
Maintained by WWU logo smallLearnweb – University of Münster, Tobias Reischmann, Tamara Gunkel, Opencast Integration, Farbod Zamani Boroujeni
Part of set Opencast.
This block can be used to link moodle courses to opencast series. Users with respective priviledges (in the following called teacher) can use this block to upload videos to moodle. These videos are transmitted to the opencast system by the cronjob and create a event for the respective series there. The block can be automatically set the access privileges of moodle user enrolled in the course.
Latest release:
233 sites
153 downloads
17 fans
Current versions available: 8

moodle-block_opencast

This block can be used to link moodle courses to opencast series. Users with respective privileges (in the following called teacher) can use this block to upload videos via moodle to opencast. These videos are transmitted to the opencast system by the cronjob and create a event for the respective series there. The block can be used to automatically set the access privileges of moodle users enrolled in the course. All events belonging to the series are displayed in the block. This way, the teacher gets an overview of all recorded lectures as well as planned ones. Further, if setup correctly, the teacher is able to restrict the visibility to moodle groups or prevent access by students at all.

System requirements

Installed plugin: tool_opencast

Configuration

In the settings of the block you need to insert the required data for uploading a video in the opencast system:

After uploading a video file to moodle, the video has to be transferred to opencast. This is done via a cronjob, which processes all Upload Jobs in a first in first out fashion.

Please make sure that the Maximum Time limit for cron execution in Site administration->Server->Performance is not restricted (value of 0 means no timelimit). Then the cron job is not terminated early.

The plugin tool_opencast bundles some administration settings for all opencast plugins, which have to be configured as well!

Settings for upload jobs

In this section you can define the following settings:

  • How many videos are uploaded within one run of the cronjob. If it is set to 0, the number of videos is not limited.
  • Limit the file size of uploaded videos. This feature is currently only working in combination with some core changes. See issue #20.
  • Setup the unique shortname of the workflow that should be started after successfully uploading a video file to opencast.
  • Select whether the videos should be published to engage player (if the setup workflow supports this).
  • Select if multiple videos with the same content hash are uploaded to opencast only once.

Settings for overview page

In this section you can define how many videos should be displayed in the block. Additionally, you can define if the publication channels of each video are displayed to the user.

Access policies

These settings define metadata for the uploaded videos, e.g. the group or series name. You can use the placeholders [COURSEID] and [COURSENAME] in these settings. They are automatically replaced with the courseid/name of the course the respective block instance belongs to.

Roles

You can define which ACL rules are added to a video. You can add and delete roles and define the respective actions for these roles.

Moreover, it is possible to select if roles should be permanent or not. Non-permanent roles can be used to manually change the access of certain user groups (e.g. students) for each video. Roles which are not permanent will be deleted if the video is hidden in the block overview and added again if the video is made visible.

To use this feature, you need to define at least one non-permanent role-action combination and the shortname of opencast workflow for republishing metadata (for OC 4.x this could be ng-republish-metadata, for OC 5.x this could be republish-metadata). In the video overview of the block, the teacher is able to change the visibility of each video. This process takes some time, since the opencast workflow needs to finish.

Capabilities

Capability Role in default configuration Description
block/opencast:addvideo editingteacher, manager Add a video via moodle to opencast
block/opencast:viewunpublishedvideos editingteacher, manager View the list of all videos of the course, which are available in opencast (even not published ones)
block/opencast:defineseriesforcourse manager Change the series ID which is associated with the block instance or rather course
block/opencast:createseriesforcourse manager Create a new series if block/course is not yet associated with one

Logging

The execution of upload jobs are being logged, which can be viewed at Site administration->Reports->Logs. View the setting "Site Errors" instead of "All activities" you can view only those upload jobs, which failed.

Block overview

The block has a detail view which displays two lists of videos. The first list shows the upload jobs which are not completed yet. The current status of the videos is shown in a column.

The second table shows all videos of the series which is associated with the block. It is possible that the videos were uploaded by the block or that they were uploaded otherwise. The table shows the upload date as well as the status. Video, which are planned to be recorded in the future, are also displayed in this list. Moreover, the publication channels and the visibility of a video can be displayed.

Usage scenarios

In the following 3 use cases are described, how the plugin can be used.

Use case 1 - Upload a video

The teacher of a course wants to upload the video "Lecture 1" to his Moodle course. Prerequisite: The course page already contains an instance of the Block "Opencast Videos".

Steps to upload a video:

  1. Clicking on "Add video" leads to an upload form.
  2. Here the teacher can upload a video file to moodle: 32501009-2996085e-c3d7-11e7-9d4e-c957ba28d467.png
  3. Saving the form creates an upload job, which is registered to the Upload Job Queue. 32501133-7da4fd56-c3d7-11e7-9c1f-fe242345e2c7.png
  4. The processing of a video is done during a cron job and contain the following steps:
    1. A new series is created in opencast with the name which was set in the settings, if it is not yet created.
    2. A new group is created in opencast with the name which was set in the settings, if it is not yet created. This step is skipped if "Create a group" is not selected in the settings. This group control the access to the video.
    3. The video is uploaded to opencast, if it does not yet exist or the config reuseexistingupload is false. In this step all permanent and non-permanent ACL-Rules are assigned to the video.
    4. The group is assigned to the video.

Since most operations in the upload process are done by opencast in an asynchronous fashion, uploading a video can take multiple runs of the cronjob to finish.

Use case 2 - Change the visibility

The teacher of a course wants to hide an uploaded video from the students. The (opencast) admin has definded student specific roles.

Steps to change the visiblity:

  1. Go to the overview section of the block.
  2. Click on the visiblity icon.
  3. The processing of the video starts:
    1. The ACL-Roles of the video are changed and updated in Opencast.
    2. A workflow (must be defined in the settings) is started which refreshes the metadata.

Use case 3 - Linking a recorded series

A teacher wants to link an existing series to his moodle course and control the access to these videos using the list of students in his moodle course. For this the series id has to be reference in the block.

  1. Go to the overview section of the block.
  2. Go to "Edit series mapping".
  3. Enter the series id and save the form.
  4. Now all videos of the series should be displayed in the block and the visibility of them can be adjusted.

License

This plugin is developed in cooperation with the TU Ilmenau and the WWU Münster.

It is based on 2017 Andreas Wagner, SYNERGY LEARNING

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3

Contributors

WWU logo small
Learnweb – University of Münster (Lead maintainer)
Tobias Reischmann: Maintainer
Tamara Gunkel: Maintainer
Opencast Integration
Farbod Zamani Boroujeni
Please login to view contributors details and/or to contact them

Comments RSS

Mostrar comentarios
  • Plugins bot
    mié, 4 de jul de 2018, 20:00
    Approval issue created: CONTRIB-7374
  • Kai Niethammer
    mié, 9 de dic de 2020, 15:02
    Hi there,
    this seems to be really helpful.
    One question: do the video files get deleted from moodle after being transferred to opencast?
  • WWU logo small
    mié, 9 de dic de 2020, 19:23
    Hey Kai,
    Yes, they are.
  • John Rodriquez
    vie, 11 de oct de 2024, 20:01
    Hi, I'm having some technical issues. I'm using Moodle 4.3.5, Opencast 16.4, plugin version v4.4-r2. The overview page says I should use the "provide" buttons to add activities. But there are no such buttons (no column for this button). The last three columns are "status", "visibility", and "action" . There's a button to add the series, but this leads to an LTI instance of a different service (which uses LTI 1.3). The LTI service for opencast has actually been configured (using LTI 1.0/1.1), and I can add this to a course directly if I happen to know the right series ID. The consumer key and secret are also set in the Moodle Opencast API configuration. Have I misconfigured something?
Please login to post comments