W3Olista: Introduction

This software is a quite powerful tool that will give you complete insight into the access to your Web server. This text will introduce the different methods how to start up the program.


Like with any other software, you must give W3Olista commands, telling the program what it has to do. W3Olista knows a variety of commands that control its behaviour. But, there are many ways to issue the commands. If you run the program from the command line, you give the commands as individual parameters. If you call any specific report, you give the commands in the form of a specially constructed URL. And if you browse reports from the Query Form, W3Olista constucts its commands itself, you merely chose which command to execute by clicking with your mouse.

So keep in mind that I will always refer to a command as a single instruction to the program. Many commands are needed to run the program, and a full working set of commands is either a command line, or a URL.

With CGI programs, there is the interesting feature of the Extra Pathname Information. This is the part of the URL that exceeds the basic pathname of the script. If a script has a basic URL of /cgi/trashcan, and you call the URL /cgi/trashcan/delete/file, then delete/file is the Extra Pathname Information. You need to understand this concept, because it is extensively used here. W3Olista interpretes this extra information as a list of commands to the program. So, to call the program via an URL and simultaneously give it a set of commands, you add the commands, separated by slashes, to the basic URL.

Basic Startup Procedure

There are three different methods to produce a report. First, you can use the Query Form, where you can enter the necessary data online into a form, submit it, and browse the result. Second, you can specially construct commands into an URL, thus eliminating the form input. Third, you can offline-create reports from the command line. Each of this methods has its pros and cons, and its unique method of startup.

Getting to the Query Form

Getting the form is the first example of how to give the program commands via Extra Pathname Information. In order to bring up the Form, you give W3Olista two commands, cgi (tells W3Olista that it is called as a CGI program) and form (the command to bring up the Form). You can always add some more commands to modify its behaviour, but you usually only need these two. So, if you installed the program to have an URL of /cgi/olista, calling /cgi/olista/cgi/form brings up the form.

See below for other general commands.

Startup with a Custom URL

You can generate predefined reports by using a special URL, containing the set of commands that produce the wanted report. But there is a single command you must not forget: html, which instruct W3Olista that it shall not print out self-referencing browseable reports but HTML text. So, the prefix of any such URL is always (assuming the same location as above) /cgi/olista/html.

Startup from the Command Line

If you want to use the program offline, either by running it from the command line, or by executing it remotely from cron, you cannot use the Extra Pathname, simply because shells do not know this concept. Instead, you give each command as a separate parameter to the program (separated by spaces instead of slashes). As with the custom URL, you will also always use the html command to make the program output HTML text. If W3Olista resides, for example, in /usr/local/bin/WWW, then your command line will always begin with /usr/local/bin/WWW/olista html.

Command Details

There are some special characters that you must not use in commands, or at least, use with care. These special cases are the space ' ', the slash '/' and the semicolon ';'. A space causes troubles in all cases, but you can replace it with %20 (the hexadecimal representation). The semicolon can be used without problem in URLs, but is special to the shell and thus it must be escaped if you want to use a semicolon on the command line. The slash cannot be used in URLs, because there it is needed as command separator. And due to a bug in some servers, you also cannot replace it with its hexadecimal representation. Therefore, the dollar sign '$' must be used instead of a slash. This makes the dollar sign unavailable, but it isn't needed anyway.

General Commands

These are general commands that can be used in all cases:
With this command, W3Olista prints out a form to interactively send a comment about this program to the author. This overrides all other commands (save cgi or html, one of these must be given, too).
Sets a different directry where to read logfiles from. It must be given as an absolute path without trailing slash. Multiple directories can be set by separating them with a semicolon. This value overrides the default value set in the Makefile. Remember that you must substitute all the slashes with dollar signs, and escape the semicolons on the command line.
logfile=<file pattern>
The file pattern for logfiles as described here. Again, this command overrides the default value from the Makefile. And don't forget to substitute percent signs with their escape sequence "%25".
filename is read and printed as header before the actual report, containing a custom title, headings and any kind of text. The filename must be given as absolute path, again with the slashes substituted by dollar signs. See here for a description of the required elements in a custom header. If you don't supply a custom header, a default one is used.
filename is read and printed at the bottom of the report. The filename must be given as absolute path, again with the slashes substituted by dollar signs. See here for a description of the required elements in a custom footer. If you don't supply a custom footer, a default one is used.
Our server sometimes gets malformed requests, with the http:// prefix still present, which is quite annoying. This also results in invalid File Links. This switch defaults to Yes, meaning that such prefixes are discarded. But in some other cases, for example when analyzing cache or proxy logs, it makes sense to leave them in; in this case, use CutPrefix=No.
To save time and memory, W3Olista only records host and file information to the needed depth. Unfortunately, this makes a detailed count of Unique Hosts (the individual hosts that have accessed your pages, this is the best possible count of individual users) impossible. Use this command as CountUnique=Yes to re-enable this count. Be aware that this needs plenty extra memory and more time.

Frank Pilhofer <fp -AT- fpx.de> Back to the Homepage
Last modified: Tue Nov 7 16:45:25 1995