Home | Gifts

TWiki Site Tools

Utilities for searching, navigation, and monitoring site activity

TWiki Site Tools include utilities for navigating, searching and keeping up with site activity. Preferences can be configured by web or site-wide. You are currently in the TWiki web. In particular, TWiki provides two highly configurable, automated site monitoring tools, WebNotify, to e-mail alerts when topics are edited, and WebStatistics, to generate detailed activity reports.

On this page:

WebNotify - recent changes alert

Each TWiki web has an automatic e-mail alert service that sends a list of recent changes on a preset schedule, like once a day. Users can subscribe and unsubscribe using WebNotify in each web. The Perl script 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.

Web Changes Notification Service

Each TWiki web has an automatic e-mail notification service that sends you an e-mail with links to all of the topics modified since the last alert.

TIP Tip: Instead of subscribing here, it is easier to "watch" topics of interest. Watching topics gives you the choice of immediate notification or digest notification.

Users subscribe to email notifications using their WikiName or an alternative email address, and can specify the webs/topics they wish to track, Whole groups of users can also be subscribed for notification.

The general format of a subscription is:

three spaces * subscriber [ : topics ]

Where subscriber can be a WikiName, an E-mail address, or a group name. If subscriber contains any characters that are not legal in an email address, then it must be enclosed in 'single' or "double" quotes. Please note that the guest user TWikiGuest does not have an email address mapped to it, and will never receive email regardless of the configuration of that user.

topics is an optional space-separated list of topics:

Users may further customize the specific content they will receive using the following controls:

Examples: Subscribe Daisy to all changes to topics in this web.

   * daisy.cutter@flowers.com
Subscribe Daisy to all changes to topics that start with Web.
   * daisy.cutter@flowers.com : Web*
Subscribe Daisy to changes to topics starting with Petal, and their immediate children, WeedKillers and children to a depth of 3, and all topics that match start with Pretty and end with Flowers e.g. PrettyPinkFlowers
   * DaisyCutter: Petal* (1) WeedKillers (3) Pretty*Flowers
Subscribe StarTrekFan to changes to all topics that start with Star except those that end in Wars, sInTheirEyes or shipTroopers.
   * StarTrekFan: Star* - *Wars - *sInTheirEyes - *shipTroopers
Subscribe Daisy to the full content of NewsLetter whenever it has changed
   * daisy@flowers.com: NewsLetter?
Subscribe buttercup to NewsLetter and its immediate children, even if it hasn't changed.
   * buttercup@flowers.com: NewsLetter! (1)
Subscribe GardenGroup (which includes Petunia) to all changed topics under AllnewsLetters to a depth of 3. Then unsubscribe Petunia from the ManureNewsLetter, which she would normally get as a member of GardenGroup:
   * GardenGroup: AllNewsLetters? (3)
   * petunia@flowers.com: - ManureNewsLetter
Subscribe IT:admins (a non-TWiki group defined by a custom user mapping) to all changes to Web* topics.
   * 'IT:admins' : Web*
