Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Mediacapture plugin recorders

From MoodleDocs
Revision as of 03:13, 9 August 2012 by Ankit Gupta (talk | contribs) (Created page with "== Introduction == Mediacapture is a repository plugin which allows recorders to record and upload audio/video content to Moodle easily. ===Overview=== The 3 different parts t...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Introduction

Mediacapture is a repository plugin which allows recorders to record and upload audio/video content to Moodle easily.

Overview

The 3 different parts to write

  1. Administration - You can customise the way administrators and users can configure their recorders.
  2. Recorder display - You can also customize the view of the recorders.
  3. I18n - Internationalization should be done at the same time as you're writing the other parts.

History

Mediacapture plugin exists from 2.3

Example

Template

There is a template available in [1]

File structure

  1. Create a folder for your plugin in moodle/repository/mediacapture/recorders e.g. moodle/repository/mediacapture/recorders/myrecorder
  2. Create the following files and add them to the myrecorder folder:
    • lib.php, the main class will be named "repository_mediacapture_myrecorder"
  3. Create the language file repository_mediacapture_myrecorder.php and add it to the plugin folder, keeping the following folder structure:
    • moodle/repository/mediacapture/myrecorder/lang/en/repository_mediacapture_myrecorder.php
  4. Create module.js and styles.css (optional)

Administration APIs

Functions you *MUST* override

get_type_option_names

This function must be declared static
Return an array of string. These strings are setting names. These settings are shared by all instances.

For example:

   public static function get_type_option_names() {
       array('myrecorder', 'config');
   }

add_config_form(&$mform)

This is for modifying the Moodle form displaying the recorder settings.

For example, to display the standard repository mediacapture plugin settings along with the custom ones for the recorders use:

   public function type_config_form($mform) {
       $mform->addElement('advcheckbox', 'myrecorder', get_string('nanogong', 'repository_mediacapture'), null, array('group' => 1));
   }

Mediacapture recorder APIs

Functions you *MUST* override

view($mform, $options)

Use this function to display the view of the recorder using the $mform (moodle form).

With the example above, this function may look like:

   public static function view($mform, $options) {
       $mform->addElement('text', 'filename', get_string('name', 'repository_mediacapture'));
       $mform->addElement('submit', 'save', get_string('save', 'repository_mediacapture'));
   }

post_url()

Use this function when you need to post the recorded data to a file where it can be moved to a temp location in moodle (data root).

   public function post_url() {
       return new moodle_url("$CFG->wwwroot/repository/mediacapture/recorders/myrecorder/record.php");
   }

string_keys()

You may list the strings used by your plugin here.

   public function string_keys() {
       return array('appletnotfound', 'norecordingfound', 'nonamefound');
   }

min_version()

This function will return an array structure listing the min version of various media supported by the recorder.

   public function min_version() {
       return array('java' => 1.5);
   }

supported_media()

This function will return list of media supported by the recorder.

   public function supported_media() {
       return array('audio', 'video');
   }

supported_types()

This function will return list of technologies used by the recorder. supported by recorder.

   public function supported_types() {
       return array('java', 'flash', 'html5');
   }

See also