Version 23 (modified by 9 years ago) ( diff ) | ,
---|
Advanced Notification enhancements
Context
The TracNotification system has not kept up with the requirements users, administrators and developers have. The th:AnnouncerPlugin was developed to provide a more flexible notification system.
An alternative proposal to replace the TracNotification system with the AnnouncerPlugin has existed for some years.
Proposal
Improve the TracNotification system by:
- Deprecating the inflexible
Notify
class hierarchy. - Adding new infrastructure (based on AnnouncerPlugin's proven design where appropriate) on a topic-by-topic basis.
- Adopting some general advanced features.
- Enabling plugins to provide more experimental or very specific features.
Coexistence with Announcer
This proposal would not integrate or replace Announcer as a whole. Future versions of Announcer would ideally be compatible with new TracNotification system and rebase additional non-core features on the new core infrastructure.
Future versions of announcer could also provide upgrade paths from older versions of the plugin to the new core infrastructure.
DB tables, configuration sections and extensions points adopted in core from Announcer may best be renamed to avoid confusion and upgrade troubles (especially when slightly modified).
Topics
Preliminary refactorings
- Related tickets: #11854
- Split up
notification.py
. - Extract reusable functionality.
- Status:
Proposed changes can be found in log:psuter.hg@advanced-notification-preliminary-refactoring- DONE Committed for release in 1.1.3. ([13433])
Extension API for (mail) distribution
- Related tickets: #3517
- A new / extended NotificationApi
- New extension points:
- INotificationDistributor: Different notification distribution channels (e.g. XMPP)
- INotificationFormatter: Customized notification message formatting
- IEmailAddressResolver: What email address should be used?
- IEmailDecorator: Separates email header logic from message formatting
- Status:
Proposed changes can be found in log:psuter.hg@advanced-notification-mail-distributionProposed changes can be found in log:psuter.hg@advanced-notification-mail-distribution.2- DONE Committed for release in 1.1.3. ([13454])
Extension API for subscriptions
- Related tickets: #4056, #2247
- New extension points:
- INotificationSubscriber: Who subscribes to this message?
- Implementations providing the common simple ticket subscriptions (owner, reporter, updater, cc, etc.)
- New database table:
- notify_subscription: Stores subscription preferences
- New preferences panel for managing subscriptions
- Status:
Proposed changes can be found in log:psuter.hg@advanced-notification-subscriptionsProposed changes can be found in log:psuter.hg@advanced-notification-subscriptions.2Proposed changes can be found in psuter.hg@advanced-notification-subscriptions.4- DONE Committed for release in 1.1.3. ([13469])
Modular preference pages
- Notification preferences should be on shared pages, but implemented by different plugins.
- Related tickets: #11853
- Modified extensions points:
- IPreferencePanelProvider: Child panels
- Status:
Proposed changes can be found in changeset:advanced-notification-preferences/psuter.hgProposed changes can be found in changeset:advanced-notification-preferences.2/psuter.hgProposed changes can be found in changeset:advanced-notification-preferences.4/psuter.hg- DONE Committed for release in 1.1.3. ([13510])
Advanced subscriptions
- Related tickets: #11869, #11870, #11871, #11875, #4519, #6217
- New database table:
- notify_watch: Stores watch preferences
- New preferences child panels for:
- Status:
Some proposed changes can be found in psuter.hg@T11870_watch_components- DONE Committed
notify_watch
DB table for release in 1.1.3. ([13551]) Some more proposed changes can be found in psuter.hg@623e0e1bdb74- TODO More proposed changes can be found in psuter.hg@T11870_optional_subscribers
XMPP
- Related tickets: #11884
- New preference child panels for:
- Status:
- Proposed changes can be found in log:psuter.hg@T11884-xmpp
On-site notifications
- Related tickets: #11889
- Status:
- Proposed changes can be found in log:psuter.hg@T11889_onsite_notifications
Permission filters
- Related tickets: comment:4:ticket:5670
HTML emails
- Related tickets: #2625
Wiki notifications
- Related tickets: #1660
Attachment notifications
Background delivery thread
- Related tickets: #3220
SMTP-over-SSL
- Related tickets: #4931
Cryptography
- Related tickets: #8294
Attachments (1)
-
notification-subscription-prefs.png
(54.2 KB
) - added by 11 years ago.
Screenshot of WIP proposed new prefs panel
Download all attachments as: .zip