This program helps determine which working group drafts reference particular technologies from other working groups. The goal is to help working groups or directorates catch documents "external" to them, which use standards that they define. The reports generated by this tool help directorates review external drafts, to ensure that they meet "best practices". Without a tool like this, the drafts would have to be searched manually. USAGE ----- The script needs a local copy of all of the internet drafts. This is retrieved by running this command: $ make sync It uses 'rsync' to grab the drafts. It may take 5-10 minutes, depending on your system and network connection. The sync should be done once a day AT MOST. Ideally, once a week. Doing it more often will overload the IETF rsync server. The main program is ietf-tech-report : $ ./ietf-tech-report radius This prints a list of internet-drafts which reference the "radius" technology, and which are outside of the RADEXT and DIME working groups. See the file "tech.txt" for a list of named "technologies", along with their mapping to working groups and WFCs. TECHNOLOGIES ------------ Instead of requiring you to remember lists of RFCs and working groups, this program uses a simple "technology" concept. he technologies are defined in the file "tech.txt". This file should be edited to add whatever data you need about a particular "technology". Lists of RFCs, working groups, etc. The format is pretty simple: NAME -WG -WG #### #### #### NAME = name of the technology. e.g. radius -WG = which working groups to avoid. e.g. -radext -dime #### = RFC number. e.g. 2865 2866 2867 This configuration allows you to just use NAME for a technology, rather than giving a list of RFCs. The ability to exclude working groups comes because we presume that the WG is already aware of its own documents. The purpose of this tool is to find documents in *other* working groups which use a technology. They might not be aware of best practices, and you might not be aware of what they're doing. DETAILED USAGE -------------- The help text is as follows: $ ./ietf-tech-report -h ietf-tech-report [-h] [-i] [-N] [-r LIST] [-W EXCLUDE] tech... -h print this message -i include informative references for the technologies -k keyword(s) to look for -N exclude normative references (default is to include them -r LIST comma-separated list of key RFCs -W EXCLUDE comma-separated list of working groups to exclude The 'tech' is a list of RFCs or technologies to look for. See the file 'tech.txt' for more configuration The program normally reads the "tech.txt" file to get a map of "tech" name to a list of RFCs. e.g. "radius" means RFC 2865, 2866, etc. It then reads the Internet-Drafts, noting which ones have normative reference to the RFCs labeled "radius". Once done, it prints out a list of those drafts, along with the document status. The "-i" command-line option can be used to include drafts which also have "informative" references to the named technology. Using it means that the report contains a more complete list of drafts. The "-N" command-line option can be used to exclude drafts which have normative references to the named technology. Note that some drafts may have both normative and informative references to the relevant RFCs, in which case they are still printed out when "-i -N" is used. The "-r" option is a comma-separated list of RFCs to include in the report of normative references. The "-W" option takes a comma-separated list of working group names to exclude from reports. e.g. $ /ietf-tech-report -r 2865,2866,2867,2868,2869,3162,3575,3579,3580,4675,5080,5090,5176,6158 -W radext,dime This prints out a list of drafts which reference any of the above RFCs, and which are not published by the RADEXT or DIME working groups. It is usually simpler to just use "./ietf-tech-report radius". It is also possible to generate a report by searching for a keyword. Only one keyword can be specified. e.g. -k "performance metric". Searches are case insensitive. SENDING EMAIL ------------- The Makefile can be edited to send a weekly summary to a working group mailing list. To enable this, edit the Makefile, and set the following variables: TECH = radius The technology to search for. FROM = user@example.com The user to send mail "from". TO = wg@ietf.org The name of the working group mailing list. The "FROM" user must be subscribed to the list. Then: $ make mail.txt To make a message suitable for sending to a working group mailing list. The header is in the file "top.txt". Finally send the mail: $ make send CRON ---- I suggest sending email once a week, via a cron job: 22 1 * * 0 /usr/bin/make -s -C /path/to/directory sync send Be warned that the "sync" portion might take 5-10 minutes. You may want to run the "sync" first, and then 15 minutes later, run the "send" portion.