Edgewall Software

Version 7 (modified by hasienda <hoff.st@…>, 12 years ago) ( diff )

add notes regarding development plan and more links to related wiki pages

Trac Announcer System Proposal

Proposal to replace the Trac Notification System with the AnnouncerPlugin.

The Context

WIP

Requirements

(to doki_pen: feel free to move that section elsewhere in the page or into another page if you prefer)

Trac Notification API compatibility

This will be needed to not instantly break 30+ Trac plugins using TracNotification system right now (see: plugin listing for details). So after analyzing the current implementation of Trac Notification Api we have to decide on witch classes have to be added to Announcer code to fully replace TracNotification.

i18n requirements

One of the shortcomings of the current e-mail notification system is that there's only one e-mail prepared which is then sent to every receiver. It should be possible to customize the mail according to each user's preferences (e.g. #2625) and a nice customization would be to translate the notification mail to each recipient's preferred language (#8903).

I'd be particularly interested to see how the Formatter / Distributor concepts of the Announcer would deal with that requirement.

Subscription logic

The current system is at the same time too complex with many .ini settings, and too inflexible. Not to mention the bugs ;-)

Some kind of drastic change seems in order. For example, see the suggestion of a Subscribe ticket (notify me when the ticket is changed checkbox / link (ticket:4056#comment:19).

Announcer System

Sequence Diagrams

User Edits Ticket

Event is Dispatched to the Mail Distributor

Mail Distributor Formats and Sends Email

Proposed Announcer Preferences


See also: TracNotification, TracDev/Proposals, TracNotification API documentation, Developer reference page for AnnouncerPlugin, related tickets: No results, and Trac Notifications mail on Trac-dev

Attachments (6)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.