For lack of a better name, this module is currently called 'User Moderation' which seems overly broad. Open to suggestions here.
This module is intended for community-based websites that are looking to take pressure off site admins who need to manually approve new user accounts. It allows trusted users to vote on whether or not they think a new user is legitimate or a spammer. By allowing trusted users to vote on new users, new users can be promoted from 'blocked' to 'approved' without requiring the administrator to check the site for users awaiting approval. In my experience moderating users on Drive the Americas for the last 2 years, I have found that it is extremely easy to tell who are the human spammers and who are the real users from a simple field on the user registration form called 'tell us about your trip' (this is a website for travelers). However, when I went on vacation the users would pile up and people would complain (rightfully) about having to wait a week for their account to be activated. However, if I opened up the user registration process (using Mollom and email verification only) to allow new users who have authenticated their email addresses the site would periodically be flooded by content from human spammers.
The flow is as follows:
- New users can apply for an account, but are initially set to blocked.
- Site administrators add a required field to the user registration form, asking a new user to do something like 'tell us about yourself'.
- New users are placed in an 'approval queue'.
- The module creates a block (displayed only for trusted users) that can be placed anywhere on the site that displays the following:
- On voting, the block registers the vote, displays a thank you message, and disappears. The block will only reappear when the user refreshes their browser.
* A message from the administrator explaining the block and asking people to vote
* The username of the first person in the approval queue.
* The required field on the user registration form selected by the administrator - in this example 'tell us about yourself'
* A link to upvote the user
* A link to downvote the user
The module has no dependencies
Project page: https://www.drupal.org/sandbox/kristin.brinner/2595185
Git repo: http://git.drupal.org/sandbox/kristin.brinner/2595185.git user_moderation
Intended for Drupal 7.x.
Module is live on Drive the Americas.
I am currently getting started on some manual reviews of separate project applications in the main issue queue to be a good Drupal citizen per https://www.drupal.org/node/1975228. I will post updates here as I make my way through this process.
Comments
Comment #2
PA robot CreditAttribution: PA robot commentedThere are some errors reported by automated review tools, did you already check them? See http://pareview.sh/pareview/httpgitdrupalorgsandboxkristinbrinner2595185git
Fixed the git clone URL in the issue summary for non-maintainer users.
We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)
Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #3
jimmyko CreditAttribution: jimmyko as a volunteer commentedI manually reviewed the code and found that there are drupal_add_library() globally implemented in the .module file. It should be a good practise that the libraries only be loaded in the pages you need them. You are better to move drupal_add_library() in page callback function.
Comment #4
kbrinnerUpdates:
Per the automated review tools, I fixed all issues including:
I will look into writing a SimpleTest or PHPUnit automated testing script but this is not something I am immediately familiar with.
@jimmyko thank you for your manual review as well. I moved the drupal_add_library into the appropriate callback functions so it is not loaded globally.
If this is helpful to anyone reviewing this module, I wrote a blog post on my thought process and how I built the module. See User Moderation Sandbox Project for Drupal - Community Management of New Users to Avoid Spammers and Trolls
Comment #5
PA robot CreditAttribution: PA robot commentedClosing due to lack of activity. If you are still working on this application, you should fix all known problems and then set the status to "Needs review". (See also the project application workflow).
I'm a robot and this is an automated message from Project Applications Scraper.