NEWMODULE Adding capabilities

Jump to: navigation, search

Create one access.php file in the <<NEWMODULE>>/db directory.

It must contain

  • the capabilities to be installed and
  • the defaults for each standard role.

A model of what has to be added is:

   $mod_glossary_capabilities = array(
       'mod/<<NEWMODULE>>:<<CAPABILITYNAME>>' => array(
           'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS | RISK_CONFIG,
           'captype' => 'write',
           'contextlevel' => CONTEXT_MODULE,
           'legacy' => array(
               'student' => CAP_ALLOW,
               'teacher' => CAP_ALLOW,
               'editingteacher' => CAP_ALLOW,
               'admin' => CAP_ALLOW
   and you are supposed to iterate the array 'mod/<<NEWMODULE>>:<<CAPABILITYNAME>>' 
   for each <<CAPABILITYNAME>> you want to add
   following the same structure described before and, at the end,
   close the main array with

The element 'riskbitmask' will be reflected in the list of icons of each row of the 'Override permissions'->roles page.

You should add the right number of icon ranging from

   all four icons 
       'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS | RISK_CONFIG,
   up to no icon at all,
       just removing the element 'riskbitmask' from the array 'mod/<<NEWMODULE>>:<<CAPABILITYNAME>>'

The element 'captype' is ???

The element 'contextlevel' is ???

The element 'legacy' defines the legacy default for that permission. It is an array and for each each element you are allowed to choose one (and only one) of these four elements: CAP_ALLOW, CAP_PREVENT, CAP_PROHIBIT, and inherit (if you don't set it). This defines the default selected radio button in the 'Legacy roles' page.