Version 2 (modified by 10 years ago) ( diff ) | ,
---|
Trac Database Schema: Notification
The TracNotification module stores notification event subscriptions in the database.
Table subscription
Table | Key |
subscription | id |
Columns | Type | Notes |
id | auto_increment | |
time | int64 | |
changetime | int64 | |
class | The name of the Python class that stored this subscription. | |
sid | The session ID of the subscriber. | |
authenticated | int | 1 for authenticated session IDs, 0 for anonymous session IDs
|
distributor | Identifies the distributor to used for this subscription (e.g. email )
| |
format | Identifies the MIME type to be used for this subscription (e.g. text/plain or text/html )
| |
priority | int | Precedence level of this subscription. E.g. 1 overrules 2 .
|
adverb | always or never
|
Stores if a subscription rule always/never applies for a certain user, at what priority and using what distribution method/format.
Use the trac.notification.model.Subscription
model class to access this table.
Note that this table does not store an (email) address, but the commonly used subscription tuple has an additional item addr
. Usually such tuples that correspond to entries in this DB table contain a addr
of None. Other tuples may contain an (email) address (e.g. retrieved from a ticket CC field) but are missing the
sid` item instead.
See trac.notification.model.Subscription
Table subscription_attribute
Table | Key |
subscription_attribute | id |
Columns | Type | Notes |
id | auto_increment | |
sid | The session ID of the subscriber. | |
authenticated | int | 1 for authenticated session IDs, 0 for anonymous session IDs
|
class | The name of the Python class that stored this subscription attribute. | |
realm | The realm of this subscription (e.g. ticket ).
| |
target | The target of this subscription (e.g. a ticket id). |
Stores attributes to identify the target resource(s) of a subscription (e.g. a watched ticket's id, wiki page filters, joined groups, etc.)
Use the trac.notification.model.SubscriptionAttribute
model class to access this table.
See trac.notification.model.SubscriptionAttribute
Open Questions
Rename class
column?
Something like rule
might be more appropriate.
See also INotificationSubscriber.
Rename tables?
The current table names are taken from the th:AnnouncerPlugin.
Would this cause problems for users that already used that plugin?
Remove time
and changetime
columns?
These are not really needed.