Threads is written in the object-oriented BETA programming language.
- What Types of Index Files are Generated?
- What do I need to Generate News Repositories?
- How do I Create a News Repository?
- How do I Maintain the News Repository?
- The Directory Structure of a News Repository
- How do I Regenerate the Index Files?
- I'm curious. How do you Parse the News Articles?
- Threads Development History
- Download Source
The active threads index is similar to the subject index, but includes only those subject lists (or threads) that contain at least one posting less than 14 days old. It is a convenient way to catch up on recent discussions.
If you're interested, you can obtain the source code for the threads news repository system through (ftp).
threads -g group -d dir -s server -m mailwhere "group" is the name of the newsgroup, for which you want a repository, "dir" is a file path, referring to the directory where the news repository should be located, "server" is the name of the NNTP server, from which news articles can be obtained, and finally "mail" is the e-mail address of the person responsible for the news repository.
A more realistic example might thus be
threads -g comp.lang.beta -d ~beta/public_html/News -s news.cs.au.dk -m firstname.lastname@example.org would create a news repository for the "comp.lang.beta" news group. The news repository will be located in the directory "~beta/public_html/News", using the "news.cs.au.dk" NNTP server, and with "email@example.com" as the responsible for the news repository.
The result is this case, that the news repository will be accessible through the URL "https://beta.cs.au.dk/News/"
"dir"/ (the path given as argument -d to threads) index.html volume1996/ active.html (only in the current year) date.html subject.html poster.html news/ (contains one file for each article in 1996) volume1995/ date.html subject.html poster.html news/ (contains one file for each article in 1995) volume1994/ date.html subject.html poster.html news/ (contains one file for each article in 1994)assuming that this news repository have been active in 1994-1996, and that 1996 is the current year.
The active.html, date.html, subject.html, and poster.html files for the current year (here 1996) will be regenerated each time Threads is invoked.
The index.html file is only created first time Threads is invoked. You have to edit it manually to make it refer to new volumes each year.
The automatically generated index.html file is just to give you an idea of how it might look, but you are free to edit it in any way to conform to your wishes - Threads will never modify this particular file - only create a new index.html file, if Threads finds out that it is missing.
One reason for doing this, it is you are doing clean-up of a volume (removing irrelevant news entries from the news/ directory in a volume). You will can then create clean indexes this way.
Another reason might be, that the index files have been destroyed one way or the other.
Date: 1 Jan 1995 12:00:00 GMT Date: Sun, 01 Jan 1995 12:00:00 +0000are both acceptable ways to specify noon, January 1st, 1995. Similarly,
From: firstname.lastname@example.org (Jacob Seligmann) From: "Jacob Seligmann" <email@example.com>will both be classified as postings from "Jacob Seligmann".
The Threads news repository generator has been running for quite some time now, and has been tested on a large number of postings from a wide range of newsgroups. It correctly handles all articles I have yet encountered, but it is quite possible that the heuristics may fail if confronted with exotic field formats I haven't come across. If this happens, please send me a copy of the troublesome article so I can extend the normalisation mechanism accordingly.
The first BETA versions was created by Jacob Seligmann, Aarhus University, firstname.lastname@example.org. These versions used Perl scripts etc. for obtaining the news articles, and required direct access to the news spool directories at the NNTP server machine.
The current version (totally implemented in BETA, and using NNTP protocol for obtaining the articles) is created by Jørgen Lindskov Knudsen, Aarhus University, email@example.com.
ftp://ftp.cs.au.dk/pub/beta/threadsTo compile it, you will need
The Mjølner SystemInstall this and simply compile the threads.bet file: