Tags:
changes1Add my vote for this tag email1Add my vote for this tag notification1Add my vote for this tag create new tag
, view all tags

Notify Authors Plugin

notify-authors-discussion-300.png

Notify authors of a discussion thread via e-mail

Introduction

Ever wanted to notify everybody involved in a conversation on a TWiki topic? Use this plugin to add a "notify authors" button to topics. When pressed, all authors on the topic will be notified by e-mail. The e-mail contains a link to the topic so that everybody is kept in the loop. Authors are defined by user signatures in the topic at hand.

Syntax Rules

%NOTIFYAUTHORS{...}%

Parameter Description Default
action="" or
action="showbutton"
Show "notify authors" button ""
action="notify" Notify all authors by e-mail. The same can be achieved with URL parameter notifyauthors_action=notify. ""
action="getemailtemplate" Get e-mail body from template, used in notification confirmation dialog box. Add encode="1" to entity-encode the content for an HTML textarea element. ""
anchor="..." After notification, jump to named anchor (omit the #) "NotifyAuthorsButton" φ
φ Note: The default is defined in the {Plugins}{NotifyAuthorsPlugin}{AnchorName} configure setting.

The showbutton action adds a hidden input field named "notifyauthors_action" with value "notify" to automate the interaction between action="showbutton" and action="notify".

If needed, the following preferences settings defined on a web level of topic level may override the configure settings:

  • Set NOTIFYAUTHORSPLUGIN_BUTTONTEXT = Notify button label
  • Set NOTIFYAUTHORSPLUGIN_TOOLTIPTEXT = Notify button tooltip
  • Set NOTIFYAUTHORSPLUGIN_BUTTONTEXT = Notify button text
  • Set NOTIFYAUTHORSPLUGIN_HELPTEXT = Help text shown next to the notify button, %NOTIFYAUTHORLIST% expands to the list of authors
  • Set NOTIFYAUTHORSPLUGIN_NOTIFIEDTEXT = Text shown after sending notification e-mail, %NOTIFYAUTHORLIST% expands to the list of authors
  • Set NOTIFYAUTHORSPLUGIN_SUMMARYFORMAT = Format of topic summary included in the e-mail

Example

%NOTIFYAUTHORS% is typically used together with %COMMENT% of the CommentPlugin.

Screenshot of a discussion:
Notify authors discussion
Write this:
%COMMENT%
%NOTIFYAUTHORS%

To get this:

%NOTIFYAUTHORS%

Note: Use the TWiki:Plugins.ScrollBoxAddOn to get a nice box around the "notify authors" button, such as:

%COMMENT%
%INCLUDE{ "%SYSTEMWEB%.ScrollBoxAddOn" section="scroll_box_engine" }%
%INCLUDE{ "%SYSTEMWEB%.ScrollBoxAddOn" section="static_box_start"
 boxstyle="padding: 7px; width: auto;"
}%
%NOTIFYAUTHORS%
%INCLUDE{ "%SYSTEMWEB%.ScrollBoxAddOn" section="static_box_end" }%

Default Comment Box With Notify Button

If you want to add the notify authors button to the default COMMENT box do this:

1. Define a custom comment template in UserCommentsTemplate called threadmode_and_notify that defines a comment box and a box with a notify authors button. This requires CommentPlugin version 2013-02-10 or later. Content:

<verbatim>
%TMPL:DEF{PROMPT:threadmode_and_notify}%<a name="threadmode_and_notify">
</a>%COMMENTFORMSTART%
<div class="commentPlugin commentPluginPromptBox" style="margin: 5px 0;">
%IF{ "istopic '%SYSTEMWEB%.ScrollBoxAddOn'" then="$percntINCLUDE{ \"%SYSTEMWEB%.ScrollBoxAddOn\" section=\"scroll_box_engine\" }$percnt $percntINCLUDE{ \"%SYSTEMWEB%.ScrollBoxAddOn\" section=\"static_box_start\" boxstyle=\"padding: 7px; width: auto; background-color: #f6f6fb;\" }$percnt" else="<nop>" }%
<div><textarea %DISABLED% rows="%rows|5%" cols="%cols|80%" name="comment" class="twikiTextarea" wrap="soft" style="width: 100%" onfocus="if(this.value=='%MESSAGE%')this.value=''" onblur="if(this.value=='')this.value='%MESSAGE%'">%MESSAGE%</textarea></div>
<div style="padding: 5px 0 0 0;"><input %DISABLED% type="submit" value="%button|Add comment%" class="twikiButton" /></div>
%IF{ "istopic '%SYSTEMWEB%.ScrollBoxAddOn'" then="$percntINCLUDE{ \"%SYSTEMWEB%.ScrollBoxAddOn\" section=\"static_box_end\" }$percnt" else="<nop>" }%
</div><!--/commentPlugin-->
%COMMENTFORMEND%
%IF{ "istopic '%SYSTEMWEB%.ScrollBoxAddOn'" then="$percntINCLUDE{ \"%SYSTEMWEB%.ScrollBoxAddOn\" section=\"static_box_start\" boxstyle=\"padding: 7px; width: auto; background-color: #f6f6fb;\" }$percnt" else="<nop>" }%
%NOTIFYAUTHORS{ anchor="threadmode_and_notify" }%
%IF{ "istopic '%SYSTEMWEB%.ScrollBoxAddOn'" then="$percntINCLUDE{ \"%SYSTEMWEB%.ScrollBoxAddOn\" section=\"static_box_end\" }$percnt" else="<nop>" }%%TMPL:END%
</verbatim>
<verbatim>
%TMPL:DEF{OUTPUT:threadmode_and_notify}%%POS:BEFORE%

%URLPARAM{"comment"}%

%STARTSECTION{ type="expandvariables" }%%IF{ "defined 'BUBBLESIGNATUREFORMAT'" then="$percntBUBBLESIGNATUREFORMAT$percnt" else="-- $percntWIKIUSERNAME$percnt - $percntDATE$percnt" }%%ENDSECTION{ type="expandvariables" }%
%TMPL:END%
</verbatim>

2. Define this site-level preferences setting in Main.TWikiPreferences, or on a web-level in WebPreferences:

  • Set COMMENTPLUGIN_DEFAULT_TYPE = threadmode_and_notify

With this, the default %COMMENT% has now also a notify authors button as shown in above screenshot.

E-mail Template

The plugin has a notifyauthorsemail.tmpl templates file in the twiki/templates directory used to send notification e-mails. The plugin handles the following special variables in addition to the TWikiVariables:

Variable Expands to
%NOTIFYTITLE% Topic title as defined in VarTOPICTITLE; spaced-out topic name if undefined
%NOTIFYADDRESSES% E-mail "To" list, comma-space separated
%NOTIFYSUMMARY% Summary built from topic content. The format of the summary is defined by the {Plugins}{NotifyAuthorsPlugin}{SummaryFormat} setting
%NOTIFYWEB% Web where notification is sent from
%NOTIFYTOPIC% Topic where notification is sent from
%NOTIFYFROM% WikiName of person who pressed the notify button

Plugin Installation & Configuration

You do not need to install anything on the browser to use this plugin. These instructions are for the administrator who installs the plugin on the TWiki server.

  • For an automated installation, run the configure script and follow "Find More Extensions" in the in the Extensions section.

  • Or, follow these manual installation steps:
    • Download the ZIP file from the Plugins home (see below).
    • Unzip NotifyAuthorsPlugin.zip in your twiki installation directory. Content:
      File: Description:
      data/TWiki/NotifyAuthorsPlugin.txt Plugin topic
      data/TWiki/VarNOTIFYAUTHORS.txt Variable documentation topic
      pub/TWiki/NotifyAuthorsPlugin/*png Screenshots
      templates/notifyauthorsemail.tmpl E-mail template
      templates/notifyauthorsbutton.tmpl notify authors button
      templates/notifyauthorsdialogbutton.tmpl notify authors button and dialog box
      lib/TWiki/Plugins/NotifyAuthorsPlugin.pm Plugin Perl module
      lib/TWiki/Plugins/NotifyAuthorsPlugin/Core.pm Plugin core module
      lib/TWiki/Plugins/NotifyAuthorsPlugin/Config.spec Configure spec file
    • Set the ownership of the extracted directories and files to the webserver user.
    • Install the dependencies (if any).

  • Plugin configuration and testing:
    • Run the configure script and enable the plugin in the Plugins section.
    • Configure additional plugin settings in the Extensions section if needed. Settings:
      $TWiki::cfg{Plugins}{NotifyAuthorsPlugin}{AuthorPatterns} # Patterns of author signatures, separated by comma-space. Use regular expressions; capture the WikiName of the user in parenthesis.
      $TWiki::cfg{Plugins}{NotifyAuthorsPlugin}{ButtonText} # Notify button label.
      $TWiki::cfg{Plugins}{NotifyAuthorsPlugin}{TooltipText} # Notify button tooltip text.
      $TWiki::cfg{Plugins}{NotifyAuthorsPlugin}{HelpText} # Help text shown next to the notify button.
      $TWiki::cfg{Plugins}{NotifyAuthorsPlugin}{NotifiedText} # Text shown after sending notification e-mail.
      $TWiki::cfg{Plugins}{NotifyAuthorsPlugin}{AnchorName} # Anchor name to jump to after submit. Leave empty for no anchor jump.
      $TWiki::cfg{Plugins}{NotifyAuthorsPlugin}{SummaryFormat} # Format of the NOTIFYSUMMARY variable in the e-mail template. Use the same syntax as in the format parameter of the SEARCH{} variable.
      $TWiki::cfg{Plugins}{NotifyAuthorsPlugin}{ButtonTemplate} # Template defining the notification button and confirmation dialog box. Default: notifyauthorsdialogbutton. Set to notifyauthorsbutton to omit the confirmation dialog box.
      $TWiki::cfg{Plugins}{NotifyAuthorsPlugin}{EmailTemplate} # Template defining the notification email. Default: notifyauthorsemail
      $TWiki::cfg{Plugins}{NotifyAuthorsPlugin}{UseEmailField} # Use the "Email" form field of user profile topics instead of the e-mail stored in the password system. This is useful if LDAP authentication is used.
      $TWiki::cfg{Plugins}{NotifyAuthorsPlugin}{LogAction} # Log notify action.
      $TWiki::cfg{Plugins}{NotifyAuthorsPlugin}{Debug} # Debug plugin. See output in data/debug.txt
    • Test if the installation was successful by creating a sandbox topic using above example.

Plugin Info

  • One line description, is shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Notify authors of a discussion thread via e-mail

Plugin Author: TWiki:Main.PeterThoeny
Copyright: © 2013 Wave Systems Corp.
© 2013 TWiki:Main.PeterThoeny & TWiki:TWiki.TWikiContributor
License: GPL (GNU General Public License)
Sponsor: Wave Systems Corp.
Plugin Version: 2015-06-03
2015-06-03: TWikibug:Item7510: Fix small configure issue; change from GPL v2 to v3
2014-11-05: TWikibug:Item7510: Show Subject in notify dialog box; doc improvements
2014-11-03: TWikibug:Item7510: Show text area with e-mail body in notify dialog box
2014-10-31: TWikibug:Item7510: Show notify dialog box to confirm notification
2014-06-11: TWikibug:Item7510: Externalize notify button to notifyauthorsbutton.tmpl template file; rename notifyauthors.tmpl to notifyauthorsemail.tmpl; make notifyauthorsbutton and notifyauthorsemail templates configurable
2014-06-09: TWikibug:Item7510: Make aware of comma-space list to support multiple members (in a form field etc); make notify action aware of notifyauthors_authors URL parameter
2013-02-22: TWikibug:Item7154: Log notify action; fix internal server error if specified user does not exist
2013-02-21: TWikibug:Item7154: New NOTIFYSUMMARY variable handled in notify template
2013-02-13: TWikibug:Item7126: Preferences settings override configure settings, such as NOTIFYAUTHORSPLUGIN_BUTTONTEXT overrides ...{ButtonText}
2013-02-11: TWikibug:Item7126: Option to get e-mails from user profile form field "Email" instead of the password system
2013-02-10: TWikibug:Item7126: Initial version
TWiki Dependency: $TWiki::Plugins::VERSION 1.1
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.005
Plugin Benchmarks: GoodStyle nn%, FormattedSearch nn%, NotifyAuthorsPlugin nn%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/NotifyAuthorsPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/NotifyAuthorsPluginDev
Appraisal: http://TWiki.org/cgi-bin/view/Plugins/NotifyAuthorsPluginAppraisal

Related Topics: VarNOTIFYAUTHORS, TWikiPlugins, DeveloperDocumentationCategory, AdminDocumentationCategory, TWikiPreferences, CommentPlugin

Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formatmd5 NotifyAuthorsPlugin.md5 r15 r14 r13 r12 r11 manage 0.2 K 2015-06-03 - 22:44 PeterThoeny  
Compressed Zip archivetgz NotifyAuthorsPlugin.tgz r15 r14 r13 r12 r11 manage 105.1 K 2015-06-03 - 22:44 PeterThoeny  
Compressed Zip archivezip NotifyAuthorsPlugin.zip r15 r14 r13 r12 r11 manage 109.9 K 2015-06-03 - 22:43 PeterThoeny  
Unknown file formatEXT NotifyAuthorsPlugin_installer r5 r4 r3 r2 r1 manage 4.0 K 2015-06-03 - 22:44 PeterThoeny  
Edit | Attach | Watch | Print version | History: r14 < r13 < r12 < r11 < r10 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r14 - 2015-06-03 - PeterThoeny
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2016 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.