Skip to main content

Django Bayesian inference based comment moderation app.

Project description

Django Moderator
================
**Django community trained Bayesian inference based comment moderation app.**

.. contents:: Contents
:depth: 5

``django-moderator`` integrates Django's comments framework classify comments into one of four categories, *ham*, *spam*, *reported* or *unsure*.

Users classify comments as *reported* using a *report abuse* mechanic. Staff users can then classify these *reported* comments as *ham* or *spam*.

Comments classified as *spam* will have their ``is_removed`` field set to ``True`` and as such will no longer be visible in comment listings.

Comments *reported* by users will have their ``is_removed`` field set to ``True`` and as such will no longer be visible in comment listings.

Comments classified as *ham* or *unsure* will remain unchanged and as such will be visible in comment listings.

``django-moderator`` also implements a user friendly admin interface for efficiently moderating comments.


Installation
------------

#. Install or add ``django-moderator`` to your Python path.

#. Add ``moderator`` to your ``INSTALLED_APPS`` setting.

#. Configure ``django-likes`` as described `here <http://pypi.python.org/pypi/django-likes>`_.

#. Configure ``django-celery`` and add ``moderator.tasks`` to the ``CELERY_IMPORTS = (..., 'moderator.tasks')``

#. Add a ``MODERATOR`` setting to your project's ``settings.py`` file. This setting specifies what classifier storage backend to use (see below) and also classification thresholds::

MODERATOR = {
'ABUSE_CUTOFF': 3,
}

`ABUSE_CUTOFF`` value of ``3`` as in this example specifies that any comment receiving ``3`` or more abuse reports will be classified as *reported*, awaiting further manual staff user classification.

#. Optionally, if you want an additional **moderate** object tool on admin change views, configure ``django-apptemplates`` as described `here <http://pypi.python.org/pypi/django-apptemplates>`_ , include ``moderator`` as an ``INSTALLED_APP`` before ``django.contrib.admin`` and add ``moderator.admin.AdminModeratorMixin`` as a base class to those admin classes you want the tool available for.

Additional Settings
-------------------
#. By default moderator comment replies are posted chronologically **after** the comment being replied to. If however you need replies to be posted **before** the comment being replied to(for example if you display your comments reverse cronologically), you can specify ``REPLY_BEFORE_COMMENT`` as ``True``, i.e.::

MODERATOR = {
...
'REPLY_BEFORE_COMMENT': True,
...
}


Authors
=======

Praekelt Foundation
-------------------
* Shaun Sephton
* Milton Madanda
* Simon de Haan

Changelog
=========
1.1.3 (2014-08-29)
------------------
#. Ensure admin doesn't break when content_type not match

1.1.2 (2014-04-24)
------------------
#. Ensure SecretBallot doesn't override default manager for Comments

1.1.1 (2014-02-12)
------------------
#. Show is removed column in comments

1.1.0 (2014-02-12)
------------------
#. Ensure spam comments are listed in SpamComments

1.0.9 (2014-02-03)
------------------
#. Allow filtering of comments by username - fix param error

1.0.8 (2014-02-03)
------------------
#. Allow filtering of comments by username

1.0.7 (2014-01-16)
------------------
#. Ensure reported comments are listed in admin

1.0.6 (2014-01-15)
------------------
#. Fix migrations - ensure comment replies are not lost

1.0.5 (2014-01-15)
------------------
#. Set current user as the default user for CommentReply

1.0.4 (2014-01-14)
------------------
#. Remove dependency to spambayes (redundant)

1.0.3 (2013-12-04)
------------------
#. Fixed error when selecting multiple comments for replying in admin

1.0.2 (2013-11-28)
------------------
#. Only report abuse for comments

1.0.1 (2013-11-22)
------------------
#. Fix canned responses showing for all sites and not just selected site

1.0.0 (2013-11-21)
------------------
#. *MAJOR* Remove Bayesian filtering. Only rely on manual moderation and user abuse reports

0.1.4 (2013-08-23)
------------------
#. Remove check for abuse previously reported.

0.1.3 (2013-03-07)
------------------
#. Include fixtures.

0.1.2 (2013-03-07)
------------------
#. Include fixtures.

0.1.1 (2013-03-07)
------------------
#. Added elivated abuse reporting functionality.

0.1.0 (2013-03-07)
------------------
#. Realtime classification option.
#. Mark spam with reply action.
#. Post replies before comment option.

0.0.9 (2013-02-18)
------------------
#. Further speed optimizations.

0.0.8 (2013-02-18)
------------------
#. Admin speed optimizations.
#. Add moderator reply admin action.

0.0.7 (2013-01-28)
------------------
#. Added moderate admin change view tool.

0.0.6 (2013-01-24)
------------------
#. Added site field for canned replies and filter accordingly on comment admin views.

0.0.5 (2012-12-03)
------------------
#. Added ``traincommentclassifier`` management command.
#. Admin proxy model additions to clearly group comments.
#. Various optimizations.

0.0.4 (2012-08-29)
------------------
#. Migration to add moderator_commentreply model.

0.0.3 (2012-08-29)
------------------
#. Include templates.

0.0.2 (2012-08-29)
------------------
#. Wide range of changes allowing for reporting of abusive comments by users.

0.0.1 (2012-05-23)
------------------
#. Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-moderator-1.1.3.tar.gz (22.9 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page