Changes between Version 77 and Version 78 of AnnouncerPlugin


Ignore:
Timestamp:
Jun 7, 2015, 10:18:26 AM (9 years ago)
Author:
figaro
Comment:

More cosmetic changes, removed stale news

Legend:

Unmodified
Added
Removed
Modified
  • AnnouncerPlugin

    v77 v78  
    11[[PageOutline(2-5,Contents,pullout)]]
    22
    3 {{{
    4 #!NewsFlash
    5 = News =
    6  2012-11-04:: Major db code changes, '''requires a Trac environment upgrade''' `announcer-1.0dev` to address many pending issue.
    7  2012-10-20:: Set the stage: On the way to `announcer-1.0` now, that should be compatible for Trac 0.11, but also will work up to current stable Trac 1.0.
    8 
     3{{{#!NewsFlash
    94= !ToDo =
    105 * "downgrade db API code for compatibility with Trac 0.11 (currently only 0.12)"
     
    2217=== Improve '''users''' Trac experience
    2318
    24 With growing number of both tickets and wiki pages, keeping yourself up-to-date on recent changes is a time consuming task and easy to miss some important information. The bigger your Trac application and user base, the more important is a flexible announcement system. At the very least, it will allow users to receive ''notices about attachments'', and to ''opt-out from receiving messages'' due to the always_notify_(owner|reporter|updater) options. AnnouncerPlugin has ''wiki subscription'' capabilities ^[1]^ and provides each registered user with a large set of options to adapt change notifications to individual demand.
     19With growing number of both tickets and wiki pages, keeping yourself up-to-date on recent changes is a time consuming task and easy to miss important information. The bigger your Trac application and user base, the more important is a flexible announcement system. At the very least, it will allow users to receive ''notices about attachments'', and to ''opt-out from receiving messages'' due to the always_notify_(owner|reporter|updater) options. AnnouncerPlugin has ''wiki subscription'' capabilities ^[1]^ and provides each registered user with a large set of options to adapt change notifications to individual demand.
    2520
    2621=== Get room for promising '''development'''
     
    5045 * You can check out AnnouncerPlugin from [/svn/announcerplugin here] using Subversion, or [source:announcerplugin browse the source] with Trac.
    5146
    52 '''Note:''' Don't use anything older than current `trunk`, or be prepared to lose some of your settings when upgrading. This might, but is not guaranteed to get addressed later on due to a number of rather experimental db schema versions (see comments in [12296] to [12302]).
    53 
    54 After installing AnnouncerPlugin, run `trac-admin /path/to/env upgrade`. This is needed because the plugin adds two tables to the Trac db. The upgrade script allows the plugin to create the needed table or update any older schema. Note though, that data conversion is still worked on and even might never get fully done for the more ancient revisions.
     47'''Note:''' Don't use anything older than `trunk`, or you may lose some of your settings when upgrading. This might, but is not guaranteed to get addressed later on due to a number of rather experimental db schema versions (see comments in [12296] to [12302]).
     48
     49After installing AnnouncerPlugin, run `trac-admin /path/to/env upgrade`. This is needed because the plugin adds two tables to the Trac db. The upgrade script allows the plugin to create the needed table or update any older schema. Note that data conversion is still worked on and even might never get fully done for the more ancient revisions.
    5550
    5651As of r3107 (dubbed v0.2), the AnnouncerPlugin has been working in a basic way in our corporate Trac installation. This includes all the mentioned modules above, in particular the notification of Wiki additions/changes/deletions to anyone interested, 'watching' interesting resources, HTML ticket notifications, and such.
     
    6257The easiest way to install AnnouncerPlugin is to use easy_install from the t-h.o SVN repository:
    6358
    64 {{{
    65 #!python
     59{{{#!python
    6660easy_install http://trac-hacks.org/svn/announcerplugin/trunk
    6761}}}
     
    6963Alternatively, you may download the source via one of the above methods, go into the `trunk` directory and then run:
    7064
    71 {{{
    72 #!python
     65{{{#!python
    7366python setup.py install
    7467}}}
     
    8477==== Fast path
    8578
    86 For a system that is basically compatible with your existing setup and allowing minimally invasive wiki features, the following is suggested in `trac.ini`:
    87 
    88 {{{
    89 #!ini
     79For a system that is basically compatible with your existing setup and allowing minimally invasive wiki features, the following is suggested for `trac.ini`:
     80
     81{{{#!ini
    9082[components]
    9183announcer.* = enabled
     
    9991==== Save on migration
    10092
    101 If you configured the [t:wiki:TracNotification TracNotification] system before, another approach to Announcer configuration is to simply rename the `[notification]` section in your ''trac.ini'' to `[announcer]`.  Where possible, the option names are the same. Additional options that may be available are specified above in the modules section.
     93If you configured the [t:wiki:TracNotification TracNotification] system before, another approach to Announcer configuration is to simply rename the `[notification]` section in your ''trac.ini'' to `[announcer]`. Where possible, the option names are the same. Additional options that may be available are specified above in the modules section.
    10294
    10395==== Deep waters
     
    126118  * '''!SessionEmailResolver''' (recommended, will use the session's email address (authenticated or otherwise) to send mail)
    127119  * '''!DefaultDomainEmailResolver''' (recommended if you used the smtp_default_domain option previously)
    128   * '''!SpecifiedEmailResolver''' (not recommended-- a proof of concept if nothing else)
    129 
    130 To better collaborate with the [WatchlistPlugin#AnnouncerPlugin WatchlistPlugin] the two contextual navigation items ''Watch This''/''Unwatch This'' on the wiki page can be renamed by specifying the following in the `[announcer]` section. An empty value removes them completely.
    131 {{{
    132 #!ini
     120  * '''!SpecifiedEmailResolver''' (not recommended, because it is a proof of concept)
     121
     122To better collaborate with the [WatchlistPlugin#AnnouncerPlugin WatchlistPlugin] the two contextual navigation items ''Watch This''/''Unwatch This'' on the wiki page can be renamed by specifying the following in the `[announcer]` section of your `trac.ini` file. An empty value removes them completely.
     123{{{#!ini
     124[announcer]
    133125ctxtnav_names = Notify me, Do not notify me
    134126}}}
     
    136128=== Modular per-user configuration
    137129
    138 The plugin itself is very modular, and exactly what features you have will depend on which modules you enable. You select modules in the 'Plugins' page of the 'Admin' section of your trac as stated the [#Centralconfiguration previous section].
     130The plugin itself is very modular, and exactly what features you have will depend on which modules you enable. You select modules in the 'Plugins' page of the 'Admin' section of your Trac as stated the [#Centralconfiguration previous section].
    139131
    140132==== Legacy Modules
    141133
    142 These mimic the standard trac notification that has been in Trac for awhile. In all cases, they are configured via the [announcer] section of the trac.ini. In most cases, the options are identical to what was previously in the [notification] section. In fact its recommended that you simply rename [notification] to [announcer] if you are going to be using any of these compatibility modules.
     134These mimic the standard Trac notification that has been in Trac for a while. In all cases, they are configured via the [announcer] section of the trac.ini. In most cases, the options are identical to what was previously in the [notification] section. In fact it is recommended that you rename [notification] to [announcer] if you are going to be using any of these compatibility modules.
    143135
    144136 * ''!StaticTicketSubscriber'': If enabled, this module will obey the ''smtp_always_bcc'' option to deliver a copy of every announcement sent out to a single address.
     
    156148This feature is provided by ''!JoinableGroupSubscriber'', and is meant to create targeted groups of people that should be notified about certain important issues. One example might be 'security' that security-related bugs should notify everyone about. Another might be 'sitedown' that represents a critical failure at a customer's site where you want to be sure to notify certain high level management in your company.
    157149
    158 In any case, by prepending the group with an @ and adding it into the CC box, everyone who has opted into that group will receive notification of changes to that ticket. E.g., adding '@security' to the CC field will send the security team a message whenever someone alters it. The !CarbonCopySubscriber ignores any such entries (if its enabled at all)
    159 
    160 Configure like so:
    161 {{{
    162 #!ini
     150In any case, by prepending the group with `@` and adding it into the CC box, everyone who has opted into that group will receive notification of changes to that ticket. For example adding '@security' to the CC field will send the security team a message whenever someone alters it. The !CarbonCopySubscriber ignores any such entries, if it is enabled at all.
     151
     152Configure as follows in your `trac.ini` file:
     153{{{#!ini
    163154[announcer]
    164155joinable_groups = group1,group2,group3
     
    179170In particular, you may use a pattern of '*' and you'll see any wiki changes that happen on the site.
    180171
    181 This is particularly useful in situations where the wiki uses a hierarchal structure; so if you use a pattern such as 'Project*', then 'Project/Plan' and 'Project/Concerns' will all match.
     172This is particularly useful in situations where the wiki uses a hierarchical structure; so if you use a pattern such as 'Project*', then 'Project/Plan' and 'Project/Concerns' will all match.
    182173
    183174[[Image(AnnouncerPlugin:GeneralWiki.png)]]
     
    200191==== Distributors
    201192
    202 Although the goal is to allow many kinds of distribution, at this point we're only delivering to email addresses. The ''!EmailDistributor'' uses the same options as the old trac notification, just (as above) in the ''announcer'' section and not the ''notification'' section. Some options it doesn't quite use yet but will in the future.
     193Although the goal is to allow many kinds of distribution, at this point we're only delivering to email addresses. The ''!EmailDistributor'' uses the same options as the old trac notification, just (as above) in the ''announcer'' section and not the ''notification'' section.
    203194
    204195There are a few additional ones:
     
    217208The order is important. If you specify resolvers as follows:
    218209
    219 {{{
    220 #!ini
     210{{{#!ini
    221211[announcer]
    222212email_address_resolvers = DefaultDomainEmailResolver, SpecifiedEmailResolver, SessionEmailResolver
     
    227217The recommended setting is:
    228218
    229 {{{
     219{{{#!ini
    230220[announcer]
    231221email_address_resolvers = SpecifiedEmailResolver, SessionEmailResolver
     
    243233Existing bugs and feature requests for WantedPagesMacro are [report:9?COMPONENT=AnnouncerPlugin here].
    244234
    245 If you have any issues, create a [http://trac-hacks.org/newticket?component=AnnouncerPlugin&owner=hasienda new ticket].
     235If you have any issues, create a [/newticket?component=AnnouncerPlugin new ticket].
    246236
    247237[[TicketQuery(component=AnnouncerPlugin&group=type,format=progress)]]
     
    249239== Development Version
    250240
    251 The trunk branch is under development again. Despite AnnouncerPlugin was already developed against Trac 0.12 and Python2.6 before, we're reaching back to Trac 0.11 and Python2.4 again (see #9106), before branching out and following Trac 1.0 for all new features.
    252 
    253 If you upgrade from early versions of AnnouncerPlugin, be prepared for a number of changes, even in the name space '''AnnouncerPlugin becomes TracAnnouncer'''. You will need to edit your `trac.ini` components section accordingly (announcerplugin -> announcer). There are many other module changes, so it's probably best to use the Trac plugin admin to configure TracAnnouncer after an upgrade.
     241The development branch is called `trunk`. Despite AnnouncerPlugin was already developed against Trac 0.12 and Python2.6 before, we're reaching back to Trac 0.11 and Python2.4 again (see #9106), before branching out and following Trac 1.0 for all new features.
     242
     243If you upgrade from early versions of AnnouncerPlugin, be prepared for a number of changes, even in the name space '''AnnouncerPlugin becomes TracAnnouncer'''. You will need to edit your `trac.ini` components section accordingly: announcerplugin -> announcer. There are many other module changes, so it's probably best to use the Trac plugin admin to configure TracAnnouncer after an upgrade.
    254244
    255245As stated before, as of [8087] there is preliminary support for sending encrypted and/or cryptographically signed emails. OpenPGP support provided by [http://www.gnupg.org/ GnuPG] should be barely working by now as an intermediate solutions, but this will be rebased on CryptoPlugin methods later on. See more details at the corresponding [wiki:AnnouncerPlugin/MessageEncryption development page].
    256246
    257 Email delivery configuration has been changed significantly.  Sendmail functionality has been added.  SMTP configuration has been split out into it's own section.  Save yourself some trouble and install !IniAdmin. See new settings with default [#EmailConfig below].
    258 
    259 Want to get started hacking TracAnnouncer? Here's what I would do. Replace vim with the editor of your choice. Replace git with the SCM of your choice.
     247Email delivery configuration has been changed significantly. Sendmail functionality has been added. SMTP configuration has been split out into its own section. Save yourself some trouble and install !IniAdmin. See new settings with default [#EmailConfig below].
     248
     249Want to get started hacking TracAnnouncer? Replace vim with the editor of your choice. Replace git with the SCM of your choice.
    260250
    261251 1. Make sure you have virtualenv installed.
    262252 1. Get the code:
    263 {{{
    264 #!sh
     253{{{#!sh
    265254~ $ cd src
    266255~/src $ git svn init http://trac-hacks.org/svn th-announcer
     
    296285(th-announcer)~/src/th-announcer $ python setup.py develop
    297286}}}
    298  1. It is also very helpful to install iniadmin `pip install -U http://trac-hacks.org/svn/iniadminplugin/0.11`.
    299  1. Create a trac instance for testing `trac-admin ~/th-announcer/trac initenv`.
    300  1. Add `root` as a TRAC_ADMIN `trac-admin ~/th-announcer/trac/ permission add root TRAC_ADMIN`.
     287 1. It is also useful to install iniadmin: `pip install -U http://trac-hacks.org/svn/iniadminplugin/0.11`.
     288 1. Create a Trac instance for testing: `trac-admin ~/th-announcer/trac initenv`.
     289 1. Add `root` as a TRAC_ADMIN: `trac-admin ~/th-announcer/trac/ permission add root TRAC_ADMIN`.
    301290 1. Create an htpasswd file so you can log in: `echo root:Xy2PtsPf0839Y > ~/th-announcer/trac/htpasswd` (that's 'password').
    302  1. Fire her up! `cd ~/th-announcer/trac && tracd -p 7421 . -sr --basic-auth *,${HOME}/th-announcer/trac/htpasswd,*`.
    303  1. Browse to it. `chromium http://localhost:7421/admin` and login as root:password.
     291 1. Start the plugin: `cd ~/th-announcer/trac && tracd -p 7421 . -sr --basic-auth *,${HOME}/th-announcer/trac/htpasswd,*`.
     292 1. Browse to it: `chromium http://localhost:7421/admin` and login as root:password.
    304293 1. Enable all the announcer and iniadmin stuff.
    305294 1. Edit your config with iniadmin.
     
    309298The development version of this plugin is prepared for localization. After recent major changes an additional name-space has been introduced to separate maintenance efforts from development for upcoming versions. Be part of the shift, prefer contributions to the new stuff.[[BR]]
    310299But English message texts are still the (POSIX) default. If this isn't your preferred language, you can
    311  1. look, if it's already available from the [TracPluginTranslation Trac plugin l10n project] at [http://www.transifex.net/projects/p/Trac_Plugin-L10N/c/tracannouncer Transifex] (catalogs for [http://www.transifex.net/projects/p/Trac_Plugin-L10N/c/announcer older versions] available as well) or
     300 1. check if it is already available from the [TracPluginTranslation Trac plugin l10n project] at [http://www.transifex.net/projects/p/Trac_Plugin-L10N/c/tracannouncer Transifex] (catalogs for [http://www.transifex.net/projects/p/Trac_Plugin-L10N/c/announcer older versions] available as well) or
    312301 2. do it yourself (see the [http://trac.edgewall.org/wiki/CookBook/PluginL10N#Dotranslatorswork l10n cookbook page for Trac plugins] for more details).
    313302
     
    319308
    320309Preparing the plugin from source requires '''no additional steps''' for compiling message catalog files. Only to include translations marked as `# fuzzy` by the translator, you'll want to do a manual message catalog compilation with the extra `-f` argument before packaging:
    321 {{{
    322 #!sh
     310{{{#!sh
    323311cd announcer
    324312python ./setup.py egg_info
     
    333321Add the following to your `trac.ini` file:
    334322
    335 {{{
    336 #!ini
     323{{{#!ini
    337324[announcer]
    338325default_email_format = text/plain