Roles 101 - is there a guide to the weirdnesses of 1.9?

Roles 101 - is there a guide to the weirdnesses of 1.9?

by Steve Wright -
Number of replies: 8
I'm REALLY struggling with the roles in Moodle 1.9.

Here are some 'special' features:

1 - If a course is not available to students it is ALSO not available to teachers or course creators.

2 - Course Creator role seems to be inherently buggy beyond this.

3 - Setting site-wide role seems to have no effect...

As a temporary measure I've had to set the other teachers to admin so they can view and develop material on their courses with the course set as not available to students. I'm now going through creating my own Course Creator and Teacher ID's to test the fucntionality of these.

Is there a good 'roles 101' guide anywhere to what actually happens and works with roles in moodle 1.9 (rather than what should happen)?

Does anyone else have experience or top tips for setting roles so courses can be developed out of student sight? The old system was so simple and effective, the new one seems overly complicated and buggy - especially coruse creator...
Average of ratings: -
In reply to Steve Wright

Re: Roles 101 - is there a guide to the weirdnesses of 1.9?

by John Isner -
Undo all the changes you made to roles and the weirdness will go away, guaranteed smile

Then, post again telling us what you're trying to do.

If you want to develop a course out of student sight, hide the course. This has nothing to do with roles.

If you want to understand why you're having problems, then before undoing your changes, install the Role debugger and send me an e-mail. It will take 10 minutes and will be very illuminating! We'll post a full explanation back to this discussion.
In reply to John Isner

Hiding and roles - separate or intertwined?

by Steve Wright -
Hi john,

To clarify: I haven't made any changes to default roles! Am using only the standard ones - however course creator just does not work.

Hiding?
By 'hide' I takle it you mean set a course to not be available to students? Only problem is this is then not available to course creators... About to test for teachers (think problem is the same).

What I need to do:
I need to be able to set teachers up as able to create courses which are hidden and also edit content on their hidden courses.

We need all courses to be non-enrollable with enrollment done by adding specific users NOT self-selected by students (i.e. we say who's on a course, a course is NOT acailable for all students on the system to enroll themselves in).

Unfortunately none of this works with either course creator roles or teacher roles - hence promoting everyone to adminas temp fix sad

See post below for details of the course creator role issues, will test teacher next then email you!
In reply to Steve Wright

The course creator role - problems

by Steve Wright -
Now trying to test this methodically:

Created new ID and set up as course creator on two courses.

Course availability:
Course 1 is available to students
Course 2 isn't.
Course 3 is available to students

All are visible when logged in as course creator - 1 = normal and 2 = greyed out 3 = normal.

Visibility:
Course 1: Course Enrollable = "no" in course settings.
Course 2: Course Enrollable = "no" in course settings.
Course 3: Course Enrollable = "yes" in course settings.

Enrollment:
My test ID is added as a course creator for all 3 courses using asign roles.

Access: sad
For Courses 1 and 2 (not enrollable)
I can't access courses 1 or 2 - just get a message that:

"This course is not enrollable at the moment."

For course 3 (not available to students, enrollable)
I get the message that 'you are about to enroll on this course', I click yes and then my test ID is added to the student category (despite the course supposedly being unavailable to students????) while also remaining in category of course creator... However I am clearly enrolled as a student as i get no editing controls.

???????????????????????????????????????????????????????????????????????????????

About to start testing with a teacher role...

Steve
In reply to Steve Wright

Re: The course creator role - problems

by Steve Wright -
The final case is for:

Course availability:
Course 4 is available to students

Visibility:
Course 4: Course Enrollable = "yes" in course settings.

Enrollment:
My test ID is added as a course creator for all 3 courses using asign roles.

Access: sad

For course 4 (available to students, enrollable)
I get the message that 'you are about to enroll on this course', I click yes and then my test ID is added to the student category while also remaining in category of course creator... However I am clearly enrolled as a student as i get no editing controls.

Conclusion: Course Creator ID doesn't work!
In reply to Steve Wright

Teacher role - all OK

by Steve Wright -
Have tested all 4 courses/scenarios with the teacher role and they all allow access fine.

So seems it's just course creator role that is problematic... Will use teacher role for the teachers and set courses as unenrollable and steer clear of the course creator role.

Has anyone succesfully added 'create courses' to the role of teacher?


In reply to Steve Wright

Re: Roles 101 - is there a guide to the weirdnesses of 1.9?

by John Isner -
The confusion stems from your reading too much into the name "Course creator".

A Course creator can create courses and that's all. Since courses can only be created in a Category context, assigning the Course creator role in a course context is useless. There is nothing that a user with (only) the Course creator role can do inside a course, as you have already discovered.

You must assign the Course creator role in either the System context or a Category context. I recommend category. As administrator, go to Site administration -> Courses -> Add/edit courses, click on one of the categories (if you haven't created any categories of your own, there will be one called Miscellaneous), then click the Assign roles link in the upper right corner of the page.

Suppose you assign the Course creator role to user joe in category cat. When joe logs in and goes to to cat, he will see a Create new course button, which he can use to create a new course within the category.

Now the magic happens. Inside the newly-created coures, joe is automatically assigned the Teacher role. So when he enters the course, he can do everything Teacher is allowed to do. He also has the ability to assign a "normal" teacher for the course (this is another feature of the Course creator role). So joe can assign steve as the normal teacher, then unassign himself and go back to creating more courses. Unless joe wants to develop and teach the course himself.

Actually the "Role for a creator in a new course" is a parameter that is settable by the administrator (Site administration -> Users -> Permissions -> User policies). The default is Teacher.

Incidentally, Course creator has worked this way since the very beginning (Moodle 1.7). It is not something new in 1.9.


In reply to John Isner

Re: Roles 101 - is there a guide to the weirdnesses of 1.9?

by Steve Wright -
Thanks for the succinct explanation - out of interest is that spelled out anywhere?

The way it is listed it looks like its the rank 'above' teacher i.e. teacher + course creation rights. That it is a special category and should only be assigned in this way I've not seen in the information/role assignemnt etc. hence making this assumption/error.

Will now amend as appropriate and use as intended..
In reply to Steve Wright

Re: Roles 101 - is there a guide to the weirdnesses of 1.9?

by John Isner -
It is explained in the documentation wiki article on Course creator, though not necessarily as well as I explained it smile

There is no notion of role inheritance or hierarchy in Moodle. Course creator is not "above" or "below" any other role. It stands by itself and does what it can do with its four little permissions. You can study it in isolation from the other roles and understand it completely.

The best way to understand Course creator (or any role) is to study (1) its permissions and (2) the entries related to it in the Allow role assignments and Allow role overrides tables. From that, you will know exactly what it can do. And when it fails to work the way it should, read the code smile