Our students want complete privacy. How do we keep other students from seeing even the names of other students, participant lists, etc. while still being able to message those who they know from outside the course? They also need to be able to reply to their messages and see their teacher or non-editing teacher.
Roles and permissions
The short answer is no. You can go through some serious gyrations of putting each student in a separate group composed of one student and one teacher. You can probably turn off permission to view the participants list. You can turn off blog and tags, which are ways to tunnel to other users.
But messaging is an on or off proposition. And, because it goes across the whole site, any user can search for "Tom" and come up with everyone who has those letters in her or his name. So, an able guesser could come up with names of people, search, and message them.
At this point, there is in each user's messaging options
Prevent non-contacts from messaging me:
But that prevents them from adding people they know to their contacts.
While you can't guarantee complete privacy, I can say that we've been using Moodle since 2008 and have had only two cases that we know of where a user searched for people he/she didn't know in Messaging.
Our moodle is for mentally ill people, so privacy issues are perceived with a lot of paranoia. We tell people in the policy page (they are forced to open it) that if they are concerned with privacy they should change their name.
We also default everyone to hide their emails from everyone, but email pops up in a lot of places. It is fairly easy to remove that from students, but we assign students via groups to tutors who help them through the course. I copied non-editing teacher role and made a Tutor role out of the copy. I then changed several settings and removed all access to email and "other" profile fields for the tutor role. I can dig into the settings and post what I changed if anyone wants to do the same.
We still have the problem of messaging allowing anyone to search by name as Ben mentioned, but we can live with that since we told people to change their name if privacy is a concern. I looked into dialog and it is a potential alternative.
This all created a new potential problem for when the tutor has two students with the same name. How does he tell them apart? That is the reason for email addresses, but it could be handled by student id number in the profiles. Problem is, I don't know how to automatically assign them.
In terms of profiles, we have many students with identical names. We make the username an id number that is viewable only by teacher types. We add the id number to a special field in the profile called "ID number" not visible to students.
So you could go with the first name last initial for first name and surname fields. And distinguish on the basis of a visible ID number.
And, did you know that, if you don't enter City/town information, the field defaults to the City/town of whoever admin type enters the data? Most of our students don't live here but still are listed as "Baltimore."
Hi Ben, that seems like a really simple and great system. I'm in a similar situation to the one mentioned above. Do you think you could elaborate on how you set this all up, for example making usernames only visible to teachers?
I didn't do the actual work, so I've asked if we have documentation on setting up the special field and making it visible only to teachers.
Finally, I have an answer. Students' usernames are actually student ID numbers. Moodle has an ID number field. When we add students, we put the student ID number both username and ID number.
Next, you go Site administration > Users > Permissions > User policies > Show user identity and check ID number.
By default, anything checked in Show user identity is visible to non-editing teacher through admin but not students and guests.
Now, when teachers/tutors/etc click on the participants list in a course, ID number appears beside First name/Surname. It also appears on Course admin > users > enrolled users. It also appears when you click "full profile" for any user.
Note: if ID number field is empty, you do not see the ID number field on a full profile.
Tom, it looks like you have done really well in working with the setup options you have.
It seems that your setup is a lot more like 'mentoring' in a course than actually 'teaching' a group. The dialogue module I mentioned yesterday can be found here: https://moodle.org/plugins/view.php?plugin=mod_dialogue Given this extra information about your situation you may find value in this. This takes away the need to message students. It gives a nice tutor<>student channel with attachments, whereas messaging is a little limited.
Students with same names. I just add in initials, something in brackets, aka James etc. To keep it as simple as possible.
You tread a fine line here. In a former life we set up the support group for some students in a sensitive area in a completely different LMS. Never regretted the extra work involved.
This is a bit of a logical impossibility Tom.
How can the system know who you know if you don't tell it? How can it decide if you are a stalker telling a lie about knowing someone? (etc)
I'd say: implement Moodle's capacity to lock down the courses to be see no-one, message no-one. Then I'd try using the dialogue plugin, which allows nice rich 1<>1 communication with students.
Then tell the students if they want to chat to their friends to use Facebook.
Thank you Ben and Derek for setting me in the right direction. I learned a great deal thanks to your suggestions and feel I really have a great setup now.
Here is what I did in case anyone else wants to do the same:
When someone buys from our website (through PayPal), the IPN that Paypal sends goes to a script running on the website (not the moodle site).
The settings in moodle are as you both suggested with the addition of using an external database for authentication, which is much easier than it looks on the moodle page. I did the moodle settings first and did not document them, but can if anyone wants. Attached is a flow chart of the setup.