Note:

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

Repository plugin files

From MoodleDocs

This is an overview of the files that are found within Repository plugins.

  • /repository/myplugin/lib.php - this contains the core functionality for your plugin. Within it you must define a class:
class repository_myplugin extends repository {
  // See [[Repository plugins]] for a list of functions to override in here
}
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2012061700; //The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2012061700;  //Requires this Moodle version
$plugin->component = 'repository_myplugin'; //Full name of the plugin (used for diagnostics)
$plugin->cron = 0; // How often to run automatic updates (0 to disable)
$plugin->release = 'Human-readable version number';
  • /repository/myplugin/lang/en/repository_myplugin.php - contains the English language strings for display by your plugin. As a minimum, this must include:
defined('MOODLE_INTERNAL') || die();
$string['configplugin'] = 'Configuration for my plugin repository';
$string['pluginname'] = 'My plugin repository';
$string['pluginname_help'] = 'A few more details about my repository';
  • /repository/myplugin/db/access.php - defines any user capabilities related to the plugin. A basic access.php file will look like this:
defined('MOODLE_INTERNAL') || die();
$capabilities = array(
    'repository/myplugin:view' => array(
        'captype' => 'read',
        'contextlevel' => CONTEXT_MODULE,
        'archetypes' => array(
            'user' => CAP_ALLOW 
        )
    )
);

Once the capabilities have been defined, it is good practice to add a language string for them to the lang/en/repository_myplugin.php file:

$string['myplugin:view'] = 'View the myplugin repository';

See also