%TOC%

## <a name="Monitoring_TWiki_Site_Activity"> Monitoring TWiki Site Activity </a>

Services for tracking content editing and general site usage

### <a name="Overview"> Overview </a>

TWiki provides two highly configurable, automated site monitoring tools, **WebNotify**, to email alerts when topics are edited, and **WebStats**, to generate detailed activity reports.

### <a name="WebNotify_Changes_Notification"> WebNotify Changes Notification </a>

%STARTINCLUDE%

Each %WIKITOOLNAME% web does an automatic email notification of recent changes. Users can subscribe / unsubscribe themselves in %NOTIFYTOPIC% of each TWiki web. %STOPINCLUDE%

#### <a name="Setting_Up_WebNotify"> Setting Up WebNotify </a>

The Perl script <code>**mailnotify**</code> 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.

##### <a name="Configuring_Outgoing_Mail"> Configuring Outgoing Mail </a>

%WIKITOOLNAME% will use the <code>**Net::SMTP**</code> module in case it is installed on your system. You need to specify the <code>**SMTPMAILHOST**</code> variable in [[TWikiPreferences]].

You can use an external mail program like <code>**sendmail**</code> in case the <code>**Net::SMTP**</code> module is not installed. In this case specify the <code>**$mailProgram**</code> in <code>**twiki/bin/TWiki.cfg**</code>.

##### <a name="Setting_the_Automatic_Email_Sche"> Setting the Automatic Email Schedule </a>

**For Unix platforms:** Edit the <code>**cron**</code> table so that <code>**mailnotify**</code> is called in an interval of your choice. Please consult <code>**man crontab**</code> 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 <code>**-q**</code> switch suppresses all normal output.

**_ISP installations when cron service unavailable. workaround script available_**

On Windows NT / 2000 you can use a scheduled task.

### <a name="Site_Usage_Statistics"> Site Usage Statistics </a>

#### <a name="Configuring_for_Automatic_Operat"> Configuring for Automatic Operation </a>

* 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<date>.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: <br />`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: <br />`0 0 * * * (cd /path/to/TWiki/bin; ./geturl mydomain.com /urlpath/to/TWiki/bin/statistics >/dev/null 2>&1)`

#### <a name="Generating_Statistics_Manually_b"> </a> 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: <br />`http://mydomain.com/twiki/bin/statistics`
    * Update current month for Main web only: <br />`http://mydomain.com/twiki/bin/statistics/Main`
    * Update January 2000 for Main web: <br />`http://mydomain.com/twiki/bin/statistics/Main?logdate=200001`

-- [[PeterThoeny]] - 16 Mar 2001 <br /> -- [[MikeMannix]] - 01 Sep 2001