%STATISTICSTOPIC%
cron job
CHANGE permission on the WebStatistics topic. Statistics generation can create a significant workload on the server. In order to further restrict statistics generation:
statistics to the configure Security and Authentication tab, Login sub-tab.(This is now the default on Foswiki 1.1.4). This is required to prevent unauthenticated guest users from running statistics. Logging and Statistics tab, and set {Stats}{StatisticsGroup} to the group permitted to run statistics. bin/statistics script from a cron job, once a day is recommended. This will update the WebStatistics topics in all top level webs. (Sub-webs are not processed by default).
apache, www. or nobody on many systems. Verify this before running statistics from the command line or cron. If the ownership of critical files is changed, it can render the Foswiki server inoperable.
0 0 * * * (cd /path/to/bin; ./statistics -subwebs 1 >/dev/null 2>&1) root!
curl or wget tools available on most distributions. These two examples perform the same function using curl and wget in the crontab. You should only use one of them.
0 0 * * * (curl -F webs=Sandbox -F subwebs=1 your.host.com/bin/statistics >/dev/null 2>&1) 0 0 * * * (wget --post-data 'webs=Sandbox&subwebs=1' -O - your.host.com/bin/statistics >dev/null 2>&1)Both
curl and wget can perform http authentication, and can log in if you are using Apache login. See the platform documentation for wget or curl for more information. If using Template login, authentication will not be possible, and the CGI request will run as the WikiGuest user. If you use this workaround, the WebStatistics topics you are updating will have to be writable by WikiGuest, and you cannot add statistics to the {AuthScripts} list
If you do not have curl or wget available on your platform, Foswiki provides a very simple script that can post to or get from a web server. It has no authentication capabilities. tools/geturl.pl in your cron job and specify the URL of the bin/statistics script as a parameter as shown here:
0 0 * * * (cd /path/to/tools; ./geturl.pl POST mydomain.com /urlpath/to/bin/statistics?webs=Sandbox\;subwebs=1 >/dev/null 2>&1)
./statistics -logdate 200605 -webs Userweb,Sandbox -autocreate 1 -subwebs 1
| Parameter | Description | Default |
|---|---|---|
logdate |
Generate statistics for the specified year/month, spacified as YYYYMM |
current month |
webs |
comma-separated list of webs. | all accessible webs |
autocreate |
Flag to request auto-creation of missing WebStatistics topics. 0=false 1=true | (See logging and statistics page in bin/configure.) |
subwebs |
Flag to request processing of subwebs of the requested webs. 0=false 1=true | 0 (Subwebs are not processed) |
bin/statistics script can automatically create the required topics when enabled in the configuration, or when requested by URL Parameter autocreate=1.
Logging and Statistics tab, and set {Stats}{AutoCreateTopic} to Always
Logging and Statistics tab, and set {Stats}{AutoCreateTopic} to Permitted
statistics on one or more webs.
-autocreate 1 to the statistics script as shown above.
Logging and Statistics and set {Stats}{AutoCreateTopic} to Prohibited
bin/statistics script can also be executed as a CGI script, Use the form at the top of this topic to run statistics.
{Stats}{AutoCreateTopic} is enabled in the configuration, or the autocreate parameter is passed to the statistics script, then a new WebStatistics is created using the WebStatisticsTemplate topic found in the first step. autocreate is not requested, and the WebStatistics topic does not exist, then statistics will not be computed for the web.
%INCLUDE% for help text and table headings, and a critical marker line that defines the columns to be recorded by the statistics script. (This allows the help text or headings to be modified without needing to edit every WebStatistics topic.) marker line is found in the topic, statistics are inserted into the topic after the marker line.
marker line is present, but the topic contains existing statistics, the current month is update, or a new month is written after the previous month.
marker line is present and no previous statistics exist, a new line is added to the end of the topic.
Removal of the marker line causes statistics to be gathered in chronological order (oldest first). By default, statistics are reported in reverse chronological order.
Themarker line defines the order of the columns collected by the statistics script. The order of the columns should correspond to the table heading in the DefaultWebStatistics. Default marker line is:
| <!--statDate--> | <!--statViews--> | <!--statSaves--> | <!--statUploads--> | <!--statTopViews--> | <!--statTopContributors--> |
* Set DENYTOPICVIEW = WikiGuest
For existing WebStatistics topics you will need to write these settings manually.
{Stats}{AutoCreateTopic} or add -autocreate 1 to the cron job that runs the statistics script.
WebStatisticsYYYY at year end.
%SEARCH{"." type="regex" topic="%STATISTICSTOPIC%*" excludetopic="%BASETOPIC%" scope="topic" nonoise="on" header="*Other Statistics Topics:*" format=" * $web.$topic"}%
Following these steps will start a fresh statistics topic with a clean revision history.