wiki:GrowlPlugin

Growl notification dispatcher for Trac events

Description

This plugin dispatches change events that occur in a Trac project to Growl-enabled clients. Growl is a currently discontinued notification system for Mac OS X: it allows applications that support Growl to send you notifications on events in Trac, such as ticket changes and build changes. Growl itself is BSD-3 licensed.

This plugin uses remote notifications, using the local network. The server may run on any operating system, such as Linux, OS X, Windows or virtually any operating system that supports Trac.

The plugin does not rely on any third party libraries: no Growl SDK or library is required on the Trac server.

Currently supported event sources:

  • Ticket creation, deletion, and update.
  • Wiki page creation, deletion, and edition.
  • Attachment creation and deletion.
  • Bitten build startup, abortion and completion.

Growl notification sample on ticket creation

Bugs/Feature Requests

Existing bugs and feature requests for GrowlPlugin are here.

If you have any issues, create a new ticket.

defect

2 / 7

enhancement

1 / 4

Download

Download the zipped source from here.

Source

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

Installation

For the prerequisites see the version requirement defined in setup.py file, and search for install_requires.

As with any other plugin:

python setup.py bdist_egg

Copy the generated egg file (from the dist/ directory) to your project's plugins directory, or in the global plugin directory if you want to use it for more than one Trac project.

From the WebAdmin plugin interface or from your trac.ini file, enable the GrowlPlugin:

[components]
growl.notifier.* = enabled

Configuration

The growl plugin can be configured with the help of the following settings in your trac.ini file:

[growl]
sources = wiki, ticket, attachment, bitten
hosts =
userprefs = false

Settings:

  • sources is a comma-separated list of source events:
    • wiki for wiki events
    • ticket for ticket events
    • attachment for attachment events
    • bitten for Bitten build events, only available if the Bitten plugin is installed and enabled
  • hosts is a comma-separated list of network hosts to send notification to
    • if hosts is not defined, then the notifications are broadcast onto the LAN, which could pose a security risk in some environments.
  • userprefs is a boolean option to allow per-user notification settings.

When enabled, any user who's been granted the GROWL_MODIFY permission may select which notifications (s)he wishes to receive, and the destination host which the notifications should be sent to.

Permissions

The plugin defines two new permissions:

  • GROWL_MODIFY permission allows a user to change the notification settings through the Growl plugin preference panel, and choose the destination host for the notifications.
  • GROWL_ADMIN gives the same privileges as GROWL_MODIFY, and allows the administrator to broadcast notifications to a sub network. To broadcast notifications, the administrator should use the special '<broadcast>` host.

Warnings

Notification overload

Note that there is no restriction on the number of plugin users, which might overload a Trac installation if too many hosts are set to receive various Growl notifications. This plugin is mainly oriented to small teams of users. Please also consider the use of the broadcast feature to reduce the number of notifications sent on every Trac event.

Security considerations

Your Trac-managed information may be at risk if you enable user preferences (see userprefs setting) and some random user chooses a host that is located outside your LAN. Only give GROWL_MODIFY permission to trusted users.

Moreover, an untrusted user might set up his preferences to notify a foreign, remote host. Please ensure that Growl notifications are not routed outside your own network (UDP:9887).

Preferences

When a user is granted the GROWL_MODIFY permission, the Growl plugin preference panel appears under the user preferences view:

Growl plugin user preference panel

A user which is granted the GROWL_ADMIN permission may select the <broadcast> special host address to broadcast notifications to all the hosts on the subnet.

Client configuration

Growl installation

Follow the Growl installation instructions.

Growl configuration

Growl should be configured to accept incoming notifications and remote application registration.

  1. Open Mac OS X system preferences.
  2. Select the Growl icon in the "Other" section.
  3. Select the "Network" pane.
  4. Enable the following check boxes:
    • Listen for incoming notifications
    • Allow remote application registration
  5. Leave the "Server password" field empty.

Grown configuration pane (Mac OS X system preferences)

Note: Growl server passwords are currently not supported.

Recent Changes

3950 by eblot on 2008-07-03 22:48:45
Fixes #3325 setup file was invalid, and enable growl image background
3798 by eblot on 2008-06-07 22:22:33
Closes #3122. Implements user settings and user preference panel.
3794 by eblot on 2008-06-05 00:10:02
Refs #3122. User-configurable Growl settings: work in progress...
(more)

Author/Contributors

Author: eblot
Maintainer: Emmanuel Blot
Contributors:

Last modified 3 years ago Last modified on Jan 11, 2022, 10:44:34 AM

Attachments (3)

Download all attachments as: .zip