Version 8 (modified by jdsiiro, 10 years ago) (diff)


Trac Ticket Moderator Plugin


The TicketModerator plugin is an extension for the  Trac project management and bug/issue tracking system. It supports the human moderation of new tickets and ticket comments for unprivileged users within Trac. When an unprivileged user submits a ticket or ticket comment, their submission is recorded in a "moderation queue" and is not visible on the main Trac site until a Moderator reviews their submission and either accepts or rejects it. Accepted submissions are then inserted into the main Trac ticket database.

The intent behind this plugin is to enable open-source projects hosted on corporate or governmental computer systems to better interface with the general public. These hosting services typically do not allow anonymous users to add content to their websites (this includes adding new tickets or ticket comments). This plugin allows projects to enable anonymous ticket reporting and commenting by "quarantining" unprivileged submissions until they are reviewed by a human moderator.


TicketModerator requires Trac >= 0.11. It will not work with Trac versions 0.10.x or earlier.


Install the TicketModerator egg either in your projects plugin directory, or in the system python site-packages directory. Note: if you place it in the site-packages directory, you will also need a reference to the egg to your easy-install.pth file.

To enable the plugin, add the following to the [components] section of your project's trac.ini file:

ticketmoderator.* = enabled

Note: This will require you to upgrade your Trac environment. This means logging on to your Trac server and running:

trac-admin <path-to-trac-package> upgrade

The TicketModerator plugin introduces two new permissions: MODERATOR_UNMODERATED and MODERATOR_MODERATOR. Users with the MODERATOR_UNMODERATED permission will not be subject to ticket moderation. Any tickets they add or comment on will bypass the TicketModerator and be inserted directly into the Trac ticket database. Users with MODERATOR_MODERATOR permissions will be allowed to browse the submissions in the moderation queue (pending, accepted, and rejected) and can make moderation decisions on any pending submissions.

All new submissions are assigned to a Moderator. The plugin assigns a submission to the first user it identifies that has _both_ MODERATOR_MODERATOR permissions and a registered e-mail address (so that they can receive the notification). The plugin checks users in the following order:

  1. The assigned ticket owner.
  2. The default owner for the ticket Component.
  3. The default moderator (see the default_moderator option below).
  4. Any user.

If the plugin cannot identify any user with both MODERATOR_MODERATOR permissions and a registered e-mail address, then it throws an configuration error and the submission is rejected.

The TicketModerator plugin leverages the core Trac ticket notification system to send an e-mail to the assigned moderator. The moderator may accept or reject the submission using links at the bottom of the e-mail. Otherwise, they can browse, view, and accept or reject submissions through the web interface by following the "Moderator" link on the Trac "MetaNav" navigation bar.


The TicketModerator plugin has several configuration options, all within the [tickermoderator] section:

default_moderatorThe default moderator assigned to new submissions; used if the ticket owner and default component owner are not Moderators (since 0.2).(None)
show_moderator_emailPublish the assigned Moderator's e-mail address as part of the confirmation presented to the submitter (since 0.2).False
subject_templateA Genshi text template snippet used to generate the notification subject (since 0.2).$prefix [Moderate] ${new and 'New Ticket' or 'Comment'}: $summary
unmoderated_attachmentsAllow users requiring moderation to submit ticket attachments without moderation (since 0.3).False

Bugs/Feature? Requests

Existing bugs and feature requests for the TicketModerator plugin are here.

If you have any issues, create a new ticket.


Download the zipped source, or eggs for Python 2.4, 2.5, or 2.6.


You can check out TicketModerator from here using Subversion, or browse the source with Trac.


The TicketModerator plugin is distributed under the BSD license.

Recent Changes

<pre>trac-plugins/TicketModerator, 4</pre>


Author: John Siirola (jdsiiro@…)