Tags:
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 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: 2014-11-05
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
PNGpng notify-authors-discussion-300.png r1 manage 42.3 K 2014-11-06 - 01:22 TWikiAdminUser Saved by install script
PNGpng notify-authors-discussion.png r1 manage 51.1 K 2014-11-06 - 01:22 TWikiAdminUser Saved by install script
Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r2 - 2015-02-04 - TWikiAdminUser
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 1999-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Everiware? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.NotifyAuthorsPlugin.