Community Moderation Module Development

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
philbar's picture

Moderation seems to be a large issue with any wiki system I have used. If there is any level of moderation, it is by users with special role that have some level of trust with the webmaster and are tasked with reviewing changes to the wiki. Sometime, it is just the wiki owner who is responsible for this task. Then there are wiki's like Wikipedia, which go unmoderated. User's are, for the most part, free to change anything they please (until they are banned) and then their contribution (or vandalism) is available for all to see until another competent user reverts it.

Wiki's are community driven websites, and it is for this reason that I think moderation should be a task for the community. For my wiki, I would benefit from having the following functionality in a moderation module:

  1. Every edit goes into a queue for moderation where it will stay until it gets reviewed and committed/published.
  2. A notification appears on the top of pages with modification in the queue with a link to the diff page. This will notify other users that they should review the change.
  3. The diff page will have a voting form on it which allows users to "approve" or "deny" the modification.
  4. After a certain number of users approve the modification with their votes, it will get added to the public wiki content.
  5. If a certain number users deny the modification with their votes, it will be deleted from the website.

There should be three criteria in order for modification to be committed/published:

  1. Minimum number of votes needed to consider wiki modifications for approval?
    i.e. "4" users need to vote for the wiki modification to be considered for approval.
  2. What threshold of voters need to approve the wiki modification for it to be published?
    i.e. "70%" of voters need to approve wiki modification for it to be published
  3. What threshold of voters need to deny the wiki modification for it to be deleted? (Use "0" to never automatically delete nodes)
    i.e. "70%" of voters need to deny the wiki modification for it to be deleted from the database

Here is a break down of the system using the settings used in the examples above.

  • Good Quality Modification (i.e. Grammatical Enhancements): If 3 or more of the 4 required voters approve the modification, it gets committed/published.
  • Controversial Modification: If 2 of the 4 approve it, than at least 3 more users need to approve it before it gets published. For instance, if 5 out of 7 users approved, it would be published. The voting could continue further until the 70% approval is obtained. This also goes for deletion. If only 2 out of 7 approve the modification and the other 5 deny it, then it is deleted.
  • Poor Quality Modification (i.e. Vandalism): If 1 of the 4 deny, the modification is deleted.

I'm not capable of developing a module, so this post is intended to spread awareness about my ideas and to hopefully find people who can contribute to making a module like this.

What do you think about this?

Comments

possible without coding

toemaz's picture

What about the excellent revision_moderation module in combination with rules, actions and flag. Seems perfectly possible without coding.

I've been tinkering with

philbar's picture

I've been tinkering with those modules, but I'm not a Drupal expert so there is still a learning curve I need to overcome.

My problem is I'm trying to create this to be used in conjunction with Organic Groups. Perhaps I should just create a basic prototype before I start getting more complex.

Any help with this would be greatly appreciated. Also, perhaps a "glue" module that ties all those components together to do this out-of-the-box would be beneficial to the Drupal community.

There is unfortunately no

toemaz's picture

There is unfortunately no such thing as out-of-the-box solution. Every use case is different and so, the advice is to start playing with the modules and find out how close you can come to a pragmatic solution. In case you really hit issues, you could try to develop a (glue) module yourself or ask a Drupal developer. That's how things work best I think.

BTW Get some Drupal books. It's really worth it to spend some time on it.

philbar's picture

news.bbc.co.uk — Wikipedia's founder, Jimmy Wales, is proposing a system of flagged revisions, which would mean any changes made by a new or unknown user would have to be approved by one of the site's editors, before the changes were published. This would mean a radical shift from the site's philosophy that allows anyone to make changes to almost any entry.

http://news.bbc.co.uk/2/hi/technology/7851400.stm

I spotted this module for MediaWiki almost a year ago when it was implemented on the German wikipedia. Much of the complaints about it taking too long for edits to be accepted are because there is not notification system to display a message on the top of the article telling users new edits are needing review. Also, their approval system is three-fold, which is three times more complicated then it needs to be. Either the recommended modification is better than before, or it is not...simple as that. No need for categories such as accuracy, depth, or readability.

What do you think?

Flagging Revisions

philbar's picture

Is there any module that allows me to flag revisions?

The flag module allows me to flag nodes, comments, and users but not revisions.

Currently waiting on issue

philbar's picture

Currently waiting on issue #438644 to be able to flag revisions. If you know of any other solutions, please let me know. It will be very useful to me.

Flagging Revisions

JuliaKM's picture

I got around the flagging revisions problem by creating a new rules event when a revision is created. This goes with some new tokens. Here's the issue.

My workflow is as follows:
1) A user creates a revision to a wiki page
2A) If the user is a staff member, then the revision is published.
2B) If the user is not a staff member, the revision is unpublished using the Rules module and an email notification is sent to staff member assigned to moderate the page. This is just the author now but I might create a separate user reference field later on.
3) The moderator clicks a link in an email to review a revision and approves or deletes it.
4) The revision author's name is added to our list of contributors.

You can see the wiki in action here:
http://www.aashe.org/wiki/climate-planning-guide

unpublishing a revision

deverman's picture

When you use this workflow to unpublish the revision, is the original content still published for other users to see or are other users getting access denied messages until the content is approved?

Wiki

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: