This Guidebook is the collected wisdom of the W3C Group Chairs and other collaborators.


It happens occasionally that you have been happily taking minutes in IRC and at the end of the meeting discover (oh horror!) that nobody invited RRSAgent! No logs, no minutes… What now?

RRSAgent does three things: keep a log of what is typed in IRC, call a program to turn the log into nice minutes in HTML, and upload the minutes. So, without RRSAgent, you will need to do those three things yourself. How? It depends on your skills, environment and preferences.

Task 1. Find IRC logs

First you need the text that was typed into IRC.

If you can scroll back up in your IRC window, you may be able to find the start of the minutes and copy-paste all text into an editor window or into the online minutes tool (see the next section).

If you were using an IRC program on your own computer (rather than the web interface), it may have kept logs in a file, if you previously configured it to do so. If you can find that log file, you can copy the minutes from there.

And if that doesn't work, maybe somebody else who was in the meeting still has the logs.

Task 2. Convert the log to minutes in HTML

RRSAgent uses a program called scribe.perl to process the text. You can process it yourself in one of two ways: using an online service or by running scribe.perl locally.

To use the online service, go to the Online Minutes Generator. You can copy-paste your text into the text box, or, if you have the text in a file, upload the file. The web service will try to run scribe.perl to turn the text into minutes in HTML and display them. If it succeeds, you can save the page and proceed to task 3. Otherwise some editing may help, see ‘editing the log’ below.

To run scribe.perl locally, you need to download it. You also need to have Perl installed and you need to have access to a command line. Save the text of the minutes into a file (e.g., into ‘log.txt’) and type something like:

perl scribe.perl log.txt > minutes.html

There are various options you can add, e.g., to select the style or to embed scribe.perl's diagnostic messages in the minutes.

Try to open the result, ‘minutes.html’, in a browser to see if the command succeeded. If so, you can proceed to task 3.

✏ Editing the log: If the above didn't produce correct minutes, it may be that scribe.perl didn't recognize the format. The section Input Formats in the manual shows examples of IRC logs that scribe.perl knows. Maybe by editing your log in a text editor you can make it look sufficiently like one of the recognized formats.

Task 3. Upload the minutes

Once you have the minutes, you can send them to a mailing list. If the mailing list is archived, that gives them a URL as well. But it is also good to have them stored in the usual place for minutes under or whatever the current year and month is.

Uploading requires special privileges. Typically, it needs to be done by a team member.

First determine what the URL of the minutes is going to be. The conventional URL is of this form:

Here YYYY, MM and DD represent the year, the month and the day of the meeting and xxx is the name of the IRC channel on which the meeting took place. Some examples:
The W3C Europe teleconference of March 2, 2021, on the &weum IRC channel.
The Event Team meeting of December 1, 2020, on the &events channel.
The Automotive WG on February 2, 2021, on the #auto channel.

Then there are several ways to upload a file.

You can use BlueGriffon. Load the minutes into BlueGriffon and use the PUTter command from the Tools menu. BlueGriffon will ask you for the URL and then for your username and password. (There are also some other editors that know how to do HTTP PUT, such as Kate.)

If you have the curl program, you can use it from a command line. Assuming you put the formatted minutes in minutes.html, the command is:

curl --location-trusted -u myusername -T minutes.html

Where myusername is your username. Curl will prompt for your password.

(The --location-trusted option tells curl to follow redirects. In fact, the server doesn't handle the upload itself, but redirects to That means you could also use this shorter command: curl -u myusername -T minutes.html

A third way is to use CVS to upload the minutes.

Assuming you have already checked out some part of the W3C web site somewhere, first make sure you have the WWW/YYYY/MM directory checked out, e.g., like this: go to the WWW directory (the root of the checked out site) and do this on the command line: mkdir YYYY; cvs add YYYY; cd YYYY; mkdir MM; cvs add MM; cd MM (Replace YYYY and MM with the year and month, as above.) If one or both of the YYYY and MM directories are already checked out, this will give some error messages, but in any case this puts you in the MM directory. (You can of course also use a graphical CVS client.)

Copy the formatted minutes to this directory and name the file DD-xxx-minutes.html. Then check it in with cvs commit DD-xxx-minutes.html from the command line (or the equivalent in your graphical client).

A fourth way is to use WebDav. If your operating system supports the WebDav protocol, or you have a WebDav program, you can connect to and use it almost as if it were a directory on your local system. Under Debian and similar Linux distributions, you need the davfs package and then you can mount the file system (as root) with something like mount -t davfs /mnt. After that, you can find the contents of under /mnt and you can create the file /mnt/YYYY/MM/DD-xxx-minutes.html for your minutes. When using KDE, you don't even need to mount the file system, just type ‘webdavs://’ in the location bar in Dolphin or Konqueror, navigate to the right directory and copy your minutes there. Under MacOS, you can use ‘Go’ → ‘Connect to server’ in the Finder and enter ‘’ in the dialog in order to mount as a file system. If you use Emacs, you also don't need to mount the file system (assuming the tramp package is loaded, which it usually is): You open as a directory by opening ‘/ after which you can navigate to the right directory and create the minutes file there.

Note: If WebDav doesn't show you a directory, or the directory appears empty, although you know that it isn't, the problem is usually that the directory has no access defined. Use the ,access tool to set the directory to Team-only (or some other access, as appropriate).

Bert Bos
$Date: Tue Apr 27 12:54:54 2021 UTC $