Moodle plugins directory: Opencast Videos
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.
Installed plugin: tool_opencast
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.
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.
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.
|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|
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.
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.
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:
- Clicking on "Add video" leads to an upload form.
- Here the teacher can upload a video file to moodle:
- Saving the form creates an upload job, which is registered to the Upload Job Queue.
- The processing of a video is done during a cron job and contain the following steps:
- A new series is created in opencast with the name which was set in the settings, if it is not yet created.
- 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.
- 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.
- 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:
- Go to the overview section of the block.
- Click on the visiblity icon.
- The processing of the video starts:
- The ACL-Roles of the video are changed and updated in Opencast.
- 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.
- Go to the overview section of the block.
- Go to "Edit series mapping".
- Enter the series id and save the form.
- Now all videos of the series should be displayed in the block and the visibility of them can be adjusted.
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/.
this seems to be really helpful.
One question: do the video files get deleted from moodle after being transferred to opencast?
Yes, they are.