Development Guide

If you’re interested in contributing to the Moodle Opencast plugins, this guide provides essential information to help you understand the development environment and processes.

Source Control Repositories

All Moodle Opencast plugins are hosted on GitHub under the Opencast Moodle Plugins organization.

Development Lifecycle

Understanding the development lifecycle of Moodle Opencast plugins is crucial for efficient collaboration. The process typically follows these stages:

Issue Creation/Selection:

Development Phase:

Once an issue is assigned, follow best practices to ensure maintainability and compatibility with other plugins. Key considerations include:

The Opencast PHP Library is integrated into the tool_opencast plugin. Use the opencastapi property of the api class for API calls instead of direct cURL functions, which are deprecated. Example usage:

use tool_opencast\local\api;
use tool_opencast\exception\opencast_api_response_exception; // Exception handling class

...

$api = api::get_instance($ocinstanceid);
$response = $api->opencastapi->eventsApi->getAll(...);
$code = $response['code'];

if ($code != 200) {
  throw new opencast_api_response_exception($response);
}

...

Note: More details on the Opencast API Library can be found here.

Creating Pull Requests:

Every change must be submitted via a pull request (PR) against the main branch of the targeted plugin.

Developer Group Meetings Participation:

The Moodle Opencast community holds a developer group meeting every second Friday of the month, alternating with core meetings. Participation is encouraged to stay informed about the latest developments, roadmaps, and to ask questions.

For details, check the official community calendar and look for [Moodle] Dev Group Meeting.