Moodle

Group members can't reply to discussions in a forum available for group members only

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Duplicate
  • Affects Version/s: 1.9.3
  • Fix Version/s: 1.9.4, 2.0
  • Component/s: Forum, Groups
  • Labels:
    None

Description

Steps to recreate:

1. Create a grouping containing a group containing a user
2. Create a forum with separate groups mode, "Available for group members only" checked and the grouping selected

The user is able to access the forum and start new discussions, but is unable to reply to existing discussions.

This problem is also reported here: http://moodle.org/mod/forum/discuss.php?d=99594

Issue Links

Activity

Hide
Eloy Lafuente (stronk7) added a comment -

Uhm... is this reproducible under latest 1.9.1+ ?

I've created 2 groupings (A & B), then assigned one group to each one (group 1 and group2). After setting one forum to separate groups, grouping A, available for group members only... students in group1 are able to create new discussions and reply to forum posts without problems.

(image attached)

Ciao

Show
Eloy Lafuente (stronk7) added a comment - Uhm... is this reproducible under latest 1.9.1+ ? I've created 2 groupings (A & B), then assigned one group to each one (group 1 and group2). After setting one forum to separate groups, grouping A, available for group members only... students in group1 are able to create new discussions and reply to forum posts without problems. (image attached) Ciao
Hide
Grant Beevers added a comment -

Eloy,

In your testing, excuse my ignorance, but you did test with just student permissions? I notice in your attached image that the user has the Edit/Delete/Split capabilities, which I didn't think the student received.

Grant

Show
Grant Beevers added a comment - Eloy, In your testing, excuse my ignorance, but you did test with just student permissions? I notice in your attached image that the user has the Edit/Delete/Split capabilities, which I didn't think the student received. Grant
Hide
Martin Dougiamas added a comment -

Dong sheng can you look at this?

Show
Martin Dougiamas added a comment - Dong sheng can you look at this?
Hide
Eloy Lafuente (stronk7) added a comment -

... but you did test with just student permissions?

Sure Grant, I did those replies as Alu1 and Alu2, students in the course.

It's only I made the screenshots as administrator.

Ciao

Show
Eloy Lafuente (stronk7) added a comment - ... but you did test with just student permissions? Sure Grant, I did those replies as Alu1 and Alu2, students in the course. It's only I made the screenshots as administrator. Ciao
Hide
Grant Beevers added a comment -

Ok, thanks to the work of Mark Drechsler at partner Netspot, I think we have worked this one out. If you do not select the group in the Separate Groups drop down BEFORE you make the actual topic in the forum, then you can't make this change afterwards for the reply to appear.

In other words, I made these forums and topics before any groups had been created, and now that I have created the groups, it is not reversible for those forums and topics to work with replies once they are segregated into groups.

As a result, I will need to delete all of these forums, and the topics we created in each, and recreate them again once I have worked out all of the groupings and groups.

It would be good if you could put these forums into groups as an afterthought...

Cheers,
Grant

Show
Grant Beevers added a comment - Ok, thanks to the work of Mark Drechsler at partner Netspot, I think we have worked this one out. If you do not select the group in the Separate Groups drop down BEFORE you make the actual topic in the forum, then you can't make this change afterwards for the reply to appear. In other words, I made these forums and topics before any groups had been created, and now that I have created the groups, it is not reversible for those forums and topics to work with replies once they are segregated into groups. As a result, I will need to delete all of these forums, and the topics we created in each, and recreate them again once I have worked out all of the groupings and groups. It would be good if you could put these forums into groups as an afterthought... Cheers, Grant
Hide
Helen Foster added a comment -

Thanks everyone for your comments.

I've just realised the same as Grant i.e. for users to be able to reply, the discussion must be a group discussion and not an "All participants" discussion.

Students can reply to discussions started by other students, as these are automatically group discussions, but they can't reply to discussions started by admins or teachers, as these are "All participants" discussions (unless, as Grant mentions, the group is selected in the separate groups dropdown menu before clicking the "Add a new discussion topic" button).

Show
Helen Foster added a comment - Thanks everyone for your comments. I've just realised the same as Grant i.e. for users to be able to reply, the discussion must be a group discussion and not an "All participants" discussion. Students can reply to discussions started by other students, as these are automatically group discussions, but they can't reply to discussions started by admins or teachers, as these are "All participants" discussions (unless, as Grant mentions, the group is selected in the separate groups dropdown menu before clicking the "Add a new discussion topic" button).
Hide
Mark Drechsler added a comment -

Hi all,

Should we close this bug then, seeing as how its not really a bug at all?

Mark.

Show
Mark Drechsler added a comment - Hi all, Should we close this bug then, seeing as how its not really a bug at all? Mark.
Hide
Dongsheng Cai added a comment -

Feel free to reopen

Show
Dongsheng Cai added a comment - Feel free to reopen
Hide
Helen Foster added a comment -

Reopening, as this is definitely a bug.

Students should be able to reply to all discussions regardless of whether the discussion is a group discussion or an "All participants" discussion.

Show
Helen Foster added a comment - Reopening, as this is definitely a bug. Students should be able to reply to all discussions regardless of whether the discussion is a group discussion or an "All participants" discussion.
Hide
Dongsheng Cai added a comment - - edited

OK, I reproduced this issue finally.

Before enabling group mode, all the groupid of discussions' is -1.
But after the separate group mode enabled, forum_user_can_post(moodle/mod/forum/lib.php line 4266) will return false if groupid is -1, to solve this problem, we should allow user replying discussions with gorupid -1.

Eloy, am I right? (IMO, I don't think this is a bug, because group -1 is not the same group with users' group)

Show
Dongsheng Cai added a comment - - edited OK, I reproduced this issue finally. Before enabling group mode, all the groupid of discussions' is -1. But after the separate group mode enabled, forum_user_can_post(moodle/mod/forum/lib.php line 4266) will return false if groupid is -1, to solve this problem, we should allow user replying discussions with gorupid -1. Eloy, am I right? (IMO, I don't think this is a bug, because group -1 is not the same group with users' group)
Hide
Eloy Lafuente (stronk7) added a comment -

Well, not really sure about the best approach. Sincerely I think that we should prevent modification of those settings once one activity has "started" (i.e. there are discussions in a forum).

I've been looking at code and have found that:

  • For visible groups: all-participants discussions (-1), explicitly ALLOW replies of any "student".
  • For separate groups: all-participants discussions (-1), explicitly DENY replies of any "student".

My personal feeling +1 goes to change the second to ALLOW too (as suggested by Helen). But I'm not really sure why that has been coded that way. It's too much explicit to be a bug. I'd request MD final decision about this.

More if you imagine the opposite scenario, one "group participants" discussion whose forum is changed to no-groups mode (or to another grouping). How are we performing there? Who can view/reply... Crazy, in any case!

Definitively we need have the ability to lock some settings in Moodle calling one xxx_has_started() or so to decide.

Ciao

Show
Eloy Lafuente (stronk7) added a comment - Well, not really sure about the best approach. Sincerely I think that we should prevent modification of those settings once one activity has "started" (i.e. there are discussions in a forum). I've been looking at code and have found that:
  • For visible groups: all-participants discussions (-1), explicitly ALLOW replies of any "student".
  • For separate groups: all-participants discussions (-1), explicitly DENY replies of any "student".
My personal feeling +1 goes to change the second to ALLOW too (as suggested by Helen). But I'm not really sure why that has been coded that way. It's too much explicit to be a bug. I'd request MD final decision about this. More if you imagine the opposite scenario, one "group participants" discussion whose forum is changed to no-groups mode (or to another grouping). How are we performing there? Who can view/reply... Crazy, in any case! Definitively we need have the ability to lock some settings in Moodle calling one xxx_has_started() or so to decide. Ciao
Hide
Dongsheng Cai added a comment - - edited

What about printing a message to tell user the -1 group discussions are locked?

Show
Dongsheng Cai added a comment - - edited What about printing a message to tell user the -1 group discussions are locked?
Hide
Mark Drechsler added a comment -

Sorry if I'm going on about this one Helen, but...

I'm wondering about whether 'fixing' this bug is running the risk of breaching the whole idea of 'separate groups' as follows:

I am running a Moodle course, I want participants in Group 1 to have no idea that there is a Group 2, let alone who is in that group or communicate with them, so that I can run multiple groups through a course and keep them 100% separate. I set up my course as 'separate groups' and have a forum in the course where I can communicate at either a group or course level. Within a group, students can discuss whatever they want in the knowledge that it is private within that group. At the moment, if I post something to all participants, then nobody can reply so there is no risk of one group seeing a post from someone in another group. If this bug is fixed in the way proposed above, then (unless I'm misunderstanding the proposed fix) then it means that the identity of a student in a separate group will then be made available to all participants - not something I want as a teacher!

Maybe an alternative is that participants can reply to an 'all participants' message from the teacher, but it has the effect that the initiating post is split into a sub-post that is restricted to the relevant group - if that makes sense.

Then again, maybe I'm putting to much emphasis on the concept of 'separate' in 'separate groups'.

Comments anyone?

Show
Mark Drechsler added a comment - Sorry if I'm going on about this one Helen, but... I'm wondering about whether 'fixing' this bug is running the risk of breaching the whole idea of 'separate groups' as follows: I am running a Moodle course, I want participants in Group 1 to have no idea that there is a Group 2, let alone who is in that group or communicate with them, so that I can run multiple groups through a course and keep them 100% separate. I set up my course as 'separate groups' and have a forum in the course where I can communicate at either a group or course level. Within a group, students can discuss whatever they want in the knowledge that it is private within that group. At the moment, if I post something to all participants, then nobody can reply so there is no risk of one group seeing a post from someone in another group. If this bug is fixed in the way proposed above, then (unless I'm misunderstanding the proposed fix) then it means that the identity of a student in a separate group will then be made available to all participants - not something I want as a teacher! Maybe an alternative is that participants can reply to an 'all participants' message from the teacher, but it has the effect that the initiating post is split into a sub-post that is restricted to the relevant group - if that makes sense. Then again, maybe I'm putting to much emphasis on the concept of 'separate' in 'separate groups'. Comments anyone?
Hide
Martin Dougiamas added a comment -

That is absolutely correct Mark.

The behaviour that Eloy described above is completely intentional - separate groups are supposed to be separate and participants from different groups must not ever see each other.

That's why replies are explicitly denied in that case.

I think the problem is really one of documentation ... as Dongsheng said, a little message under those discussions to explain what is happening and why people can't post would be a good idea.

Helen, do you want to think about what this text would look like?

Show
Martin Dougiamas added a comment - That is absolutely correct Mark. The behaviour that Eloy described above is completely intentional - separate groups are supposed to be separate and participants from different groups must not ever see each other. That's why replies are explicitly denied in that case. I think the problem is really one of documentation ... as Dongsheng said, a little message under those discussions to explain what is happening and why people can't post would be a good idea. Helen, do you want to think about what this text would look like?
Hide
Marty Watson added a comment -

As a statewide distance learning center we are serving multiple districts. Each district has a site facilitator that has a role based on the legacy role of non-editing teacher. Each course is using separate groups and force yes, to enable site facilitators to view grades for their students only. The teachers have setup groupings for regular ed and special ed students.

When the teacher creates a forum, students are not able to reply to teacher postings. For example: If the teacher creates a Q & A forum, the students can see the teacher postings, but are not able to reply with their answer. I created another grouping called class and put all groups in that grouping. In the forum settings I assigned to grouping: class. I've logged in as a student and have still not been able to post.

I see that there are mulitple tracks and forum discussions on the matter, but I've still not been able to resolve the issue.

Show
Marty Watson added a comment - As a statewide distance learning center we are serving multiple districts. Each district has a site facilitator that has a role based on the legacy role of non-editing teacher. Each course is using separate groups and force yes, to enable site facilitators to view grades for their students only. The teachers have setup groupings for regular ed and special ed students. When the teacher creates a forum, students are not able to reply to teacher postings. For example: If the teacher creates a Q & A forum, the students can see the teacher postings, but are not able to reply with their answer. I created another grouping called class and put all groups in that grouping. In the forum settings I assigned to grouping: class. I've logged in as a student and have still not been able to post. I see that there are mulitple tracks and forum discussions on the matter, but I've still not been able to resolve the issue.
Hide
Dongsheng Cai added a comment -

Maybe we need to vote on this issue:
1) print message to explain why people cannot post reply
2) enable users to replay on a message with groupid -1

Show
Dongsheng Cai added a comment - Maybe we need to vote on this issue: 1) print message to explain why people cannot post reply 2) enable users to replay on a message with groupid -1
Hide
Helen Foster added a comment -

Thanks for everyone's comments, and especially for Mark's explanation

I now understand why allowing users in separate groups to reply to a discussion to all participants is not a good idea! Thus I think we should go for a message explaining that users can't reply to discussions to all participants.

Just wondering where this message should go: On the forum view page and/or the "Add a new discussion topic" page and/or the discussion thread page?

I'll think up some text and also add a note about it in the documentation wiki.

Show
Helen Foster added a comment - Thanks for everyone's comments, and especially for Mark's explanation I now understand why allowing users in separate groups to reply to a discussion to all participants is not a good idea! Thus I think we should go for a message explaining that users can't reply to discussions to all participants. Just wondering where this message should go: On the forum view page and/or the "Add a new discussion topic" page and/or the discussion thread page? I'll think up some text and also add a note about it in the documentation wiki.
Hide
Dongsheng Cai added a comment -

Replacing the 'reply' link with a lock icon which is linked to the help document?

Show
Dongsheng Cai added a comment - Replacing the 'reply' link with a lock icon which is linked to the help document?
Hide
Helen Foster added a comment -

Information about separate groups and enabling students to reply to a discussion posted by a teacher available here:

http://docs.moodle.org/en/Adding/editing_a_forum#Group_mode
http://docs.moodle.org/en/Forum_module_FAQ

Just wondering whether it would be possible to allow teachers to select whether to post to all participants or a selected group on the "Add a new discussion topic" page (forum/post.php), rather than requiring them to do so on the forum view page before clicking the "Add a new discussion topic" button?

Show
Helen Foster added a comment - Information about separate groups and enabling students to reply to a discussion posted by a teacher available here: http://docs.moodle.org/en/Adding/editing_a_forum#Group_mode http://docs.moodle.org/en/Forum_module_FAQ Just wondering whether it would be possible to allow teachers to select whether to post to all participants or a selected group on the "Add a new discussion topic" page (forum/post.php), rather than requiring them to do so on the forum view page before clicking the "Add a new discussion topic" button?
Hide
Marty Watson added a comment -

Helen's solution is what we have ended up having to do. However, If a course has say ten groups, that requires the teacher to create ten separate posts to the discussion. Is there a reason why that a teacher could not post to all participants and each group see and reply to that posts. Then have the separate groups be able to only see their groups replies? There must be an easier solution than teachers making multiple posts for a single topic. Separate groups is the only FERPA protection we have in our environment, so visible groups is not an option for us. Groups are forced at the course level. I vote for users to be able to reply on a message. Couldn't that be an option in the forum setup?

Show
Marty Watson added a comment - Helen's solution is what we have ended up having to do. However, If a course has say ten groups, that requires the teacher to create ten separate posts to the discussion. Is there a reason why that a teacher could not post to all participants and each group see and reply to that posts. Then have the separate groups be able to only see their groups replies? There must be an easier solution than teachers making multiple posts for a single topic. Separate groups is the only FERPA protection we have in our environment, so visible groups is not an option for us. Groups are forced at the course level. I vote for users to be able to reply on a message. Couldn't that be an option in the forum setup?
Hide
Martin Dougiamas added a comment -

I like Helen's idea of being able to choose the group on the forum/post.php page (for new discussions) in addition to the existing way to do it. My +1 for that.

I do like your idea, Marty, from a usability point of view - it's something that we have considered in the past but does lead to a lot of complicated and inefficient code ... because we need to add group checks for every post. (for each post in this discussion, is the current user in any of the same groups I'm in?).

It could also lead to confusion if I'm in a group A, and someone else in group A and group B replies to a post by Group B that they can see, but I can't see .... you see the can of worms? Especially when posts are threaded.

Alternatively, we don't allow teachers to edit their posts after the first post and we post ten copies (one copy into each group) ... but that's not ideal either ...

Show
Martin Dougiamas added a comment - I like Helen's idea of being able to choose the group on the forum/post.php page (for new discussions) in addition to the existing way to do it. My +1 for that. I do like your idea, Marty, from a usability point of view - it's something that we have considered in the past but does lead to a lot of complicated and inefficient code ... because we need to add group checks for every post. (for each post in this discussion, is the current user in any of the same groups I'm in?). It could also lead to confusion if I'm in a group A, and someone else in group A and group B replies to a post by Group B that they can see, but I can't see .... you see the can of worms? Especially when posts are threaded. Alternatively, we don't allow teachers to edit their posts after the first post and we post ten copies (one copy into each group) ... but that's not ideal either ...
Hide
Dongsheng Cai added a comment -

Thanks all, what I will do:
1. Print a message to tell the user, posts to all participants cannot be replied.
2. Allow teacher to select a group in post.php page.

Is this OK?

Show
Dongsheng Cai added a comment - Thanks all, what I will do: 1. Print a message to tell the user, posts to all participants cannot be replied. 2. Allow teacher to select a group in post.php page. Is this OK?
Hide
Mark Drechsler added a comment -

Hi Dongsheng,

What you've suggested IMHO will only half solve the problem. Granted, it will reduce the number of 'why can't I reply to the post' questions from users trying to use separate groups and forums, but what it won't do is stop the situation Mary describes (8th Oct) where a teacher has to create x replicated posts for each group (which from personal experience is quite painful, particularly when you want to use this in multiple activities within a course - can quickly lead to large amounts of manual work).

My ideal solution would be as follows:

When a teacher creates a new forum post;
IF the course/activity is set to 'separate groups' THEN
Show a drop-down giving three options, namely

  • Post one thread to entire cohort (reply functionality will be disabled - basically what happens now) OR
  • Post one thread to one specific group (reply functionality will be enabled, like happens now) OR
  • Post one thread per group, cloning the initial post (and the reply functionality will be made live in each group)

I'm trying to think of any scenarios that will make this 'break' but I'm struggling to come up with a use case that won't be satisfied by doing this. If you wanted to get really cute then you could even warn the user that there will be x separate threads created if they choose the second option. You could also get really really cute and change the interface so you can multi-select the groups you want to send to rather than having just the three options above - but that's probably overkill I guess

I reckon its a case of a little more effort for a lot nicer functionality in this case - thoughts anyone?

Mark.

Show
Mark Drechsler added a comment - Hi Dongsheng, What you've suggested IMHO will only half solve the problem. Granted, it will reduce the number of 'why can't I reply to the post' questions from users trying to use separate groups and forums, but what it won't do is stop the situation Mary describes (8th Oct) where a teacher has to create x replicated posts for each group (which from personal experience is quite painful, particularly when you want to use this in multiple activities within a course - can quickly lead to large amounts of manual work). My ideal solution would be as follows: When a teacher creates a new forum post; IF the course/activity is set to 'separate groups' THEN Show a drop-down giving three options, namely
  • Post one thread to entire cohort (reply functionality will be disabled - basically what happens now) OR
  • Post one thread to one specific group (reply functionality will be enabled, like happens now) OR
  • Post one thread per group, cloning the initial post (and the reply functionality will be made live in each group)
I'm trying to think of any scenarios that will make this 'break' but I'm struggling to come up with a use case that won't be satisfied by doing this. If you wanted to get really cute then you could even warn the user that there will be x separate threads created if they choose the second option. You could also get really really cute and change the interface so you can multi-select the groups you want to send to rather than having just the three options above - but that's probably overkill I guess I reckon its a case of a little more effort for a lot nicer functionality in this case - thoughts anyone? Mark.
Hide
Marty Watson added a comment -

"You could also get really really cute and change the interface so you can multi-select the groups you want to send to rather than having just the three options above - but that's probably overkill I guess" This idea has merit in my opinion. It would allow the teacher to make one posts and select the groups to which that post would be made. I think from a user standpoint it would be the simplest solution, not overkill at all. However, I'm an instructional designer, not a programmer, I don't know what the implications would be for you guys. You have my vote for the multi-select groups in posting new discussions.

Show
Marty Watson added a comment - "You could also get really really cute and change the interface so you can multi-select the groups you want to send to rather than having just the three options above - but that's probably overkill I guess" This idea has merit in my opinion. It would allow the teacher to make one posts and select the groups to which that post would be made. I think from a user standpoint it would be the simplest solution, not overkill at all. However, I'm an instructional designer, not a programmer, I don't know what the implications would be for you guys. You have my vote for the multi-select groups in posting new discussions.
Hide
Eloy Lafuente (stronk7) added a comment -

Just fixing versions...

Show
Eloy Lafuente (stronk7) added a comment - Just fixing versions...
Hide
Rob Gordon added a comment -

Hi,

I understand the need to keep groups separate, but isn't that the point of the group options? Separate groups/visible groups. I personally would like to have all my groups comment, at times, in the same thread. If there is a serious issue that needs to be discussed by all the groups, then it only needs to be addressed once, instead of repeating it for each and every group, particularly if there are follow up questions. Visible groups should be able to post in other's topics, while separate should not. Isn't this simple?

Show
Rob Gordon added a comment - Hi, I understand the need to keep groups separate, but isn't that the point of the group options? Separate groups/visible groups. I personally would like to have all my groups comment, at times, in the same thread. If there is a serious issue that needs to be discussed by all the groups, then it only needs to be addressed once, instead of repeating it for each and every group, particularly if there are follow up questions. Visible groups should be able to post in other's topics, while separate should not. Isn't this simple?
Hide
Petr Škoda (skodak) added a comment -

Definitely not a bug, separate mode means: "you can not interact with students from other groups, you can not even know they exist".

Proposing closing as not a bug.

Show
Petr Škoda (skodak) added a comment - Definitely not a bug, separate mode means: "you can not interact with students from other groups, you can not even know they exist". Proposing closing as not a bug.
Hide
Dongsheng Cai added a comment -
Show
Dongsheng Cai added a comment - see MDL-14394

Dates

  • Created:
    Updated:
    Resolved: