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 Web Notify in each web. The Perl scriptmailnotify 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.
- You can create a Web Notify link using TWiki Variables with
%NOTIFYTOPIC%
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. 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.
topics is an optional space-separated list of topics: - ... without a Web. prefix
- ...that exist in this web.
- Using wild-card character in topic names - You can use
*in a topic name, where it is treated as a wildcard character. A*will match zero or more other characters - so, for example,Fred*will match all topic names starting withFred,*Fredwill match all topic names ending withFred, and*will match all topic names. - Unsubscribing to specific topics - Each topic may optionally be preceded by a '+' or '-' sign. The '+' sign means "subscribe to this topic". The '-' sign means "unsubscribe" or "don't send notifications regarding this particular topic". This allows users to elect to filter out certain topics. Topic filters ('-') take precedence over topic includes ('+') i.e. if you unsubscribe from a topic it will cancel out any subscriptions to that topic.
- Including child-topics in subscription - Each topic may optionally be followed by an integer in parentheses, indicating the depth of the tree of children below that topic. Changes in all these children will be detected and reported along with changes to the topic itself. Note This uses the TWiki "Topic parent" feature.
- Subscribing to entire topic ("news mode") - Each topic may optionally be immediately followed by an exclamation mark ! or a question mark ? with no intervening spaces, indicating that the topic (and children if there is a tree depth specifier as well) should be mailed out as complete topics instead of change summaries. ! causes the topic to be mailed every time even if there have been no changes, and ? will mail the topic only if there have been changes to it. One can limit the content of the subscribed topic to send out by inserting %STARTPUBLISH% and %STOPPUBLISH% markers within the topic. Note that "news mode" subscriptions require a corresponding cron job that includes the "-news" option (see details).
* daisy.cutter@flowers.comSubscribe 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*FlowersSubscribe StarTrekFan to changes to all topics that start with
Star except those that end in Wars, sInTheirEyes or shipTroopers.
* StarTrekFan: Star* - *Wars - *sInTheirEyes - *shipTroopersSubscribe 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 Garden Group? :
* GardenGroup: AllNewsLetters? (3) * petunia@flowers.com: - ManureNewsLetterSubscribe
IT:admins (a non-TWiki group defined by an alternate user mapping) to all changes to Web* topics.
* 'IT:admins' : Web*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. __
{MailerContrib}{EmailFilterIn} setting in =configure.
%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
Web Search is an extremely fast and flexible search facility, part of the core TWiki feature set. Web Search Advanced offers more options, including:- topic title or full-text search
- regular expressions
- search within web or site-wide
- index-style A-Z alphabetical listing sorted topic title
- many more
WebChanges - what's new
To check for the most recently edited topics while on-site, use the Web Changes 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 presetSEARCH. The number of topics listed by the limit parameter.:
%SEARCH{ ".*" web="TWiki" type="regex" nosearch="on" order="modified"
reverse="on"
limit="50" }%
WebRss and WebAtom - news feeds on recent changes
You can point your news reader at Web Rss and Web Atom to find out what is new in a TWiki web. Web Rss Base and Web Atom Base have the details. Like Web Changes, this is based on a%SEARCH{}%.
WebIndex - list of topics
Web Index lists all web topics in alphabetical order, with the first couple of lines of text. This is simply a presetSEARCH:
%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.- You can create a Web Statistics link using TWiki Variables with
%STATISTICSTOPIC%
Configuring for automatic operation
- You can automatically generate usage statistics for all webs. To enable this:
- Make sure variable {Log}{view}, {Log}{save} and *{Log}{upload} in are set in configure. This will generate log file entries (see below).
- The Web Statistics topic 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/statisticsscript from a cron job, once a day is recommended. This will update the Web Statistics topics in all webs. - Attention: The script must run as the same user as the CGI scripts are running, which is user
nobodyon many 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 utilitytwiki/tools/geturl.plin your cron job and specify the URL of thetwiki/bin/statisticsscript as a parameter. Example:
0 0 * * * (cd /path/to/twiki/tools; ./geturl.pl mydomain.com /urlpath/to/twiki/bin/statistics >/dev/null 2>&1) - NOTE:
geturl.plwill do a TWiki CGI request as the TWikiGuest user, so if you use this workaround, the WebStatistics topics you are updating will have to be writable by TWikiGuest.
./statistics -logdate 200605 -webs TWiki,Sandbox
Generating statistics manually by URL
- The
twiki/bin/statisticsscript can also be executed as a CGI script, just enter the URL in your browser. Examples:- Update current month for all webs you have access to:
/bin/statistics - Update current month for Main web only:
/bin/statistics/Main - Update Jul 2010 for Main web:
/bin/statistics/Main?logdate=201007 - Update Jul 2010 for the ProjectX, ProjectY and ProjectZ webs:
/bin/statistics?logdate=201007;webs=ProjectX,ProjectY,ProjectZ
- Update current month for all webs you have access to:
Log Files
TWiki generates monthly log files which are used by the statistics script- The log file is defined by the {LogFileName} setting in configure
- The file name is
log<year><month>.txt - Example path name:
twiki/logs/log201007.txt - Each access gets logged as:
| <time> | <wikiusername> | <action> | <web>.<topic> | <extra info> | <IP address> | - Example log entry:
| 29 Jul 2010 - 10:49 | TWiki Guest | view | Web Rss | | 66.124.232.02 | - Actions are logged if enabled in configure by the {Log}{action} flags
- Logged actions:
Script Action name Extra info attach attachwhen viewing attach screen of previous uploaded attachment: filenamechanges changesedit editwhen editing non-existing topic: (not exist)rdiff rdiffhigher and lower revision numbers: 4 3register regstartWikiUserName, e-Mail address, Login Name: user attempts to registerregister registerE-mail address: user successfully registersregister bulkregisterWikiUserName of new, e-mail address, admin ID rename renamewhen moving topic: moved to Newweb.NewTopicrename movewhen moving attachment: Attachment filename moved to Newweb.NewTopicsave savewhen replacing existing revision: repRev 3
when user checks the minor changes box:dontNotify
when user changes attributes to an exising attachment:filename.extsave cmdspecial admin parameter used when saving search searchsearch string upload uploadfilename view viewwhen viewing non-existing topic: (not exist)
when viewing previous topic revision:r3
Configuring outgoing mail
Outgoing mail is required for TWiki Registration and for recent changes alert. TWiki will use theNet::SMTP module if it is installed on your system. Set this with the SMTPMAILHOST variable in TWiki Preferences.
The notify e-mail uses the default changes.tmpl template, or a skin if activated in the TWiki Preferences.
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.
You can use an external mail program, such as sendmail, if the Net::SMTP module is not installed. Set the program path in {MailProgram} in configure.
-
Net::SMTP can be easily disabled (if there is an installation error) by setting SMTPMAILHOSTin TWiki Preferences to an empty value.
-
You can set a separate SMTPSENDERHOSTvariable to define the mail sender host (some SMTP installations require this).
Setting the automatic e-mail schedule
For Unix platforms: Edit thecron 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/bin; ./mailnotify -q)The above line will run mailnotify nightly at 01:00. 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: You can use a scheduled task if you have administrative privileges. TWiki:Codev/CronTabWin is a free scheduler for Windows.
Site Permissions
- TWiki Access Control describes how to restrict read and write access to topics and webs, by users and groups
- Site Permissions lists the permissions settings of the webs on this TWiki site
Help with crontab
The crontab command is used to schedule commands to be executed periodically.- Wikipedia.org:Crontab - crontab documentation
- pycron - crontab for Windows
| Topic TWikiSiteTools . { Edit | Attach | Backlinks: Web All webs | Printable | History: r14 < r13 < r12 < r11 < r10 More } |