. /** * Capability definitions for the workshop module * * @package mod_workshop * @copyright 2009 David Mudrak * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); $capabilities = array( // Ability to see that the workshop exists, and the basic information // about it, for example the intro field 'mod/workshop:view' => array( 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'guest' => CAP_ALLOW, 'student' => CAP_ALLOW, 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to add a new workshop to the course. 'mod/workshop:addinstance' => array( 'riskbitmask' => RISK_XSS, 'captype' => 'write', 'contextlevel' => CONTEXT_COURSE, 'archetypes' => array( 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ), 'clonepermissionsfrom' => 'moodle/course:manageactivities' ), // Ability to change the current phase (stage) of the workshop, for example // allow submitting, start assessment period, close workshop etc. 'mod/workshop:switchphase' => array( 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to modify the assessment forms, gives access to editform.php 'mod/workshop:editdimensions' => array( 'riskbitmask' => RISK_XSS, // can embed flash and javascript into wysiwyg 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to submit own work. All users having this capability are expected to participate // in the workshop as the authors 'mod/workshop:submit' => array( 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'student' => CAP_ALLOW, ) ), // Ability to be a reviewer of a submission. All users with this capability are considered // as potential reviewers for the allocation purposes and can train assessment process on the // example submissions. 'mod/workshop:peerassess' => array( 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'student' => CAP_ALLOW, ) ), // Ability to submit and referentially assess the examples and to see all other // assessments of these examples 'mod/workshop:manageexamples' => array( 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to allocate (assign) a submission for a review 'mod/workshop:allocate' => array( 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to publish submissions, i.e. make them available when workshop is closed 'mod/workshop:publishsubmissions' => array( 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to identify the author of the work that has been allocated to them for a review // Reviewers without this capability will see the author as Anonymous 'mod/workshop:viewauthornames' => array( 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'student' => CAP_ALLOW, 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to identify the reviewer of the given submission (i.e. the owner of the assessment) 'mod/workshop:viewreviewernames' => array( 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to view the work submitted by an other user. In separate groups mode, // the user has to be allowed to access all groups or be the member of the // submission author's group. 'mod/workshop:viewallsubmissions' => array( 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to view published submission when the workshop is closed. Group mode // restrictions do not apply here, published submissions are available in all // groups even in the separate groups mode. 'mod/workshop:viewpublishedsubmissions' => array( 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'student' => CAP_ALLOW, 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to view the authors of published submissions. 'mod/workshop:viewauthorpublished' => array( 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'student' => CAP_ALLOW, 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to always view the assessments of other users' work and the calculated grades, // regardless the phase. The separate groups membership is checked against the submission // author only, not against the reviewer. In other words, if the user has this capability // and is allowed to see some submission, then they are implicitly allowed to see all // assessments of that submissions even if they do not share a group with the reviewer. 'mod/workshop:viewallassessments' => array( 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to override grade for submission or the calculated grades for assessment // and to run aggregation tasks that computes the total grade 'mod/workshop:overridegrades' => array( 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to ignore time restrictions (submission start/end time and assessment // start/end time) if they are defined 'mod/workshop:ignoredeadlines' => array( 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to delete other users' submissions. 'mod/workshop:deletesubmissions' => array( 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ) ), // Ability to export submissions to a portfolio. Applies to all submissions // the user has access to. 'mod/workshop:exportsubmissions' => array( 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => array( 'manager' => CAP_ALLOW, 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'student' => CAP_ALLOW, ) ), );