%TOC%
## Monitoring TWiki Site Activity
Services for tracking content editing and general site usage
### Overview
TWiki provides two highly configurable, automated site monitoring tools, **WebNotify**, to email alerts when topics are edited, and **WebStats**, to generate detailed activity reports.
### WebNotify Changes Notification
%STARTINCLUDE%
Each %WIKITOOLNAME% web does an automatic email notification of recent changes. Users can subscribe / unsubscribe themselves in %NOTIFYTOPIC% of each TWiki web. %STOPINCLUDE%
#### Setting Up WebNotify
The Perl script **mailnotify**
is called by a deamon in regular intervals. The script sends an automated email to subscribed users in case some topics changed in a web within this interval.
##### Configuring Outgoing Mail
%WIKITOOLNAME% will use the **Net::SMTP**
module in case it is installed on your system. You need to specify the **SMTPMAILHOST**
variable in [[TWikiPreferences]].
You can use an external mail program like **sendmail**
in case the **Net::SMTP**
module is not installed. In this case specify the **$mailProgram**
in **twiki/bin/TWiki.cfg**
.
##### Setting the Automatic Email Schedule
**For Unix platforms:** Edit the **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
15,45 * * * * (cd ~twiki/public_html/bin; ./mailnotify -q)
The above line will call mailnotify at 15 minutes and 45 minutes past every hour. The **-q**
switch suppresses all normal output.
**_ISP installations when cron service unavailable. workaround script available_**
On Windows NT / 2000 you can use a scheduled task.
### Site Usage Statistics
#### Configuring for Automatic Operation
* You can automatically generate usage statistics for all webs. To enable this:
* Make sure variable `$doLogTopicView, $doLogTopicSave and $doLogTopicUpload` in `wikicfg.pm` are set. This will generate log entries in file `twiki/data/log.txt` .
* Topic [[WebStatistics]] must be present in all webs where you want to have statistics. You can use the topic in the Main web as a template.
* Call the `twiki/bin/statistics` script from a cron job, once a day is recommended. This will update the [[WebStatistics]] topics in all webs.
* **_Attention:_** The script must run as the same user as the CGI scripts are running, which is user `nobody` on most systems. Example crontab entry:
`0 0 * * * (cd /path/to/TWiki/bin; ./statistics >/dev/null 2>&1)`
* There is a workaround in case you can't run the script as user `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)`
#### Generating Statistics Manually by URL
* * The `twiki/bin/statistics` script can also be executed as a CGI script, just enter the URL in your browser. Examples:
* Update current month for all webs:
`http://mydomain.com/twiki/bin/statistics`
* Update current month for Main web only:
`http://mydomain.com/twiki/bin/statistics/Main`
* Update January 2000 for Main web:
`http://mydomain.com/twiki/bin/statistics/Main?logdate=200001`
-- [[PeterThoeny]] - 16 Mar 2001
-- [[MikeMannix]] - 01 Sep 2001