Moderating Content in Drupal<br />Ashok Modi<br />August 6, 2010<br />
Introduction (BTMash)	<br /><ul><li>Systems Programmer
Work for California Institute of the Arts
Worked for zinc Roe Design; create web sites (and games) aimed at youth.
Working with Drupal since 2006 (Drupal 4.6.x)
Help with patches and upgrades of contrib modules on
Flag Content
Nice Menus
Userpoints Badges
More info and details at
Canadian (yes, we too have unruly content creators!)</li></li></ul><li>About the presentation<br /><ul><li>Sharing most of...
Likely haven’t seen some solutions that are out there.
How about a BOF?
Upcoming SlideShare
Loading in …5

Drupal Camp LA 2010: Moderating Content in Drupal


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Drupal Camp LA 2010: Moderating Content in Drupal

  1. 1. Moderating Content in Drupal<br />Ashok Modi<br />August 6, 2010<br />
  2. 2. Introduction (BTMash) <br /><ul><li>Systems Programmer
  3. 3. Work for California Institute of the Arts
  4. 4. Worked for zinc Roe Design; create web sites (and games) aimed at youth.
  5. 5. Working with Drupal since 2006 (Drupal 4.6.x)
  6. 6. Help with patches and upgrades of contrib modules on
  7. 7. Abuse
  8. 8. Data
  9. 9. Decisions
  10. 10. Favorites
  11. 11. Flag Content
  12. 12. Fivestar
  13. 13. Nice Menus
  14. 14. Simplenews
  15. 15. Userpoints
  16. 16. Userpoints Badges
  17. 17. More info and details at
  18. 18. Canadian (yes, we too have unruly content creators!)</li></li></ul><li>About the presentation<br /><ul><li>Sharing most of my own experiences.
  19. 19. Likely haven’t seen some solutions that are out there.
  20. 20. How about a BOF?
  21. 21. Let’s share ideas!
  22. 22. Everyone will benefit.
  23. 23. Say your question!
  24. 24. Everyone should come out a winner
  25. 25. Slides will be added online.</li></li></ul><li>Reason for Moderation?<br /><ul><li>Content from ‘uncontrolled’ users
  26. 26. Anonymous
  27. 27. Deal with spam!
  28. 28. Registered (registration and content creation open to everyone)
  29. 29. Deal with spam.
  30. 30. Deal with ‘bad’ content.
  31. 31. Cyber Bullying
  32. 32. Trolling
  33. 33. Site gangs
  34. 34. Dealt with the above when working on the Zimmer Twins (
  35. 35. Content from ‘controlled’ users (closed registration with fixed and/or fixed content creation team)
  36. 36. People/staff you know/work with.
  37. 37. Inaccurate Content
  38. 38. Stale Information
  39. 39. Poorly written
  40. 40. and the list goes on!
  41. 41. Deal with this currently. </li></li></ul><li>Anonymous users<br /><ul><li>Posted by ‘users’ that allow anonymous posting.
  42. 42. Posted by ‘users’ that can register via weakly protected registration forms.
  43. 43. What does Drupal offer out of the box?
  44. 44. Not all that much :/
  45. 45. Spam bots get smarter and smarter (relatively easy to defeat
  46. 46. Un-publish anonymous content until a content editor can look at the content and then mark it for submission.
  47. 47. May be difficult if dealing with a site is a very large amount of anonymous content.
  48. 48. Require submitting comments to be previewed (takes care of a large chunk of spam by splitting a form into multiple pages)
  49. 49. Use really strict filters for anonymous content.</li></li></ul><li>Dealing with anonymous users (contrib)<br /><ul><li>Captcha (
  50. 50. Provide users with a question they must respond to try and validate them as a human being.
  51. 51. Many plug-ins available from project page
  52. 52. ReCaptcha (
  53. 53. Captcha Pack (
  54. 54. Captcha Riddler(
  55. 55. Spam (
  56. 56. Can block spammer urls and IP addresses, detect repeat postings, check for bad content via custom filters.
  57. 57. Use a combination of spam + captcha to rule out most spam comments, contact notifications, anonymous content postings.</li></li></ul><li>Dealing with anonymous users (contrib)<br /><ul><li>Use 3rd party services from contrib.
  58. 58. Antispam (
  59. 59. Validate content against services offered by Akismet, Defensio, or TypePad Antispam where content sent to their servers
  60. 60. Comes with a antispam helper module which adds a user role which would allow a user to continue
  61. 61. No Supplemental captchas
  62. 62. More information at
  63. 63. Mollom
  64. 64. Similar to antispam but only works with Mollom servers.
  65. 65. Only display a captcha to user if it believes the content to be spam and user not human.</li></li></ul><li>Dealing with anonymous users (contrib)<br /><ul><li>Views Bulk Operations (
  66. 66. Create views of various types of content (whatever views supports)
  67. 67. Provides operations for content (similar to the content list edit page, but much more useful since it uses views).
  68. 68. Can update multiple content at once.
  69. 69. Used on
  70. 70. We will be using it to manage our photo archives. </li></li></ul><li>Registered users<br /><ul><li>Slightly different issue
  71. 71. Can post spam via spam bots.
  72. 72. Can also spam by hand (children in particular can be VERY persistent)
  73. 73. Worry about quality of content (inappropriate content can be a huge concern).
  74. 74. Moderating content was a large issue when working on the Zimmer Twins (at the time, over 700k user generated movie clips and over 660k comments – both are over 1M now)
  75. 75. Mass spam (by hand) to gain interest in watching their movie clip
  76. 76. Trolling other users
  77. 77. Inappropriate language and themes.</li></li></ul><li>Dealing with registered users (core)<br /><ul><li>Ability to leave content unpublished until a moderator first looks at the content.
  78. 78. Both nodes or comments.
  79. 79. Troublesome as you have to click on content to see if there are any issues and work from there.
  80. 80. Can also block users.</li></li></ul><li>Dealing with registered users (contrib)<br /><ul><li>Troll (
  81. 81. Block out IP and IP Ranges (has ability to import multiple block lists)
  82. 82. Advanced user searching
  83. 83. Can be useful in targeting user management
  84. 84. Possible solution: use help of users to help with moderating content on site.
  85. 85. Flag Content (
  86. 86. Ability to flag users, comments, and content
  87. 87. User flags can notify an admin who can take a closer look at the content for removal
  88. 88. Integration with views to see different parts of content issues.
  89. 89. Not been updated in a while…
  90. 90. Cannot get more context on why user is flagging content (users sometimes confuse flagging content for abusive reasons as flagging for support)</li></li></ul><li>Dealing with registered users (contrib)<br /><ul><li>Abuse module (
  91. 91. Written by me
  92. 92. Watchlist module
  93. 93. Contains list of watchlist and banned regular expressions which automatically flag content if the title, body, content contains pattern.
  94. 94. Has moderation section to see content, ability to allow/hide/remove content, give users warnings, ban user.
  95. 95. Also has supervisory role to assign content to first level set of moderators.
  96. 96. Cannot flag users (though number of warnings, flags user content has received is shown on moderation screen)
  97. 97. UI can be daunting.
  98. 98. No views support (sorry guys ; its actually broken against views)
  99. 99. Code could use a lot of love (now looking for a new maintainer)</li></li></ul><li>Dealing with registered users (contrib)<br /><ul><li>Flag (
  100. 100. Looking like future to moderation problem.
  101. 101. Ability to flag content of *any* type
  102. 102. Integration with many different projects (views, rules, workflow)
  103. 103. Flag Abuse Module (
  104. 104. Users must provide reasons.
  105. 105. Predefined views
  106. 106. Integrate with Views Bulk Operations ( to perform mass operations.
  107. 107. Not yet as robust moderator-feature-wise as abuse but some glue (particularly with functionality of watchlist and integration with notifications) could make it much more powerful. </li></li></ul><li>Dealing with registered users (contrib)<br /><ul><li>Revisioning(
  108. 108. Content Moderation (
  109. 109. New ways to ‘manage’ content (can be used in ways of moderation)
  110. 110. Really uses workflow module to power moderation of content.
  111. 111. Similar issues to flag abuse; how do we get some ideas about the workflow content before we even get to the moderation aspect?</li></li></ul><li>What could mollom do?<br /><ul><li>Mollom actually has a very robust API (see more at
  112. 112. Integrate mollom API to ensure bots are not flagging content.
  113. 113. Integrate mollom API to get quality/profanity rating on content and decide if it should be flagged, not allowed, or allowed.
  114. 114. Nothing regarding this in contrib quite yet 
  115. 115. Other options for pre-moderation of content could include using spam or migrating out the watchlist module to work with the above set of solutions.</li></li></ul><li>Working with content editors<br /><ul><li>Sometimes easier (sometimes not).
  116. 116. Generally do not have to worry about inappropriate content.
  117. 117. May be lower volume of content to check.
  118. 118. Different set of problems
  119. 119. Inaccurate content.
  120. 120. Incorrect links.
  121. 121. Expired content.
  122. 122. New to Drupal (UI can be a little scary.)</li></li></ul><li>Working with content editors<br /><ul><li>Create new revisions
  123. 123. Know who the last content editor was if someone edits content with incorrect information.
  124. 124. Check differences between revisions (use the diff module ( to see difference side-by-side).
  125. 125. Using revisioning or content moderation might be very useful for publishing content in a proper manner.
  126. 126. Use Link Checker? (
  127. 127. Scans links in content and notifies users of any links that do not work.</li></li></ul><li>Working with content editors<br /><ul><li>Could use workflow? (
  128. 128. Set various states for content to enter
  129. 129. Show end user only content that are in certain states.
  130. 130. Integrates with views (try to use views bulk operations to manage content en masse).
  131. 131. Integrates with flag via rules module or via workflow_flag module.
  132. 132. Much easier UI for content editors to understand.</li></li></ul><li>Working with content editors<br /><ul><li>Could use notifications?(
  133. 133. Notify a set of site content managers when content is created/updated by other content editors.
  134. 134. Check to make sure the content is correctly formatted.
  135. 135. Use the digest notifications if there is lots of content to avoid a stuffy inbox. </li></li></ul><li>That’s the end!<br /><ul><li>Questions?
  136. 136. Ideas?
  137. 137. Funny stories?
  138. 138. Sharing Time!</li></ul>Thank you <br />