wiki:QuietPlugin

Disable email notifications

Notice: This plugin is unmaintained and available for adoption.

Description

This plugin provides a link (in the contextual navigation menu) to toggle on and off sending emails for your ticket changes. The purpose is to reduce superfluous emails for ticket changes that the author deems low-value.

The toggling is handled via AJAX, so you can remain on the same page and not disrupt any current work. The toggle link will appear on /newticket, /ticket, /query, and /report pages since ticket changes are possible on all of these, eg via BatchModify or GridModify.

This plugin requires AnnouncerPlugin for Trac < 1.2. For Trac 1.2 and later, this plugin works without AnnouncerPlugin.

Bugs/Feature Requests

Existing bugs and feature requests for QuietPlugin are here.

If you have any issues, create a new ticket.

defect

3 / 4

enhancement

2 / 4

task

1 / 1

Download

Download the zipped source from here.

The plugin is also available on PyPI.

Source

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

Installation

The following describes how to install the plugin in Trac 1.2. To install the plugin for Trac < 1.0 with AnnouncerPlugin see QuietPlugin@17.

  1. Install the plugin after downloading and unzipping:
    $ pip install TracQuiet
    
  2. Restart Trac's web server.
  3. Enable the plugin and disable EmailDistributor in your trac.ini file:
    [components]
    trac.notification.mail.EmailDistributor = disabled
    quiet.* = enabled
    

Alternatively, you can use the Trac Web Admin GUI to enable/disable the components.

The trac.ini lines above ensure that the plugin uses its own email distributor. This distributor effectively wraps the Trac's EmailDistributor with an extra check to see if the user entered quiet mode or not.

Configuration

There are the following optional steps for configuration:

  1. Customize the quiet mode labels in trac.ini:
    [quiet]
    enter_label = Enter Quiet Mode
    leave_label = Leave Quiet Mode
    
  2. Add the QUIET_MODE permission to users or groups as appropriate on the Admin > Permissions page.

Examples

The following are typical scenarios of how this plugin could be used:

  • During planning, I can now avoid barraging people with emails when I move large batches of tickets from one milestone to another using BatchModify.
  • I want to make a minor fix to a ticket's description that doesn't call for yet another email to be sent - enter quiet mode!
  • I'm triaging many tickets in a Queue report with new positions using GridModify and I don't want an email sent for each change.
  • I'm managing dependencies using the Analyze plugin and don't want to inundate the team with emails of its fixes.

Trigger quiet mode

To help you remember to enter quiet mode for the above use cases or similar ones, you can create trigger rules on DOM elements that will prompt you to enter or leave quiet mode (if you're not already in that state):

[quiet]
1.selector = #analyzebutton
1.action = enter

2.selector = #batchmod_submit
2.action = enter
2.submit = true

3.selector = #propertyform[action*=ticket] .buttons input[name=submit]
3.action = leave
3.only_if = #comment:first=.+
3.submit = true

The above example defines three trigger rules:

  1. When the "Analyze..." button is clicked, prompt to enter quiet mode.
  2. When the "Batch Modify" button is clicked, prompt to enter quiet mode (and prevent the submission - but then they can submit again).
  3. When a ticket's "Submit changes" button is clicked and there's some text in the comment field, then prompt to enter quiet mode (and prevent the submission - but then they can submit again).

The only_if option can either be just a CSS selector or also include an expected regex value (eg the =.+ above).

  • If it is a CSS selector, then the selector must exist.
  • If it is an expected regex value, then the selected item's jQuery val() must match the expected value.

Recent Changes

17573 by rjollos on 2019-11-21 17:32:18
1.2.2dev: Bump version after release

pypi:TracQuiet/1.2.1 published.

Fixes #13660.

17572 by rjollos on 2019-11-21 17:30:03
1.2.1dev: Add classifiers metadata

Refs #13660.

16352 by rjollos on 2017-03-18 16:37:31
1.2.1dev: Check QUIET_MODE when distributing email

Also, use authenticated flag when checking quiet mode because
event.author is never a session id, so quiet mode will only
work for authenticated users.

Patch by Jun Omae.

Refs #13117.

(more)

Author/Contributors

Author: robguttman
Maintainer: none (needsadoption)
Contributors: rjollos

Last modified 7 years ago Last modified on Oct 18, 2017, 5:02:31 PM

Attachments (1)

Download all attachments as: .zip