#5571 Spam moderation - comments - NEEDS INI

v1.0.0
closed
nobody
General
Cory Johns
2015-08-20
2013-01-10
No

Possible next step after [#5384].

Create moderation mechanism for spam. Some thoughts:

  1. Moderators need to be able to review stuff that the filter has marked as spam, as well as flag stuff as spam that the filter may have missed.
  2. In either case, post to the spam service's "submit-ham" or "submit-spam" endpoint if available.
  3. Email notification to moderators when something is flagged as spam by the filter?

Related

Tickets: #5571

Discussion

  • Dave Brondsema

    Dave Brondsema - 2013-01-10
    • labels: --> spam
     
  • Dave Brondsema

    Dave Brondsema - 2013-03-12

    The current spam "filtering" just does logging, and has backends for mollom and akismet. It's set up at g.spam_checker The ForgeWiki does a simple check & log which should not be changed.

    For discussion posts (on any tool), we should take the spam filter service's response and if it is spam, put the comment into moderation directly, even if the tool allows unmoderated posts from the user. However, posts from the project admins & developers should never be marked as spam. It may be useful to store other metadata from the spam service on the comment artifact.

    Then in the moderation queue, when a project admin changes a post to spam or approved, we should send feedback to the API endpoint to help train it. Akismet library docs: http://www.voidspace.org.uk/python/akismet_python.html#submit-spam Mollom code: https://github.com/itkovian/PyMollom/blob/master/Mollom.py#L139

    Overall, this should be full integration of spam filtering services with the existing comment moderation system.

     
  • Dave Brondsema

    Dave Brondsema - 2013-03-12
    • labels: spam --> spam, 42cc
    • summary: Spam moderation --> Spam moderation - comments
     
  • Igor Bondarenko

    Igor Bondarenko - 2013-03-13
    • status: open --> in-progress
     
  • Igor Bondarenko

    Igor Bondarenko - 2013-03-13

    Created #302: [#5571] Spam moderation: comments (4cp)

     

    Related

    Tickets: #5571

  • Igor Bondarenko

    Igor Bondarenko - 2013-04-09

    Closed #302. je/42cc_5571

    In order to test it you should:

    unkoment the following in Allura/setup.py

    akismet = allura.lib.spam.akismetfilter:AkismetSpamFilter
    mollom = allura.lib.spam.mollomfilter:MollomSpamFilter
    

    $ pip install pymollom akismet (I think it should be added to requirements-optional.txt when merged to master)

    register test accounts for mollom and akismet and set keys in ini file:

    mollom:

    spam.method = mollom
    spam.public_key = 5a894fe13edf63344c7c39f691dc768e
    spam.private_key = 4cd92144ed1832fdd264d1ee6a9dd301
    

    akismet:

    spam.method = akismet
    spam.key = 220474cdd08e
    

    Akismet has a magic phrase for testing that always returns spam: "VIAGRA! LOTS OF VIAGRA!"

     
  • Igor Bondarenko

    Igor Bondarenko - 2013-04-09
    • status: in-progress --> code-review
     
  • Cory Johns

    Cory Johns - 2013-05-13
    • QA: Cory Johns
     
  • Cory Johns

    Cory Johns - 2013-05-14
    • status: code-review --> open
     
  • Cory Johns

    Cory Johns - 2013-05-14

    Generally good, but there are two issues:

    • If a message comes back as not spam, it is approved without moderation, even if moderation would otherwise be required. The has_access(self, 'unmoderated_post')() check needs to be restored; spam should be forced into moderation but non-spam should follow the same rules as before.
    • The thread topic should not be included in the text checked. I could see adding it for the first comment in a thread, but for subsequent comments, they have no control over the topic so it shouldn't contribute to their spam score either way.
     
  • Igor Bondarenko

    Igor Bondarenko - 2013-05-15

    Created #354: [#5571] Followup to spam moderation (1cp)

     

    Related

    Tickets: #5571

  • Igor Bondarenko

    Igor Bondarenko - 2013-05-15
    • status: open --> in-progress
     
  • Igor Bondarenko

    Igor Bondarenko - 2013-05-16
    • status: in-progress --> code-review
     
  • Igor Bondarenko

    Igor Bondarenko - 2013-05-16

    Fixed that and also rebased on new master (there were some conflicts)

    Closed #354. je/42cc_5571 (forced update)

     
  • Cory Johns

    Cory Johns - 2013-05-22
    • summary: Spam moderation - comments --> Spam moderation - comments - NEEDS INI
    • status: code-review --> validation
    • Milestone: forge-backlog --> forge-may-31
     
  • Cory Johns

    Cory Johns - 2013-05-22

    Need to select either Akismet or Mollom and add the appropriate API keys in production.

     
  • Cory Johns

    Cory Johns - 2013-05-29
    • status: validation --> closed
     

Log in to post a comment.