Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-37765

Add Role Capability to Bypass Conditional Access

    XMLWordPrintable

    Details

    • Affected Branches:
      MOODLE_23_STABLE, MOODLE_25_STABLE, MOODLE_26_STABLE, MOODLE_27_STABLE, MOODLE_31_STABLE, MOODLE_32_STABLE
    • Fixed Branches:
      MOODLE_33_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-37765-MASTER
    • Testing Instructions:
      Hide
      • Create a course with three activities:
      1. Activity 1
      2. Activity 2 (conditional restriction, only available if "Activity 1" is grade)
      3. Activity 3 (hidden)
      • Create/use three roles:
      1. Role 1 with viewhiddenactivities and with ignoreavailabilityrestrictions permissions
      2. Role 2 with ignoreavailabilityrestrictions but without viewhiddenactivities permissions
      3. Role 3 with viewhiddenactivities but without ignoreavailabilityrestrictions permissions
      4. Role 4 without viewhiddenactivities and without ignoreavailabilityrestrictions permissions
      • Assign roles to user make sure other roles are not overwriting those capabilities.
      1. Role 1 to user 1
      2. Role 2 to user 2
      3. Role 3 to user 3
      4. Role 4 to user 4

      User 1 should see all activities.
      User 2 should see Activity 1 and 2
      User 3 should see Activity 1 and 3
      User 4 should see Activity 1

      Show
      Create a course with three activities: Activity 1 Activity 2 (conditional restriction, only available if "Activity 1" is grade) Activity 3 (hidden) Create/use three roles: Role 1 with viewhiddenactivities and with ignoreavailabilityrestrictions permissions Role 2 with ignoreavailabilityrestrictions but without viewhiddenactivities permissions Role 3 with viewhiddenactivities but without ignoreavailabilityrestrictions permissions Role 4 without viewhiddenactivities and without ignoreavailabilityrestrictions permissions Assign roles to user make sure other roles are not overwriting those capabilities. Role 1 to user 1 Role 2 to user 2 Role 3 to user 3 Role 4 to user 4 User 1 should see all activities. User 2 should see Activity 1 and 2 User 3 should see Activity 1 and 3 User 4 should see Activity 1

      Description

      I believe that it would be quite useful to increase the granularity of the role capabilities to allow for some users to bypass the conditional access restrictions, while still restricting them from accessing other hidden resources.
      Example of use:
      We use grade based conditional access to prevent students from accessing material until they have progressed beyond a certain point in the course. This is one way for us to meet ministerial requirements.
      Additionally, we allow certain users access to the course material so that they can assist certain students. We have created a role for this, called Observer. The Observer should be able to access any material that a student could potentially see, but must not be able to see other hidden material. This prevents us from using the moodle/course:viewhiddenactivities role capability as it would give them access to material that they certainly shouldn't see. Another role capability which allows the user to bypass restrictions imposed through using the options opened to us using "Enable conditional access".

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jackermann Jakob Ackermann
              Reporter:
              nsimon Neil Simon
              Peer reviewer:
              Andrew Lyons Andrew Lyons
              Integrator:
              Dan Poltawski Dan Poltawski
              Tester:
              cameron1729 cameron1729
              Participants:
              Component watchers:
              Sam Marshall, Amaia Anabitarte, Carlos Escobedo, Ferran Recio, Ilya Tregubov, Sara Arjona (@sarjona)
              Votes:
              12 Vote for this issue
              Watchers:
              20 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Fix Release Date:
                15/May/17