%TOC% %STARTINCLUDE% # <a name="Monitoring_Site_Activity"> Monitoring 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_Recent_Changes_Alert"> WebNotify Recent Changes Alert </a> Each TWiki web has an automatic email alert service that sends a list of recent changes on a preset schedule, like once a day. Users can subscribe and unsubscribe using %NOTIFYTOPIC% in each web. ### <a name="Setting_Up_WebNotify"> Setting Up WebNotify </a> The Perl script `mailnotify` is called by a deamon in regular intervals. The script sends an automated email to subscribed users if topics were changed in a web within last interval. #### <a name="Configuring_Outgoing_Mail"> Configuring Outgoing Mail </a> %WIKITOOLNAME% will use the `Net::SMTP` module in case it is installed on your system. You need to specify the `SMTPMAILHOST` variable in [[TWiki/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`. #### <a name="Setting_the_Automatic_Email_Sche"> Setting the Automatic Email Schedule </a> **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. **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 NT/2000:** You can use a scheduled task. **_Note:_** AT on an NT machine is pretty limited. Microsoft has a [replacement](http://www.microsoft.com/ntserver/partners/findoffering/serversolutions/Maintnce.asp#cron). ## <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 `TWiki.cfg` are set. This will generate log entries in file `twiki/data/log<date>.txt` . * Topic [[TWiki/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 [[TWiki/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` -- [[TWiki/PeterThoeny]] - 16 Mar 2001 <br /> -- [[TWiki/MikeMannix]] - 01 Sep 2001