Moodle
  1. Moodle
  2. MDL-26008

Creators' role in new courses is affected by Manager assignment in higher context

    Details

    • Database:
      MySQL
    • Affected Branches:
      MOODLE_20_STABLE
    • Fixed Branches:
      MOODLE_20_STABLE
    • Rank:
      15961

      Description

      To recreate:

      Assign user to CC role in category.
      Login using CC assigned acct > create course > users is assigned to teacher role.

      Assign user to Manager role in addition to CC role for the category.
      Login using CC assigned acct > create course > user is NOT assigned to teacher role.

      Manager and Teacher roles are not equivalents, in this situation CC assigned user should be assigned to Teacher role in course.

      Explanatory text in User Policies needs expanding so that roles creating this behaviour can be identified.

        Activity

        Hide
        Petr Škoda added a comment - - edited

        Hello,
        the teacher account is assigned automatically only because otherwise the course creator would not be able to enter the newly created course.

        The manager role may assign user roles later, I do not think this is a big usability issue because somebody has to create the course content anyway.

        I personally think that Managers should be only skilled users that can easily add themselves as teachers if necessary.

        Petr

        Show
        Petr Škoda added a comment - - edited Hello, the teacher account is assigned automatically only because otherwise the course creator would not be able to enter the newly created course. The manager role may assign user roles later, I do not think this is a big usability issue because somebody has to create the course content anyway. I personally think that Managers should be only skilled users that can easily add themselves as teachers if necessary. Petr
        Hide
        Ray Lawrence added a comment -

        "The teacher account is assigned automatically only because otherwise the course creator would not be able to enter the newly created course."

        That's correct. The long standing behaviour is that the person with the CC role is automatically assigned to the Teacher role (by default) when the course is created.

        There is no need to change this and introduce an illogical exception. This also conflicts with the expectations of behaviour set in User policies.

        "The manager role may assign user roles later, I do not think this is a big usability issue because somebody has to create the course content anyway."

        This is a side issue and not relevant here.

        "I personally think that Managers should be only skilled users that can add easily add themselves as teachers if necessary."

        Again, this isn't relevant here.

        Petr, this is an important usability issue the needs addressing.

        Show
        Ray Lawrence added a comment - "The teacher account is assigned automatically only because otherwise the course creator would not be able to enter the newly created course." That's correct. The long standing behaviour is that the person with the CC role is automatically assigned to the Teacher role (by default) when the course is created. There is no need to change this and introduce an illogical exception. This also conflicts with the expectations of behaviour set in User policies. "The manager role may assign user roles later, I do not think this is a big usability issue because somebody has to create the course content anyway." This is a side issue and not relevant here. "I personally think that Managers should be only skilled users that can add easily add themselves as teachers if necessary." Again, this isn't relevant here. Petr, this is an important usability issue the needs addressing.
        Hide
        Petr Škoda added a comment -

        Manager role has description: Managers can access course and modify them, they usually do not participate in courses.

        The name of the role does not mean anything, if you have two roles the capabilities just add up - actually it does not make sense to have creator and manager role at the same time.

        The code does not look for role names, it only looks for capabilities - technically there is no way to find out if you have creator+manager or just manager through the has_capability() function.

        Show
        Petr Škoda added a comment - Manager role has description: Managers can access course and modify them, they usually do not participate in courses. The name of the role does not mean anything, if you have two roles the capabilities just add up - actually it does not make sense to have creator and manager role at the same time. The code does not look for role names, it only looks for capabilities - technically there is no way to find out if you have creator+manager or just manager through the has_capability() function.
        Hide
        Petr Škoda added a comment -

        Also "Course creators can create new courses."
        Course creators only create courses, they are not supposed to do anything else, the fact that they get the predefined role in new course is the only way how to make them able to actually work with the course, but it happens only if they do not have any other way to access the course.

        It would be imho a usability problem only if the manager did not know how to add teachers to the course. How often do you actually create new courses?

        If it was a big usability problem we could add a checkbox "Add me as a course teacher" and it would be displayed if you can manage the newly created course, but is it really worth it?

        I would personally find it very annoying if moodle make me teacher in each course I create - either as admin or manager.

        Show
        Petr Škoda added a comment - Also "Course creators can create new courses." Course creators only create courses, they are not supposed to do anything else, the fact that they get the predefined role in new course is the only way how to make them able to actually work with the course, but it happens only if they do not have any other way to access the course. It would be imho a usability problem only if the manager did not know how to add teachers to the course. How often do you actually create new courses? If it was a big usability problem we could add a checkbox "Add me as a course teacher" and it would be displayed if you can manage the newly created course, but is it really worth it? I would personally find it very annoying if moodle make me teacher in each course I create - either as admin or manager.
        Hide
        Ray Lawrence added a comment -

        Indeed. So if the user is assigned to a role in addition to the CC role and the other role has the magic capabilities that trigger this behaviour how will they work that out?

        User policies will indicate that the person assigned to CC will be assigned as Teacher (default), That won't happen and they won't know why. Undocumented exception like this aren't good for usability.

        "actually it does not make sense to have creator and manager role at the same time." Agreed, but these tings happen (and are possible), plus bespoke roles are possible.

        So, where do we go from here?

        Show
        Ray Lawrence added a comment - Indeed. So if the user is assigned to a role in addition to the CC role and the other role has the magic capabilities that trigger this behaviour how will they work that out? User policies will indicate that the person assigned to CC will be assigned as Teacher (default), That won't happen and they won't know why. Undocumented exception like this aren't good for usability. "actually it does not make sense to have creator and manager role at the same time." Agreed, but these tings happen (and are possible), plus bespoke roles are possible. So, where do we go from here?
        Hide
        Ray Lawrence added a comment -

        We've crossed over here...

        Let me respond before you do so we can keep this so it makes sense...

        Show
        Ray Lawrence added a comment - We've crossed over here... Let me respond before you do so we can keep this so it makes sense...
        Hide
        Ray Lawrence added a comment -

        "Course creators only create courses, they are not supposed to do anything else, the fact that they get the predefined role in new course is the only way how to make them able to actually work with the course, but it happens only if they do not have any other way to access the course."

        Yes, that is correct. Typically they will not have another way to access the course at the point of creation.

        "It would be imho a usability problem only if the manager did not know how to add teachers to the course."

        That's a side issue. We're discussion the CC role here.

        "How often do you actually create new courses?"

        Potentially a lot. New site, new users, new initiative etc. TheCC role is used extensively to delegate in a safe, controlled way.

        "If it was a big usability problem we could add a checkbox "Add me as a course teacher" and it would be displayed if you can manage the newly created course, but is it really worth it?"

        No. Just revert to the pre-2.0 behavioiur that is understood by all and is defined in User policies.

        I would personally find it very annoying if moodle make me teacher in each course I create - either as admin or manager.

        Show
        Ray Lawrence added a comment - "Course creators only create courses, they are not supposed to do anything else, the fact that they get the predefined role in new course is the only way how to make them able to actually work with the course, but it happens only if they do not have any other way to access the course." Yes, that is correct. Typically they will not have another way to access the course at the point of creation. "It would be imho a usability problem only if the manager did not know how to add teachers to the course." That's a side issue. We're discussion the CC role here. "How often do you actually create new courses?" Potentially a lot. New site, new users, new initiative etc. TheCC role is used extensively to delegate in a safe, controlled way. "If it was a big usability problem we could add a checkbox "Add me as a course teacher" and it would be displayed if you can manage the newly created course, but is it really worth it?" No. Just revert to the pre-2.0 behavioiur that is understood by all and is defined in User policies. I would personally find it very annoying if moodle make me teacher in each course I create - either as admin or manager.
        Hide
        Petr Škoda added a comment - - edited

        There is no way to revert to previous behaviour because the enrolment works in a different way in 2.0, the admin (is not role) is different and manager role is completely new, sorry.

        I works exactly the same if you assign only the course creator role.

        Actually the "Make me 'Teacher' in the new course" checkbox with defaults because on the current logic would be relatively easy to implement and would imo solve your usability concern.

        Show
        Petr Škoda added a comment - - edited There is no way to revert to previous behaviour because the enrolment works in a different way in 2.0, the admin (is not role) is different and manager role is completely new, sorry. I works exactly the same if you assign only the course creator role. Actually the "Make me 'Teacher' in the new course" checkbox with defaults because on the current logic would be relatively easy to implement and would imo solve your usability concern.
        Hide
        Petr Škoda added a comment -

        "This role is automatically assigned to creators in new courses they created. This role is not assigned if creator already has needed capabilities in parent context."

        It may not be the best English, but the second sentence describes the case when you have manager caps in parent context.

        There is no bug in the role descriptions or implementation.

        Show
        Petr Škoda added a comment - "This role is automatically assigned to creators in new courses they created. This role is not assigned if creator already has needed capabilities in parent context." It may not be the best English, but the second sentence describes the case when you have manager caps in parent context. There is no bug in the role descriptions or implementation.
        Hide
        Petr Škoda added a comment -

        Reopening, the description is outdated - it misses the important enrolment changes.

        Show
        Petr Škoda added a comment - Reopening, the description is outdated - it misses the important enrolment changes.
        Hide
        Ray Lawrence added a comment -

        "There is no way to revert to previous behaviour because the enrolment works in a different way in 2.0, the admin (is not role) is different and manager role is completely new, sorry."

        OK but this isn't relected in the GUI. Updating User policies text is the minimum requirment to help users understand the new behaviour.

        "I works exactly the same if you assign only the course creator role."

        Yes, but end users don't aalways play be the rules. Plus we've not identified which capabilities trigger the new behaviour.

        "Actually the "Make me 'Teacher' in the new course" checkbox with defaults because on the current logic would be relatively easy to implement and would imo solve your usability concern."

        OK, where would that be though? On an intermediate screen after "Add new course" button is clicked?

        Show
        Ray Lawrence added a comment - "There is no way to revert to previous behaviour because the enrolment works in a different way in 2.0, the admin (is not role) is different and manager role is completely new, sorry." OK but this isn't relected in the GUI. Updating User policies text is the minimum requirment to help users understand the new behaviour. "I works exactly the same if you assign only the course creator role." Yes, but end users don't aalways play be the rules. Plus we've not identified which capabilities trigger the new behaviour. "Actually the "Make me 'Teacher' in the new course" checkbox with defaults because on the current logic would be relatively easy to implement and would imo solve your usability concern." OK, where would that be though? On an intermediate screen after "Add new course" button is clicked?
        Hide
        Petr Škoda added a comment -

        $string['creatornewroleid'] = 'Creators\' role in new courses';
        $string['creatornewroleid_help'] = 'If the user who created new course does not have the capability to manage the course, user is enrolled automatically using this role.';

        Does it make sense?

        Show
        Petr Škoda added a comment - $string ['creatornewroleid'] = 'Creators\' role in new courses'; $string ['creatornewroleid_help'] = 'If the user who created new course does not have the capability to manage the course, user is enrolled automatically using this role.'; Does it make sense?
        Hide
        Ray Lawrence added a comment -

        "It may not be the best English, but the second sentence describes the case when you have manager caps in parent context.

        There is no bug in the role descriptions or implementation."

        I've not suggested that the role descriptions are incorrect.

        There is a mis-match between the described behaviour and the actual behaviour,

        How about this?

        This role is automatically assigned to the course created by a user assigned to the course creator role. Where that user is assigned to another role in the category or a higher context no automatic role assignemnt is made.

        Show
        Ray Lawrence added a comment - "It may not be the best English, but the second sentence describes the case when you have manager caps in parent context. There is no bug in the role descriptions or implementation." I've not suggested that the role descriptions are incorrect. There is a mis-match between the described behaviour and the actual behaviour, How about this? This role is automatically assigned to the course created by a user assigned to the course creator role. Where that user is assigned to another role in the category or a higher context no automatic role assignemnt is made.
        Hide
        Ray Lawrence added a comment -

        Actually, my suggestion is rubbish. Posted too quickly. I'll be back with somethng that makes sense soon.

        Show
        Ray Lawrence added a comment - Actually, my suggestion is rubbish. Posted too quickly. I'll be back with somethng that makes sense soon.
        Hide
        Ray Lawrence added a comment -

        $string['creatornewroleid_help'] = 'If the user does not have the existing capability to manage the new course, the user is automatically assigned to this role.';

        Show
        Ray Lawrence added a comment - $string ['creatornewroleid_help'] = 'If the user does not have the existing capability to manage the new course, the user is automatically assigned to this role.';
        Hide
        Petr Škoda added a comment -

        The word "enrol" should be there too because now in 2.0 the creator is "enrolled + assigned the role", previously only the role was assigned.

        The fact that somebody is enrolled means:
        1/ user can enter the course
        2/ user can be member of group (manager can not be member of group unless enrolled)
        3/ user is visible in the participants list
        4/ user can be graded
        5/ if user has graded role he/she is visible in gradebook reports
        6/ course appears in "My courses" for that user

        Actually you do not have to have any role in the course in order to be enrolled.

        In any case, thanks a lot for your reports, participation and feedback!

        Show
        Petr Škoda added a comment - The word "enrol" should be there too because now in 2.0 the creator is "enrolled + assigned the role", previously only the role was assigned. The fact that somebody is enrolled means: 1/ user can enter the course 2/ user can be member of group (manager can not be member of group unless enrolled) 3/ user is visible in the participants list 4/ user can be graded 5/ if user has graded role he/she is visible in gradebook reports 6/ course appears in "My courses" for that user Actually you do not have to have any role in the course in order to be enrolled. In any case, thanks a lot for your reports, participation and feedback!
        Hide
        Ray Lawrence added a comment -

        $string['creatornewroleid_help'] = 'If the user does not have the existing capability to manage the new course, the user is automatically enrolled using this role.';

        Thanks for that clarification about enrolled/assigned to a role - I've been try to get to the bottom of that.

        Phew, I think we're done. And we've made things just a little bit better. It's a never ending job!

        Cheers.

        Show
        Ray Lawrence added a comment - $string ['creatornewroleid_help'] = 'If the user does not have the existing capability to manage the new course, the user is automatically enrolled using this role.'; Thanks for that clarification about enrolled/assigned to a role - I've been try to get to the bottom of that. Phew, I think we're done. And we've made things just a little bit better. It's a never ending job! Cheers.
        Hide
        Petr Škoda added a comment -

        $string['creatornewroleid_help'] = 'If the user does not have the existing permission to manage the new course, the user is automatically enrolled using this role.';

        Because those are actually two capabilities - to enter the course without enrolment (moodle/course:view) and course update capability.

        Show
        Petr Škoda added a comment - $string ['creatornewroleid_help'] = 'If the user does not have the existing permission to manage the new course, the user is automatically enrolled using this role.'; Because those are actually two capabilities - to enter the course without enrolment (moodle/course:view) and course update capability.
        Hide
        Petr Škoda added a comment -

        $string['creatornewroleid_help'] = 'If the user does not already have the permission to manage the new course, the user is automatically enrolled using this role.';

        Show
        Petr Škoda added a comment - $string ['creatornewroleid_help'] = 'If the user does not already have the permission to manage the new course, the user is automatically enrolled using this role.';
        Hide
        Ray Lawrence added a comment -

        Looks good.

        Show
        Ray Lawrence added a comment - Looks good.
        Hide
        Petr Škoda added a comment -

        thanks!

        Show
        Petr Škoda added a comment - thanks!
        Hide
        Sam Hemelryk added a comment -

        Reopening this issue as the string being removed in the pull request configcreatornewroleid is still being used.

        Show
        Sam Hemelryk added a comment - Reopening this issue as the string being removed in the pull request configcreatornewroleid is still being used.
        Hide
        Helen Foster added a comment -

        Ray, thanks as always for your attention to detail.

        The new description for the setting "Creators' role in new courses" will be included in the next weekly 2.0.1+.

        Show
        Helen Foster added a comment - Ray, thanks as always for your attention to detail. The new description for the setting "Creators' role in new courses" will be included in the next weekly 2.0.1+.

          People

          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: