Forums | Mahara Community
Comments on comments
24 May 2013, 4:07 PM
While code reviewing some feedback-related bugs, I realized the Mahara comment system could perhaps use a bit of a re-think, regarding comment permissions.
For the unfamiliar, you can activate comments (or "feedback") on Pages via the "Share page"->"Advanced options" settings. You can also activate comment moderation there. Additionally, some types of content can have comments of their own. For instance, on your Content->Files page, when you click the "edit" link next to a file, there is a tickbox to allow commenting on it. These comments show up if a person navigates to the details page for that file (such as https://mahara.org/view/artefact.php?artefact=268850&view=81194 )
The tricky thing is that there is a permissions system on these comments! It has three roles (comment's author, page/artefact owner, and "public"), and four actions (edit comment, delete comment, view comment, make comment public). As you can see from the comment bugs, these can get a bit tangled.
So, I thought I'd do a post here to try to untangle things a bit. Here's my analysis about how the comments permission system ought to be:
- Deleting: The owner or author can delete a comment at any time. Doing this will leave a "comment was deleted by ... " message in the comment thread.
- Editing: The author can edit a comment while it is less than 10 minutes old and there is no younger comment after it in the comment thread. (Ideally, it should be any younger comment visible to the author... but that may be tricky)
- Viewing Public comments: A "public" comment can be viewed by any user who has access to that Page or artefact
- Viewing Private comments: The author can mark a comment "private" when originally posting it. This means the owner and author can view it, but no one else can. The author will have a "Make public" button next to the comment that will change its status to public. The owner will have a "Request public" button next to the comment that will send a notification to the author asking them to make the comment public. They can only push it once; when they have, they'll instead see "You have requested that this comment be made public"
- Viewing Moderated Public comments: A comment posted under comment moderation (and not marked "private") will be viewable to the owner and author but no one else. The owner will have a "Make public" button next to the comment that will change its status to public. The author will see the text "This comment is awaiting approval".
- Viewing Moderated Private comments: A comment posted under comment moderation and marked "private" will be viewable to the owner and author but to no one else. The owner and the author will both have a "Request public" button next to the comment. If either presses it, they'll send a notification to the other asking them to make the comment public. Once that's been done, the one who has pushed the button will see the text "This comment is awaiting approval" or "You have requested that this comment be made public". The other will see a "Make public" button.
- When the owner is the author: The owner can be the author. This doesn't really pose any problems, although in some cases it may need to be specially coded for (for instance, you shouldn't be able to "request public" a comment you yourself have the power to approve public). Presumably someone has a need to post private comments to themselves.
- Group Pages: On group Pages & artefacts, any group admin should be treated as the "owner" for comment purposes
- Site Pages: On site Pages & artefacts, any site admin should be treated as the "owner" for comment purposes
- Anonymous comments: If a Page is viewable by anonymous users, they can post comments. However, anonymous users can't edit, delete, or Make-Public comments once they're posted.
- Owner Notifications: The creation, deletion, editing, or Make-Public'ing of any comment should send a notification to thePage or artefact owner.
- Watchlist Notifications: Anyone who was placed the page on their watchlist should get a notification when there is a new public comment on the page, once the comment is past its editing window. They should also get a notification when a private comment becomes public.
- Comments vs Forums: I'm a fan of comment threading, and having a full editing history for comments, kind of like what Facebook has done lately. On the other hand, if you add enough features to comments, they eventually become in-place forums. Presumably, the reason we don't have the full Forum functionality in the feedback section instead of de novo comment functionality, was a design decision because we wanted it to be more "lightweight", and big discussions should be taken to a Forum. Was this a correct decision? Should comment threads instead be identical to Forum topics?
Am I missing anything? Is there some way this could be made simpler? If you have any thoughts, please let me know. :)
24 May 2013, 4:08 PM
Hm, that turned into quite a manifesto. Permissions systems can get complicated fast!
A post by Deleted user was deleted
09 June 2013, 5:32 PM
Thanks for untangling the comments / feedbacks. As for the tracker, we'll have to make sure that all feedback-related items are also found when looking at comments. A few thoughts to add to your comprehensive list:
- Deleting comments: There are cases when the page owner / author should not be able to delete comments, e.g. when a tutor leaves assessment comments. This could be handled by role, e.g. if a "staff" member left a comment on a normal user's, this cannot be deleted. Or it could be restricted to only take affect when the page has been submitted.
- Currently, when you delete a comment, the author receives a notification about that. I would keep that in case a comment was deleted by accident and needs to be recreated.
- When the owner is the author: A scenario would be that somebody might want to leave notes on a page that others should't see. That's when private comments could potentially come in handy.
- Group pages: This would need to be checked in the code who is actually listed as owner. I would say that anyone who can edit the page is considered the owner of the page. That would at minimum be the group admin, but could also be a tutor or other group members. You can lock a page, e.g. in an open group, and that's when only group admins can make changes to them. We might have to have another setting then esp. for open groups to say who can edit comments.
04 October 2013, 5:18 AM
It is so interesting to me that when we have conversations about this feature, we all refer to "comments" ... but the language used within mahara is "feedback."
Perhaps time to readjust the language within the system?
04 October 2013, 1:21 PM
As a matter of fact, we were just discussing whether we should change the language for comments/feedback over here: https://mahara.org/interaction/forum/topic.php?id=5750
We'd love to hear your thoughts on the matter.