I continue to read about how wonderful flexible roles and capabilities are over the fixed roles in 1.6 and earlier versions, but I've not seen any "real" examples. A previous post asked for the Top 10 reasons to learn about roles and I think the OP only got about 2. So, here is another question:
What Useful Things Can a Teacher do with Roles?
I'm looking for 10 things teachers couldn't do without them. And, I'm not looking for "theory" here...I'm looking for actual use cases where users can explain the role, how it's useful for a teacher, and how it's set-up.
Although I'm only asking for 10 real-world examples, I'm sure there should be hundreds of them and if people will simple post them here, then this should serve as a great resource to see the power of roles.
So, teachers, please post here and let us know what great things you are doing with roles out there.
I'll go out on a limb and say that roles are, at this point, more of a framework than a useful tool. As such, much of their promised flexibility has yet to be realized.
I'm not a developer, but I can imagine what happened during the development of 1.7. As the code was being converted, capabilities were added to a list of capabilities needed to replace the isstudent() and isteacher() calls in X. Since the capabilities arose more from a backward-looking consideration of existing code, rather than forward-looking consideration of where we might want flexibility in the future, we ended up with a rather limited set of capabilities that basically allow Moodle to mimic its pre-1.7 behavior.
Now the question is: how much flexibility can we get by mixing and matching capabilities from this list?
Let's say Teachers have capabilities A, B and C Allowed in module X, while Student has them Not set. The extent of the flexibility that we currently have is limited to extending the ability to do A, B, and C to the Student. How useful this is depends on the nature of A, B, and C. Sometimes it is very useful. For example, we can allow students to moderate forums. However there are things we'd like to allow Students to do, we can't because the needed capabilities are either missing, or don't give us access to needed bits of functionality, or are too coarse-grained to be useful. Check out the list list of roles that the developers brainstormed and count how many can be implemented today with our current list of approximately 200 capabilities. I expect that in time we will have 400 or 500 well-designed capabilities that enable us to implement all those roles.
Check out the list list of roles that the developers brainstormed and count how many can be implemented today with our current list of approximately 200 capabilities.
Thanks John, but as I stated in the post, I'm not interested in "theory"...I would like to hear about real-world uses from teachers/professors/facilitators/trainers...whatever you want to call the "legacy" moodle teacher. If we're discussing quantum mechanics and chaos theory, then "theory" is fine, but when we're talking about LMS functionality, I like real-world application better.
Roles have been around for three versions now (1.7, 1.8 and 1.9) and as someone pointed out in another thread we have "...300,000 people here in these forums...", so surely we can come up with 10 useful things a teacher can do with roles now. I don't like to do math in public, but 10 things from a pool of 300,000 people doesn't seem like it should be too tough
Now, I do completely 110% [see what I mean about math in public ] agree with you that "roles are more of a framework than a useful tool", but I'm not convinced they will ever be more than what they are now. The bottom line is roles has had a major impact on the "teacher" experience, so there should be some offsetting benefit.
I'm just interested in learning what that benefit is with real-world examples. I would like to provide an example myself to start the list, but unfortunately, I don't have one....I'm just eager to learn here.
I'm assuming we can get 10 by tomorrow morning, but if not, I'll bump this thread every month or so in the interest of generating that list. Again, I would hope for hundreds, but 10 would be a start...I am writing a "users guide" and would like something to include in the "roles" section other than "Don't touch them unless absolutely necessary and then only to the extent that is absolutely necessary". That doesn't really bode well for power of roles.
The main reason I started this thread is because I continually read things like you posted in this thread: "If you ever need flexibility, you'll discover how much you can do with roles, and you may change your opinion."
So, okay, I'm saying I need flexability so show me how much I can do with roles. And I have a lot of respect for you John...this isn't personal to you...it's an example and a challenge to 300,000 users to show me what I can do.
A forum moderator is someone who can edit or delete forum posts, split discussions and move discussions from one forum to another.
Create a new role with all Forum capabilities Allowed except for Throttling applies, which should remain Not set. All other capabilities should be Not set.
Forum Moderator can be used in conjunction with other roles like Student. It can be assigned in many different contexts (forum, Course, Course category, Front page, or System).
I'm not using the definition in docs.moodle.org, because it doesn't define a new role, but rather assigns the Teacher role in a forum context (IMO not good practice). Forum moderator is a "mix-in" role that is useless by itself. It is only useful when combined with other roles.
The rules of this game should be not just to name a role, but to give explicit details how to create it
...and one more important "rule of the game" actual use cases. That's what distinguishes it from theory...is this something you are actually "using" or have "used" in a real class. That's the only way you know if it actually works and that's what distinguishes it from theory.
Create a new role with all capabilities Not set except for the following, which should be set to Allow: View user profiles, View blog entries, See all user posts, See all user activity reports, Edit user profile.
Assign the role in the child's User context.
It is a widely-used role, but many users have not been fully satisfied with what the role can see (they want it to be able to see more).
It is a widely-used role
Really? Are you using it? Are you satisfied with it? Is it an improvement over what we already had/have without roles...i.e., parent logging in as student?
1. Member role - access to courses, content, and forums
2. Non-member role - limited access to courses, content, and forums; might require payment
3. Supervisor role - would be able to review the courses their employees are taking or have taken
4. HR role - can see all the students from their organization, get reports for their organization, change information about students, approve enrollments
5. Instructor role - can view the information about their course
6. Course creator role - creates and maintains the information on all courses
7. Administrative role - omnipresent, omniscient, omnifatigued
8. SME role - moderates a specific forum
I'll stop there. These aren't things that most teachers would deal with. From my list I could see an Instructor wanting to assign the SME role to someone in their course, but that might be about it. I don't see roles as something Instructors (or teachers) would be concerned with that often. It's more of an admin or site designer concern.
I think we already had 1, 5, 6, and 7 without roles. I've seen no "real world" examples of the others you listed with roles....again, theory vs practical application.
You do make a very good point though:
I don't see roles as something Instructors (or teachers) would be concerned with that often. It's more of an admin or site designer concern.
The problem is, roles has had a significant impact on the teacher experience with little to no benefit.
The site admin interface changed dramatically between 1.6 and 1.8...something a teacher is not aware of and doesn't need to be aware of. If roles is an admin or site designer thing, then they could have been implemented the same way. For example, if you want an HR role, then the interface could have allowed the site admin to create an HR role and if they wanted the teacher to be able to enroll HR people in their courses, they could have had another link in addition to Teacher and Student allowing this....sort of like we already had with the site admin ability to allow teachers to assign teachers. My whole point is, this has had an unnecessarily huge impact on teachers with little to no teacher benefit.
But, I stand to be proven wrong once we get this long list of real-world teacher uses.
And I'm not sure I understand how this has a huge impact on teachers...most of mine just ignore it. Can you explain further? You also seem to have a certain amount of frustration built up around this, Can you share your experience?
Really? You are currently using these roles? That's great. So, what I would like to know is how you created them and what they can actually do. Let's take two for example:
3. Supervisor role - would be able to review the courses their employees are taking or have taken
This could be very useful in a lot of different settings. I would like to set-up this role on my site...how do I do it? I currently have a site with hundreds of students who have completed courses and dozens who are currently in courses. All these students are school teachers from various schools. Let's assume their Principal's are "supervisors". I would like to be able to give a principal (the supervisor) the ability to see his/her teachers (employees) current and completed courses. Your role seems to be the ticket. How do I do it?
4. HR role - can see all the students from their organization, get reports for their organization, change information about students, approve enrollments
Could you give us step-by-step directions on how to set-up this role. Again, I have a site with hundreds of students (school teachers) who have completed courses and dozens who are currently in courses. So, let's assume again, the school principals are the HR reps. How can I set-up this role so that the HR reps (principals) can see all the students (teachers) from their organization (schools) and get reports, change their information, and approve their enrollments in my courses? Your role should do that for me...all I need to know is how to create your role, in what context, and how do I apply it.
I am being completely honest here when I say to you that I don't have a clue about where to start on creating either of these roles. So if you can tell me how to do it, in as much detail as possible, I will give it a try on my site. I am a site admin, so I can do anything on the site and I have a 1.7, 1.8, and 1.9 site so I can try it on any version.
Also, I'm just trying to frame this in my setting -- teachers and schools, but that shouldn't impact anything. All you should really need to do is tell me exactly how you have created and assigned these roles in your non-academic setting and I should be able to duplicate it without problem in my setting.
There is no frustration here. You've listed what seems to be some extremely useful roles, but I don't know how to create them, assign them, or use them. I would like to create them on my site, so I just need to know how to do it. Just show me how to do the two I've listed here and I'll be a happy camper if I can recreate it
Like you, I have a 'real world' problem that as an early user I am grappling with, but which is probably relevant to loads of sites.
Imagine a business site which will charge for some of its courses.
Inspired by some other sites, I have set some courses allowing guest access, called 'help', 'tour', and 'contacts' - containing the mainly static information refered to in the title and allowing the whole site to sit within moodle. There are links to these 'courses' in the header.
So, guests should be able to take a tour, access contact details, news, help hints and other static stuff. They should not even see the chargeable content immediately, but they could register without paying for 2-weeks view-only access to one topic in the payable courses (a 'registered guest' user? Finally they could pay up and become bona fide students with global access.
Students should naturally see everything, all of the time.
My problem is that I can allow auto-login to guests at site level, and they access the 'open' places I want to. However, students seem to be barred from the 'open' courses, getting the message 'this course is unavailable to students'. They should get view access but not amend to the content.
I also want a sticky navigation blockon the side, but need to hide this from everyone except registered users to keep the site clean and tidy from casual visitors.
So, this is a very realistic real world example of using moodle as a full website, with a real world problem of someone not being able to work out how to do it!
Any suggestions please, I'd be very grateful as I am funbling in the dark!
The most common thing I do is override specific roles for specific activities or courses so that ordinary participants ("students") can do more. Examples are the lightbox gallery activities on my family history site, and the files area in the community course (for parents and committee) on my kids school site.
You can also modify roles at the site level so that role has different capabilities than a legacy student might. So, for example, on moodle.org some of the grade reports are disabled for the Moodler role because they don't make sense here. Different groups will have different policies about showing some of these reports to students, especially as new ones are created.
The other common use of roles is to assign specific roles to people in certain activities. So, for example, some people are facilitators of certain things on this site like Moodle modules database and the CVS admin module.
I also have a "Parent" role on my school site which we use to assign people a role in a user. This allows parents to have access to their own kids grades and activity reports (but no-one elses). The Mentees block conveniently shows the people you have a role in on the front page (ie parents see their kids names as links) to make things convenient. We also use this role to assign parents to a course so they can read their kids courses (without any rights to post). It works quite well, much better than making parents students in the course, because parents don't appear in gradebooks etc.
(I know the current interfaces to roles can be confusing when you first look at them. I also agree with you that my old 7-roles system with fixed capabilities was pretty damn good and could be used for 90% of what people need. I completely agree with you. Going forward with the new roles system (which now solves 99.9% of what people asked for), we just need to improve the interfaces so that the simple things are as easy for teachers as they used to be in 1.6 (or easier!) while keeping the flexibility for those who need that. It's not an easy problem but I'm sure it's solvable. Some people have made good solid suggestions already in the tracker and they'll happen soon. If you want to coordinate these improvements and participate in making our roles implementation excel, you're very welcome.)
If you want to coordinate these improvements and participate in making our roles implementation excel, you're very welcome.
Thanks, but no thanks...that would "particularly helpful" and I certainly wouldn't want to be accused of that
Here is a real-life Role that we used for a client last year.
They are a university that wanted an Adviser Role to be assigned to a user (usually faculty) that will follow the grades of the student. As the student matriculated, the adviser would change to a faculty member that was specialized in the field of study chosen by the student.
We modified the role that was outlined for Parent and applied it to the faculty member in the context of the Student.
The problem is that the Adviser would not know how to access the student profile unless they had a direct link to that profile and I believe that is how the Mentee Block came into being.
The beauty of the function is that when the student matriculated, all the admin had to do was un-assign the faculty member as Adviser and assign another faculty member.
Seems to work, client is happy.
The beauty of Parent is that when the parents divorce/remarry etc., you can assign a different parent
Hi, this is an old thread, so I am hoping this might get noticed. Martin, you mentioned assigning parents in the course without posting rights - I assume this is the view:course capability only... which is a great idea so parents can see information they need to help their children.
How did you actually do it? Was it a manual assignation for each parent or did you do some sort of mass update? If you used a script or similar - any chance you would be willing to share?
I am working on the same problem now, and would prefer to avoid doing the many role assignments manually.
The other thing is - it seems like this ability - to view another person's course... is fairly commonly desired - any chance of adding in a user:viewcourses capability to moodle?
We are currently using roles quite a bit so I thought i'd give a few examples here of what we are using them for.
- We have linked our VLE up with our MIS and enrolement systems so any time a new studnet enroles on a course they automatically get assigned a studnet role on the course they are enrolled onto but not given access to any other courses such as staff only areas or other subjects, and any member of staff who is timetabled to teach a particular course is automatically give teacher rights to that course. (i'm not sure if this would have been possible before the introduction of roles)
- We have created a role for all staff members (both academic and business support) which we have called 'View All' and basically what this role does is allow any member off staff to view any course on our VLE which can be useful for them to see what other people are doing and to give them ideas for their own areas.
- On our VLE we also have some private areas which we want to limit access to only a few people such as the SMT so we have created a new role which works alongside the 'view all' role to give access to only about 7 people to this private course.
These are just a few examples of how we have implemented roles, I hope these may be of some use to some people.
First bullet: I believe this was possible under the old system.
Second bullet: please tell us how this role is defined (i.e., what capabilities did you set?) and the context in which it was assigned.
Third bullet: see second bullet.
You gave us some excellent use cases, but without the role details, it's not useful to others.
In addition to John's questions...I'm not really sure how roles addresses the issue in bullet one?
Bullet 2 sounds like an "inspector" type role, but I'm not sure how you have it set up. What's the difference in that role and allowing guest access with an enrollment key in moodle 1.6?
For bullet 3, what's the different in doing this with a role vs simply enrolling those 7 people in the course or putting an enrollment key on the course?
Here are my ten roles: able, baker, charlie, dog, easy, fox, george, ... (you get the idea). These are ten distinct roles, but they have identical definitions, namely: all their capability values are Not set. Teacher is allowed to assign and override all ten roles.
I want these roles because they effectively allow me to create up to 1024 new roles in a single Course or Module context -- roles that I haven't even dreamed of yet (that's why they're so useful). Of course I know Teachers can't "create" roles, but they can override and assign them. By overriding able-baker-charlie roles appropriately, and by assigning them to a user who is also a Student in some context, I can create up to 1024 different combinations of permissions for that user.
For example, I can design a Choice activity in which (1) some students can neither record choices nor view responses (2) some can record choices but not view responses (3) some can view responses but not record them (4) some can both record choices and view responses.
Without these mix-in roles (that's what I call them), I'm stuck with two alternatives: (1) confine my activities to a single Student behavior (2) ask the Administrator to create some custom variations of the Student role for my one-off use.
(1) is overly constraining (why shouldn't I be able to set up a choice activity like the one I described??) and (2) pollutes the global role space with roles that are not generally useful.
@Martin: we use roles in a similiar way at our school.
1. Moodler: we created a 'Moodler' role that fits somewhere between the capabilities of student & teacher. we assign this role to good students who have been delegated responsbility and require capabilities to edit part of a given course eg. moodle/course:manageactivities. typically this is a pastoral, cultural or sport related course.
2. Parent: we created a 'Parent' role & allowed capabilities such as read blogs, forums, activity reports to that role. as admin, access the student profile page & assign the Parent role, then select the parent concerned. then use the 'Mentee' block, so parents have quick access to their child's data on site or my moodle page
3. Black List: this is our 'naughty student' role. it's essentially a student lite version. prevent capability to post blogs, forum posts, send messages. we don't like to use this one, but occassionally a student says something inappropriate in a discussion blog, forum or message > so we counsel the student & remove some priveleges for an agreed period of time in a given context.
You would simply need to set moodle/site:sendmessage = Prevent in your BlackList role.
Some of our students have created a Movie Database (think IMDB) using the database module, on which they allow comments and ratings. They wanted other students who aren't part of this program to be able to add comments and rate entries - this was simple to do in the role overrides tab of the database to grant the Authenticated User role the relevant capabilities.
Is this a database in a course or a database on the frontpage of the site? If it's in a course, how are the overrides applied and how do others know it exists?
The overrides were applied using the following method:
- View the database
- Click Update this Database
- Select the Roles tab
- Select the Override Roles sub-tab
- Select the Authenticated User role
- Set mod/data:comment and mod/data:rate to Allow
- Hit Save Changes
Hummm...so this setting allows user access to activities in a course which they are not enrolled in and provides the teacher with no transparent way of knowing this access has been granted?
Of course, as a teacher, I don't have an Authenticated User role available in my course, so this would have to be done by an admin. And, as a teacher, once this is done by an admin I would have no way of checking or knowing that it was done...at least none that I can find.
I'm sure this works for you in your unique application, but it seems to me to be of very little practical use in most situations.
I guess that's an improvement
I'm sure this works for you in your unique application, but it seems to me to be of very little practical use in most situations.
I'm not sure where you're coming from here - the above scenario I posted was obviously done in consultation with a teacher. Unless you believe that your Moodle admins are involved in some kind of vast conspiracy against your teaching staff then I don't think there's a problem. We're in dialogue with all staff and work together on all of these issues - perhaps that's not the case at your institution
You asked for specific examples of how roles definitions have been used to improve usage of Moodle, and I've given you one - as have others in this thread.
No conspiracy...just pointing out that an admin must do this and once it's done teachers have no way of knowing it has been done other than being told by an admin.
I've said before, roles have resulted in tremendous complexity for teachers with little to no benefit for most teachers. This application works for you...great. I consider it of little to no benefit for most teachers, particularly when one considers that the same thing could be done in a separate common course where everyone could enroll and participate in common, site-wide activities....and have the added benefit of allowing a teacher, or group of teachers, to manage the course....i.e., add more common activities without needing the admin to override roles for each of them.
Not sure about your institution, but if teachers have to rely on admins to do these type things in their individual courses, to individual activities, then most are not going to get very far....it may work in a 200 student school, but probably not in a 10,000 student university.
Nothing personal, but the capability you described already existed without roles and in a much "cleaner" manner...in my opinion.
So, I'm still looking for useful things a teacher can do with roles that they couldn't do without them...this isn't one, in my opinion. I think there have been two mentioned in this thread with details about how to set them up. There were some great ones listed here, but unfortunately, the poster hasn't gotten back on exactly how to create them yet...I'm really interested in the Supervisor and HR roles.
I've started a list of what I consider to be useful ones here...I'll continue to add to the list as they are submitted.
I think there's a missing detail in your solution. Let me know if I'm wrong.
If I log in with a valid account and I click on your course, you have to let me in to see the db. So your course must allow guests without the key for this to work. When I enter your course, I have two roles: Guest and Auth user.
But you don't want the guest user (guest/guest) to be able to vote, so putting the permissions in Auth user was smart, since logging in as the guest user gives you only the Guest role and not Auth user.
But ... I must say that I agree with Steve's criticism of your solution. It is unreasonable to expect an admin to help individual teachers or create one-off roles for their use. So overriding Auth user is not an option, at least for an entry in the top ten list.
If Teacher can override Guest, then the db permissions could be put in Guest, but then the guest user (guest/guest) could vote, and we don't want that.
It's an interesting problem, but frankly, I can't think of a solution.
Thanks for your role example of allowing other students to add comments and rate database entries - it sounds a great way of encouraging students to widen their interests.
If lots of teachers decide they want other students to add comments and rate entries for their database activities, you could even enable teachers to set the overrides themselves (as described in the override permissions documentation) and allow teachers to override the authenticated user role.
this is an easy and perfectly accurate solution for contributing to and rating of a photo-contest in a DB
(i have also set mod/data:make entries to allow)
you made my day
So, with that in mind, here is a reason for teachers to use roles: to have more control of how your course looks and works for your students. But start small:
-- Turn editing on
-- Click the "Assign roles" icon (far left one) on a certain block (like Recent activity)
-- Click the "Override permissions" tab and select "student"
-- Change permission for View block from "Allow" to "Prevent"
Now, teachers will be able to see Recent activity, but students will not. This might or might not be important to you, but you can certainly imagine other blocks (etc.) where the visibility or some other feature might make things simpler or more appropriate for your users.
I simply close the eye to get essentially the same result. When I want to see it, I open the eye and when I'm done, I close it back. Months later when I've forgotten about all those little overrides I can still login and see the eye closed on recent activity and I immediately know students can't see that block.
We have a "Question bank access" role that is set up at the site level and assign at the course category level or course level.
None of the capabilities are set except "View all questions" and "Use all questions" which are set to permit.
What this allows is for academic departments to share common question banks for tests, practices, and quizzes. A big time saver and allows for load sharing, while still maintaining a certain degree of security on the question banks.
How is this different from publishing a question bank in 1.6?
In our school, students have teacher roles for clubs. TA's have certain privileges also. And besides, if your school has many classes using the quiz module, you would not want to see every possible collection of questions.
We have found this useful and an improvement over 1.6.
Well, if you're making students teachers in your main LMS site, then test questions are the least of your "potential" problems.
Although, I think that what you really must mean is that if a student is given such a role, that you would want to restrict them to only actions that are essential to their function, which would seem to be counter to your thesis that the roles of 1.6 are all that will ever be needed.
So, which is it?
So, which is it?
Gosh...I've never been any good at multiple choice questions, but if you insist....ummmm....I pick:
D. None of the above
Thank you for persuading me that roles and capabilities can be quite useful and worth learning in many cases. Certainly, a "Student facilitator" role is needed unless one wants to confine Moodle to an only somewhat limited and predefined paradigm. It is not that I did not use care and trust my students who I let manage certain types "courses" -- I did and they always honored that trust. But the new capability feature will let me teach them about the proper design of more secure environments. And it will give me greater control as new capabilities are added now and in the future. You might even agree with this.
I do agree that a few simple roles are often all that is needed, and the existing legacy roles frequently will do that. And sites don't need 10 more roles. They need just enough alternations/additions to reflect their needs, values, and policies if those don't happen to fit into guest, student, teacher, or site administrator collection and the default settings. And teachers might get more control of their environment if their needs can be met through fine tuning (like the learning support or question bank roles I mentioned).
I will leave this thread now, feeling that it is more productive to put these ideas into the docs or my classes or code revisions. I would leave you some stars, but since I know you don't like those, how about just a cool emoticon instead
Thank you for stirring up the pot -- sometimes it needs stirring and you seem to like that role. And it can be helpful if used judiciously and I genuinely mean that (even though I know you will say that being helpful is not your intention).
Now to answer your question, I don't believe it's wise to create Bee Clubs and the sort on an institutions main LMS installation. I think it's wiser to use a separate installation for these type uses...like this...a dedicated install with about 200 students as teachers in their own courses...no roles, no mess, no confusion, no chance of students getting into things they shouldn't (i.e., other discussion about notes), etc. I've had two developers (Moodle developers) tell me off-line that it isn't wise to do this (make student's teachers) citing undefined security reasons.
In very limited, short-term, controlled circumstances, it may be okay to make students teachers in courses on the main LMS (trusted graduate assistants), but there are too many things a student can "get into" by making them teachers on the main LMS and roles makes this even more complex and uncertain...just my opinion.
Glad I convinced you roles are good....have fun with them
You can count on me continuing to "stir the pot" when I think it needs stirring
I've created a 'Super Student' role, where students can write, preview and edit (their own) questions. I switch this on for one day, get them to write questions, then turn their questions into a quiz.
How did you create it, what settings, in what context, and how do you assign it. Do the students write the questions, make the quiz, and make the quiz available, or do they only do part of this.
Interesting role, but people would need to know exactly how to create it, in what context, how to assign it, is it a stand-alone role or does it work with another role, and exactly what can be done with before it's of much use to others.
The only settings over and above normal student settings are
Add new questions moodle/question:add
Edit your own questions moodle/question:editmine
View your own questions moodle/question:viewmine
Use your own questions moodle/question:usemine
Move your own questions moodle/question:movemine
(all set to allow)
The pupils write the questions, then the course creator/teacher turns them into a quiz.
This is a very good example. I think it is also one of the first really significant examples of the usefulness of roles and capabilities that we have seen. In my opinion, that is because it is the result of new work done after the initial conversion to roles in 1.7.
Earlier in this discussion, I said "roles are, at this point, more of a framework than a useful tool" and I think that was true in 1.7 because (as I said above) "the capabilities arose more from a backward-looking consideration of existing code, rather than forward-looking consideration of where we might want flexibility in the future."
For 1.9, Tim Hunt reorganized the question bank into hierarchical contexts anddefined a whole new set of question-related capabilities that can be applied in those contexts. They give us tremendous flexibility.
I think Steve's criticism of roles was initially well founded, but it becomes increasingly less so as time goes on. If question/quiz is any indicator, we will gradually see code being reorganized in a more sensible manner, and new capabilities added that give us control over functionality that was not previously considered as being role-related in the old "fixed roles" system.
Anyway, I just started playing with the new quiz/question bank capabilities as a result of Vinny's post (I had been meaning to get around to it), and I am very impressed.
I haven't tested this yet, but based on your reply I've added it to the list. With Michael's "time limit" one, looks like we have 4....or 3.5 since I've listed the parent role, but consider it virtually useless given the "natural" role of a parent looking over their student's sholder.
No one says you need to create a new role for roles to be useful, and no one says that every role you create must be inherently useful.
Take my example (I'm not sure if I gave it in this thread or elsewhere) of a teacher who wants to design a Choice activity in which (1) some students can choose but not view responses, (2) some can view responses but not choose, (3) some can do both and (4) some can do neither. This is a valid design, but it does not merit a new "role" (or set of roles) per se at the institutional level, or one that you can write about in your blog
With the nearly two dozen question and quiz capabilities, you can create well over a million different combinations of permissions in a given question context. I'm not saying they're all useful combinations, but my point is that you have lots of flexibility -- again, without defining a single "useful role" at System level.
Thanks for the feedback John.
This week in my school I've had 11 yr old pupils writing and submitting multiple choice questions on a topic they are studying (25 pupils in the class - each pupil writing two good questions), which I then made into a quiz for them to do at home after the lesson. I find that a hugely powerful learning (and motivational) tool - pupils creating and setting their own homework.
One thing I do find annoying about roles is having to sort through all site users to assign them. It would be even more useful (and faster to set up) to be able to assign roles to 'Groups'.
Seems an easy (?) and obvious improvement. Any ideas on that or am I just missing something?
I think "Roles for groups" is still in the roadmap, but I got feedback in this discussion that it probably won't be implemented. Sigh. It would be very handy indeed.
It would be interesting to hear the details of how you set up your groups and allocate permissions among them. Since it's a bit off-topic (you already made the point Steve was looking for), maybe you should start a new discussion.
I just started researching and experimenting with the question capabilities yesterday, and immediately ran into the following problem (see MDL-14908).
I found that if you give question add permission (moodle/question:add) in a quiz context, the user does not get a "Create new question" menu. I had to give the permission one level up, at the course level. Within the quiz, the Category menu allows the user to add questions to two contexts: quiz and course. But I want to contain the motivational quiz-building exercise to a single quiz.
Have you run into this problem? I'm using Moodle 1.9, latest stable release.
As far as I'm aware questions are associated to courses not quizzes. One creates questions for a course and utilises them in one or more quizzes in the course (or across the site or as permitted using by the new question capabilities in 1.9).
One can access the questions interface in the quiz module (provided the quiz has not been attempted by a student), but it is not part of the quiz module itself.
In previous versions of Moodle one could only access the interface that is now situated at "Questions" in the Administration block via an existing quiz. This was changed in 1.6 to open up possibilities for other modules to use the question bank in the course.
So that behaviour seems as expected to me...
I agree. Questions are course wide, so I just create a new question category (and give it something obvious like the name of the class) and ask pupils to create their questions there. It also helps if you make that category top of the list so they see it!
I transposed a digit (it was MDL-14098).
I did some more experimenting and discovered that I was able to do today what I had thought was not possible yesterday. I will ask for the issue to be deleted.
Addressing your remarks: Questions are associated with contexts. Question contexts are a subset of permission contexts: System, category, course, and module (currently, only quiz). So yes, questions are associated with quizzes, not just courses.
Here is how to set up Vinny's "motivational quiz experiment" in such a way that students can ONLY create questions that are only used in a specific quiz and cannot see any other questions.
- Create a new role CanAddQuestions with moodle/question:add = Allow and all other capabilities Not set
- Create a new role CanManageQuizzes with quiz capabilities set identically to those of Teacher, and all other capabilities Not set
- Create a new quiz Q. Note: this creates a new Question context in the Question bank. It appears as a bold heading in the Category menu: Activity module: Q. The context initially consists of a single category called Default for Q.
- Edit quiz Q and assign both of the new roles to selected students
- Login as one of the students and navigate to the quiz. Click Edit and then click Questions. In the Category menu, you will see ONLY the Default for Q category.
Ignores time limit on quizzes :mod/quiz:ignoretimelimits set to allow
From our description of the role
This role is a duplicate of the regular student role with one change. Ignores time limit on quizzes is set to allow. Therefore, this role is not subject to the time limit in quizzes. Instructors who wish to exempt a student from a time limit on a particular quiz should assign this role to that student for that quiz.
It's main use is for students who should not be restricted to the same time limit when taking a test as other students, e.g., ADA accommodation. Teachers can assign this role to students on a quiz by quiz basis.
If we could get it to work, this would be a good one, I think.
We want to enable messaging on the site, but to disable students' ability to message each other. Teacher to student, teacher to teacher and student to teacher messaging would be fine. Just not student to student.
We have not yet figured out how to do it, though.
If we get it working, we will post.