mailnotify
is called by a background process at regular intervals. The script sends an automated e-mail to subscribed users if topics were changed in a web since the script was last run.
%NOTIFYTOPIC%
* daisy@flowers.com * daisy@flowers.com: Web* * DaisyCutter: Petal* (1) WeedKillers (3) Red*Phlox * StarTrekFan: * - *Wars - *sInTheirEyes - *shipTroopersA user may be listed many times in the WebNotify topic. Where a user has several lines in WebNotify that all match the same topic, they will only be notified of changes to that topic once. If a TWiki group is listed for notification, the group will be recursively expanded to the e-mail addresses of all members. Tip: List names in alphabetical order to make it easier to find the names. Note for System Administrators: Notification is supported by an add-on to the TWiki kernel called the MailerContrib. See the MailerContrib topic for details of how to set up this service. Note: If you prefer a news feed, point your reader to WebRss (for RSS 1.0 feeds) or WebAtom (for ATOM 1.0 feeds). Learn more at WebRssBase and WebAtomBase, respectively. You can also use
%MAINWEB%
instead of Main
, but this is not necessary even if you have renamed the main web by configuring {MainWebName}
in configure.
SEARCH
. The number of topics listed by the limit
parameter.:
%SEARCH{ ".*" web="TWiki" regex="on" nosearch="on" order="modified"
reverse="on" limit="50" }%
SEARCH
:
%SEARCH{ "\.*" scope="topic" regex="on" nosearch="on" }%
%STATISTICSTOPIC%
twiki/bin/statistics
script from a cron job, once a day is recommended. This will update the WebStatistics topics in all webs.
nobody
on many systems. Example crontab entry: 0 0 * * * (cd /path/to/twiki/bin; ./statistics >/dev/null 2>&1)
nobody
: Run the utility twiki/bin/geturl
in your cron job and specify the URL of the twiki/bin/statistics
script as a parameter. Example: 0 0 * * * (cd /path/to/twiki/bin; ./geturl mydomain.com /urlpath/to/twiki/bin/statistics >/dev/null 2>&1)
./statistics -logdate 200605 -webs TWiki,Sandbox
twiki/bin/statistics
script can also be executed as a CGI script, just enter the URL in your browser. Examples: /bin/statistics
/bin/statistics/Main
/bin/statistics/Main?logdate=202410
/bin/statistics?logdate=202410;webs=ProjectX,ProjectY,ProjectZ
log<year><month>.txt
twiki/logs/log202410.txt
| <time> | <wikiusername> | <action> | <web>.<topic> | <extra info> | <IP address> |
| 30 Oct 2024 - 13:31 | TWikiGuest | view | WebRss | | 66.124.232.02 |
Script | Action name | Extra info |
---|---|---|
attach | attach | when viewing attach screen of previous uploaded attachment: filename |
changes | changes | |
edit | edit | when editing non-existing topic: (not exist) |
rdiff | rdiff | higher and lower revision numbers: 4 3 |
register | regstart | WikiUserName, e-Mail address, LoginName: user attempts to register |
register | register | E-mail address: user successfully registers |
register | bulkregister | WikiUserName of new, e-mail address, admin ID |
rename | rename | when moving topic: moved to Newweb.NewTopic |
rename | move | when moving attachment: Attachment filename moved to Newweb.NewTopic |
passwd | resetpasswd | LoginName, WikiName, E-mail address, success code from addUserPassword |
passwd | changepasswd | LoginName, WikiName |
save | save | when replacing existing revision: repRev 3 when user checks the minor changes box: dontNotify |
search | search | search string |
upload | upload | filename |
view | view | when viewing non-existing topic: (not exist) when viewing previous topic revision: r3 |
Net::SMTP
module if it is installed on your system. Set this with the SMTPMAILHOST
variable in TWikiPreferences.
The notify e-mail uses the default changes.tmpl
template, or a skin if activated in the TWikiPreferences.
mailnotify also relies on two hidden files in each twiki/data/Web
directory: .changes
and .mailnotify.
Make sure both are writable by your web server process. .changes
contains a list of changes; go ahead and make this empty. .mailnotify
contains a timestamp of the last time notification was done.
You can use an external mail program, such as sendmail
, if the Net::SMTP
module is not installed. Set the program path in {MailProgram}
in configure.
SMTPMAILHOST
in TWikiPreferences to an empty value.
SMTPSENDERHOST
variable to define the mail sender host (some SMTP installations require this).
cron
table so that mailnotify
is called in an interval of your choice. Please consult man crontab
of how to modify the table that schedules program execution at certain intervals. Example:
% crontab -e 0 2 * * * (cd /path/to/twiki/bin; ./mailnotify -q)The above line will run mailnotify nightly at 02:00. The
-q
switch suppresses all normal output.
For ISP installations: Many ISPs don't allow hosted accounts direct cron access, as it's often used for things that can heavily load the server. Workaround scripts are available.
On Windows: You can use a scheduled task if you have administrative privileges. TWiki:Codev/CronTabWin is a free scheduler for Windows.