Article View: demon.ip.developers
Article #213Re: news
From: Terrance Richard Boyes
Date: Fri, 24 Jul 1998 00:00
Date: Fri, 24 Jul 1998 00:00
66 lines
3887 bytes
3887 bytes
Anthony Naggs <URL:mailto:amn@ubik.demon.co.uk> wrote: > Finally my tolerance of Turnpike's quirks has expired. (It trashed my > 'usernews' file, it's record of which articles I've read, etc...) Well any program (or user) may do that anyway... Tin handles it resaonably well in that it at least backs up the list of read articles when you run it. So _usually_ you only lose the last session... > As a little detour whilst looking at other packages, I want to see how > difficult it would be to write my own news reader/collector. Obviously > I have RFC977 (& 850!), but I'm sure there must be supplementary RFC1036 and SORFC1036. And RFC0822 (so you can handle email replies from your newsreader). > material, (eg descriptions of XOVER & XHDR). I'd appreciate suggestions > of what to read & where to find it. :-) Well as far as a news collector goes, and depending on how you want to deal with killfiling and such like isn't too difficult. At least the NNTP side isn't. There are a small number of commands with simple syntax and fairly generic return codes. Of course getting that code to talk to anything else is another matter, and I don't have a clue how easy (or not) that is under Windows. As for XOVER and the like, I'd be interesting in finding any definitive documentation as well![1] I've been looking at adding more killfiling abilities to tin using overview files (if anyone's interested I've got a working sol'n to filtering on Newsgroups: - even when you don't have the crossposted groups in your local newsbase - Path: and Archive-Name:) Another big difference is whether you use NEWNEWS (which gives you a list of msgids to download) or retrieval by article number (which means you have to store a local copy of which article numbers have been downloaded for the machine - as well as individual user copies of what they've read). NB that killfiling is better with XOVER, but NEWNEWS is easier to implement, especially for use with multiple servers (since you only need to store when you last accessed that server, all dupes can be dealt with using a history file). And remember some servers may support a limited set of commands. You may find it useful to look at the source for INN, NNTPd, tin, slrn and the like. And for a relatively simple view of how the NNTP side works, NewNews.cmd which is in the one of the Demon OS/2 setups is a Rexx program and therefore relatively easy to read. Also to cut testing costs down to a minimum it's handy to install a local newsserver. [1] though with a little experimentation most of the syntax for a given server isn't too hard to work out. Writing a newsreader is a different matter... Though there's an obvious relationship. The RFCs tell you about how to collect the news, but not what to do with it. Turnpike et al. tend to store all the news in a single file, many UNIX-originated programs use a file per article. There are various advantages to both methods. -- <URL:http://www.pierrot.co.uk/> Team AMIGA It's not the size of the ship, it's the size of the waves. - Little Richard
Technical Details
Message-ID:
<9807241947.4k9p@pierrot.co.uk>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<vSBoABAkL9t1EwwM@ubik.demon.co.uk>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 10bb05,ea300c1ef086cd2b X-Google-Attributes: gid10bb05,public From: Terrance Richard Boyes <tez@pierrot.co.uk> Subject: Re: news Date: 1998/07/24 Message-ID: <9807241947.4k9p@pierrot.co.uk> X-Deja-AN: 374588981 Distribution: world References: <vSBoABAkL9t1EwwM@ubik.demon.co.uk> X-NaMLServ: $VER: v0.9b <tez@pierrot.co.uk> X-Complaints-To: abuse@demon.net X-Mail2News-Path: news.demon.net!post-11.mail.demon.net!post.mail.demon.net![158.152.185.21]!pierrot.co.uk X-Trace: mail2news.demon.co.uk 901305874 mail2news:6761 mail2news mail2news.demon.co.uk Organization: ECL.net User-Agent: tin/pre-1.4-980618 (AMIGA) Newsgroups: demon.ip.developers