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
Revision as of 11:45, 5 December 2012 by David Smith 2 (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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