In addition to single quotes ('), double quotes (") do the same job for a non-TWiki group.

A 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 about changes that topic once (though they will still receive individual mails for news topics).

If a group is listed for notification, the group will be recursively expanded to the e-mail addresses of all members.

ALERT! Warning: Because an email address is not linked to a user name, there is no way for TWiki to check access controls for subscribers identified by email addresses. A subscriber identified by an email address alone will only be sent change notifications if the topic they are subscribed to is readable by guest users. You can limit what email addresses can be used in WebNotify, or even block use of emails altogether, using the {MailerContrib}{EmailFilterIn} setting in =configure.

TIP 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 %USERSWEB% instead of Main, but this is not necessary even if you have renamed the main web by configuring {MainWebName} in configure.

WebSearch - search TWiki site

WebSearch is an extremely fast and flexible search facility, part of the core TWiki feature set. WebSearchAdvanced offers more options, including:

See also: SearchHelp for help; TWikiVariables and FormattedSearch for including hard-coded searches in text.

WebChanges - what's new

To check for the most recently edited topics while on-site, use the WebChanges link, usually located in the toolbar. It lists the most recently modified topics, newest first, along with the first couple of lines of the page content.

This is simply a preset SEARCH. The number of topics listed by the limit parameter.:

%SEARCH{
 ".*"
 web="TWiki"
 type="regex"
 nosearch="on"
 sort="modified"
 reverse="on" 
 limit="50"
}%

WebRss and WebAtom - news feeds on recent changes

You can point your news reader at WebRss and WebAtom to find out what is new in a TWiki web. WebRssBase and WebAtomBase have the details. Like WebChanges, this is based on a %SEARCH{}%.

WebIndex - list of topics

WebIndex lists all web topics in alphabetical order, with the first couple of lines of text. This is simply a preset SEARCH:

%SEARCH{
 "\.*"
 scope="topic"
 type="regex"
 nosearch="on"
}%

WebStatistics - site statistics

You can generate a listing manually, or on an automated schedule, of visits to individual pages, on a per web basis. Compiled as a running total on a monthly basis. Includes totals for Topic Views, Topic Saves, Attachment Uploads, Most Popular Topics with number of views, and Top Contributors showing total of saves and attachment uploads. Previous months are saved.

TIP You can create a WebStatistics link using TWikiVariables with %STATISTICSTOPIC%

TWiki also generates overall site usage statistics in Main.SiteStatistics (do not create that page, it is created automatically based on SiteStatisticsTemplate). On a monthly basis, the following items are recorded using system data and TWiki log data across all webs: Number of webs, number of topics, number of attachments, number of topic views, number of topic updates, number of files uploads, data size, pub size, disk use, number of users, number of groups, number of plugins installed compared to total number of plugins available, and the 10 top contributors.

Configuring for automatic operation

When running from the command line or a cron job, you can pass parameters to the script like this:

cd twiki/bin; ./statistics -logdate 2011-05 -webs TWiki,Sandbox

Generating statistics manually by URL

The maximum number of items in columns

There are columns having a list of items. The maximum number of items listed in a column is specified as follows.

Topic Column and part Configuration parameter Default
WebStatistics of webs Affiliation breakdown in "Topic views", "Topic saves", and "File uploads" columns {Stats}{TopAffiliation} 10
"Most popular topic views" column {Stats}{TopViews} 10
"Top viewers" column {Stats}{TopViewers} 10
"Top contributors for tpoic save and uploads" column {Stats}{TopContrib} 10
Main.SiteStatistics The list of webs viewed the most number of times in the "Webs Viewed" column {Stats}{SiteTopViews} 0
The list of webs updated the most number of times in the "Webs Updated" column {Stats}{SiteTopUpdates} 0
Affiliation breakdown in "Topic Views", "Topic Saves", and "File Uploads" columns {Stats}{SiteTopAffiliation} 10
"Top Viewers" column {Stats}{SiteTopViewers} 10
"Top Contributors" column {Stats}{SiteTopContrib} 10

Affiliation breakdown of views, saves, and uploads

If you run TWiki in an orgaization, you may want to see division breakdown of topic views, topic saves, and file uploads - in a month, how many topic views are there from the R&D division, the Sales division, etc.

You can have affiliation breakdown at the Topic views, Topic saves, and File uploads columns of WebStatistics and SiteStatistics as follows.

Month: Topic
views:
Topic
saves:
File
uploads:
Most popular
topic views:
Top viewerss: Top contributors for
topic save and uploads:
2013-08 10325
(150 unique users)
6921 R&D
1736 Operation
  927 Sales
  623 Management
    98 Unknown
7
(3 unique users)
7 R&D
3
(1 unique users)
3 R&D
6941 WebHome
  872 WebSearch
  848 ToolSiteMap
  376 ToolDashboard
  223 WebSearchAdvanced
  185 ContRequests
  127 WebTopicList
    89 ToolPersonalWebs
    72 ToolMasquerading
    70 TWikiAdminUser
525 PeterThoeny
  49 MahiroAndo
    9 HdeyoImazu
5 HdeyoImazu
1 MahiroAndo
1 PeterThoeny

Affiliation breakdown is turned off by default. To turn it on, you need to do two things.

  1. Provide getAffiliation($cUID) object method in the current user mapping handler. It's supposed return the affiliation (division, department, etc.) of the $cUID. If the affiliation is unknown, it returns undef.
  2. Set {Stats}{Breakdown} configuration papameter true by putting the following line in lib/LocalSite.cfg.
    $TWiki::cfg{Stats}{Breakdown} = 1;
    

Excluding some webs from WebStatistics update

You can exclude webs from WebStatistics update by specifying {Stats}{ExcludedWebRegex} config parameter as follows.

$TWiki::cfg{Stats}{ExcludedWebRegex} = '^(Trash(x\d+x)?\d*|Sandbox\d*)\b';

You may wonder when this is needed.

There are webs not worth updating WebStatistics such as the Trash web. When a web is deleted, it becomes a subweb of the Trash web. By default, not only the Trash web but also subwebs of the Trash web are subject to WebStatistics update.

On a large TWiki site, you may have dozens of Trash webs - you may rotate Trash webs and you may be UsingMultipleDisks (each disk requires its own Trash - e.g. Trashx1x and Trashx2x). If you have Trash, Trash1, ..., Trash10 for rotation and if you use 3 disks for TWiki, you end up having 33 Trashes.

Preventing WebStatistics and SiteStatistics from growing big

WebStatistics topics grow in size every month. By default you have only 10 lines per month, but you may have a lot more. If so, in 5 years, WebStatistics gets really big. Besides, if you run the statistics script every day, you increase the revision of each WebStatistics by one every day. If a topic has hundreds of revision, some operations such as getting the original creator of the topic takes long.

There is an option to prevent the boundless growth of WebStatistics. If you set $TWiki::cfg{Stats}{TopicPerYear} true, the statistics script writes the result to WebStatisticsYYYY where YYYY is the current year (e.g. WebStatistics2024) instead of WebStatistics. The parameter is false by default.

The description above is applied to Main.SiteStatistics as well. If {Stats}{TopicPerYear} is true:

Upgrade from pre 6.0

Statistics topic conversion

There are several changes made to WebStatistics and SiteStatistics. If existing statistics topics are kept as they are, topic update by the statistics script doesn't work well. By running tools/convert_stats_twiki6 after upgrade, all statistics topics are converted for the current version of statistics.

Top Contributors on SiteStatistics

The number of contributors listed on the "Top Contributors" column on SiteStatistics is specified by {Stats}{SiteTopContrib}. Prior to TWiki 6.0, it was specified by {Stats}{TopContrib}. If you have a custom {Stats}{TopContrib} value, you need to set {Stats}{SiteTopContrib} as well. Otherwise, the number of "Top Contributors" on SiteStatistics becomes the default value, which is 10.

Log Files

TWiki generates monthly log files which are used by the statistics script

E-mail

Configuring outgoing mail

Outgoing mail is required for TWikiRegistration and for recent changes alert.

TWiki will use the Net::SMTP module if it is installed on your system. Set this with the {SMTP}{MAILHOST} setting in configure.

You can use an external mail program, such as sendmail, if the Net::SMTP module is not installed or not functioning properly. Set the program path in {MailProgram} and set {SMTP}{MAILHOST} to an empty value in configure.

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.

Setting the automatic e-mail 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
0 1 * * * (cd /path/to/twiki; perl -I bin tools/mailnotify -q)
The above line will run mailnotify nightly at 01:00. The -q switch suppresses all normal output. Details at MailerContrib.

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.

Site Permissions

Backup and Restore

TWiki has a solution to backup, restore and upgrade TWiki sites. It can be used via browser and on the command line. The BackupRestorePlugin is pre-installed in TWiki-5.1 and later releases; it can be installed in older TWiki releases as low as TWiki-2001-09-01 (Athens Release) to easily create a backup that can be restored on a new TWiki release. This offers an easy upgrade path for TWiki. See also TWikiUpgradeGuide.

Help with crontab

The crontab command is used to schedule commands to be executed periodically.

Related Topics: AdminDocumentationCategory, AdminToolsCategory

-- Contributors: TWiki:Main.MikeMannix, TWiki:Main.PeterThoeny, TWiki:Main.CrawfordCurrie, TWiki:Main.KennethLavrsen, TWiki:Main.SvenDowideit

Revision r20 - 2013-10-13 - 10:29:54 - TWikiContributor Edit