Notify Authors Plugin
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:
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
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 |
Related Topics: VarNOTIFYAUTHORS,
TWikiPlugins,
DeveloperDocumentationCategory,
AdminDocumentationCategory,
TWikiPreferences,
CommentPlugin