DanNews V1.8 10-Dec-97 ------------ This is DanNews, a NNTP and UUCP news unbatcher. Unlike RNews, it's fast and it only takes as much memory as you let it. The bad points are, when compared to RNews: - it can't forward articles on to other sites - it can't handle compressed batch files. These only matter if you get your news feed through UUCP (no problems for NNTP). What you need ------------- Kickstart 2 or above, a news set up that uses the UUNEWS: way of storing news articles, and a batch file (natch). Installing ---------- Do this... - Copy DanNews to somewhere on your path. - Don't delete RNews because some programs may still want to use it. Also don't edit the RNews entry in UULIB:Config to DanNews because DanNews can't post news, it's just an unbatcher. - If it doesn't already exist, create the file UULIB:sitename or UUCP:sitename to hold your full site name (eg. 'ramjam.demon.co.uk') needed for the PATH and XREF options. It doesn't matter which one you use for DanNews, but other tools may require one or the other (e.g. earlier versions of Tin used UUCP:sitename, later versions use UULIB:sitename). Use both if you wish. - Depending on your set up, you may need to alter other scripts which call RNews to call to DanNews instead. Three set ups are below. If yours isn't there and you don't know where the scripts are, CD to your Internet or UUCP software directory and use 'search quick all #? RNews' to find out. Some will be binary files and you can ignore them. Some scripts may not need editing - definitely not the ones which post articles. - Change the options if you like. The DELETE option can save a lot of grief. YOU MUST READ ABOUT THE -H OPTION BELOW OR YOU COULD LOSE YOUR HARD DRIVE PARTITION! - It's done. Scripts to alter when installing -------------------------------- For AmigaDIS set up (version 3 or above)... - Not much to do, since DanNews is used anyway. If you want to change the options, the call to DanNews is in the DIS:C/NewsRead file. Type ReProtect afterwards if your editor messed around with the protection bits. For AmigaDIS set up (version 2 or below)... - Edit DIS:Read_News and replace RNews with DanNews. Type 'Protect Read_News srwd' afterwards if your editor messed around with the protection bits. For AmiTCP-DIS set up... - Edit AmiTCP:bin/NNTPTransfer and replace RNews with DanNews. Type 'Protect NNTPTransfer srwd' afterwards if your editor messed around with the protection bits. - If you use PLink to dial up Demon instead of the normal Link than you'll have to edit that instead. And protect it afterwards, mind. Options ------- DanNews FILE,BLIP/K/N,CACHE/K/N,DELETE/S,DELETEOVERVIEW/S,PATH/S,STATS/S, XREF/S,-1/S,-H/S,-N/S,-T/K Normal shell options. Give the option if you want to use it otherwise miss it out and some default will be used instead. The options beginning with '-' are compatible with RNews, by the way. If you're not sure about the /LETTER stuff, /K/N means give a number after the option name, /K means give a string after the option name, and /S means just give the option name if you want to use it. FILE doesn't have anything after it 'cos it's special, bless it. Full list of options -------------------- Firstly, the file options. These are about how DanNews gets at the articles to unbatch and how it stores the unbatched articles. Usually you'll give it a batch file, but it'll accept standard input or piped stuff too. This means that other programs can do something exciting to the articles before passing them onto DanNews... - FILE The file to unbatch. If you don't give a file then standard input is used instead. This means that other programs can re-direct or pipe stuff to it. But it's slower. - DELETE/S Delete the batch file after a successful unbatch but keep it there if there was an error. If you run a script from a Workbench icon to unbatch any new news and delete the batch file afterwards then it's probably a good idea to remove the delete command and set this switch instead. That way you have a chance to see what's wrong instead of watching in horror as IconX carefully deletes your last news download. - DELETEOVERVIEW/S Found out by accident that Tin 1.3 beta seems a lot faster if you delete the .overview files and let it recreate them from scratch after each news unbatch. So, I added a new option to do this. - -N/S Don't bother unbatching the file, but run through the program anyway. Maybe useful if you want to test if the batch file's corrupt without using hard disk space or to see how big the unbatch will be with the STATS option or something. - -T/K If you unbatch from standard input then a tempory work file is made in T:. You can change the directory of the work file by using this though - maybe to disk if you're short of memory. If you're not using standard input it's ignored. This is slightly different to RNews' -T. Next, the memory option. You can limit the amount of memory DanNews uses with this - either if you haven't got much memory or you want to be sure of being able to run other things as well as DanNews at the same time... - CACHE/K/N The maximum amount that it can allocate to the cache. If it's positive then the cache will not go above that size - it could very well be less. If it's negative then the cache will be at most that much less than the largest block of memory you have (check with 'Avail'). The default is -100000. Now the display options. What appears on screen whilst you're twiddling your thumbs (or whatever else) when the unbatching happens... - BLIP/K/N Shows a display of how long there is to go before the unbatch is finished. The number is how many articles are unbatched before the display's updated. Not enough and you might slow down the computer with too much printing on the screen. Too much and it's not very useful. I use 50. - STATS/S Display some statistics for each group when the unbatch has finished. If you're a trainspotter you can re-direct these into a log file by using the '>>filename' thing (see examples). For each newsgroup, the following statistics are provided: Number the number of articles for this group Xposts the number of articles cross-posted into this group Bytes the total number of bytes unbatched to this group Largest the size in bytes of the largest article unbatched to this group Next the crossposting options. Crossposting means exactly the same article appearing in more than one group. You can tell when an article's crossposted when there's more than one name in the 'Newsgroups' header. Some people send a separate copy of the article to each group separately, there's not much DanNews can do about that. There are three crossposting options - one gives your newsreader more details so it can do something clever with crossposted articles, one stops problems with dodgey file systems, and one turns off crossposting... - XREF/S Switch on cross referencing. This means DanNews makes 'Xref' headers that let your newsreader keep track of all the groups crossposted articles appear in. After that it's up to your newsreader - if yours supports Xref then it'll probably mark the article as read in all the other groups as well as the group you've just read it in so you don't bump into it later. You have to have your site name set up properly for this to work. - -H/S Disable hardlinks. They're useful because the second, third, and so on copies of articles in the 'Newsgroups' header are really only pointers to the original, not complete copies. That means that only a few of bytes of disk space are used instead of a few K. But if you don't use a file system that supports hardlinks (ie. not FFS or AFS) then you get problems instead. PROBLEMS CAN MEAN ANYTHING UP TO LOSING YOUR HARD DRIVE PARTITION. OFS AND DC-FFS DON'T WORK PROPERLY WITH HARDLINKS - YOU MUST USE -H IF THE ARTICLES ARE UNBATCHED TO A HARD DRIVE PARTITION THAT USES OFS OR DC-FFS! - -1/S Turn off crossposting. Only unbatches the article to the first group in the 'Newsgroups' header (or if that one isn't in UULIB:Newsgroups then go through the header and find the first one which is and unbatch to that group instead). The disadvantage with this is that you stand more chance of missing the article unless you read every single article in every single newsgroup. If you're quick you'll have realised that there'll never be hardlinks (no -H) or more than one copy (-H) because there's never any crossposting. But set up -H properly now in case you remove -1 and forget about -H in the future. Now the Path option. If anyone knows of a use for this let me know... - PATH/S Alters the 'Path' header so that your site is put on last in the list. You have to have your site name set up properly for this to work. Examples -------- Show a progress display which is updated too much, delete the batch file afterwards if there weren't any errors in it, and disable hardlinks... - DanNews TCPIP:Spool/News/batch blip 1 delete -h Use at most 100K for the cache, update the 'Path' header, and generate cross references for your newsreader... - DanNews TCPIP:Spool/News/batch cache 100000 path xref Make sure the cache leaves at least 500K free in the largest block of memory, display some statistics at the end, and run through the program but don't unbatch the file... - DanNews TCPIP:Spool/News/batch cache -500000 stats -n Unbatch from a pipe, send the statistics to a log file, and use a tempory directory on the hard drive as a work file... - DanNews >Work:LogDir/DanNewsLog Hints 'n' stuff --------------- There are hints on the junk group, download errors, cache, and the control group. But firstly... - YOU MUST READ ABOUT THE -H OPTION ABOVE OR YOU COULD LOSE YOUR HARD DRIVE PARTITION! Junk group hints... - The junk group is where articles go when the they're in none of the other groups listed in UULIB:Newsgroups (or UULIB:DanNewsGroups). - If you're lazy and were hoping to subscribe to many groups in one go by using pattern matching (eg. alt.music.*) then think again, you've got to list each group separately. Download error hints... - DanNews 1.8 onwards should be *very* resilient when it comes to corrupt batch files caused by failed downloads. If you do come across a problem, please report it! Please keep a copy of the batch file if at all possible, as it makes finding the problem a lot easier. - To correct a corrupt batch file manually you have to delete the corrupt article from it. You can do this by loading it into an editor which doesn't alter spaces to tabs or tabs to spaces (this is important), like CygnusEd and MEmacs. Next you have to remove the corrupt article(s) by deleting all the lines from the '#! rnews ' before the corruption, up to (but not including) the next '#! rnews '. Save and try again. Hopefully it'll work. Cache hints... - The cache is at least the size of the largest article in the batch file (if there's not this amount of memory free then DanNews will stop with an error). At most it'll almost fill the largest block of memory you have. Just how big it really is depends on how much free memory there is and how big the batch file is - it doesn't HAVE to be any bigger than the largest article but the more cache you have the faster DanNews will be. - If you haven't got much memory or you want to limit the amount taken up by DanNews so you can be sure of being able to use other programs at the same time then you can use the CACHE option. The - number will probably be better if you haven't got much memory, the + number will probably be better if you have. - If you download binaries and you're short of memory then you may get memory errors until you set up the cache to the best size. If you get an error saying that there's not enough memory for the cache then just increase it (unless you haven't got the memory for it, in which case there's a problem). If it's one saying that there's not enough memory for the header buffer then DECREASE the cache a bit. - If you're memory's been fragmented (if you've been using a lot of programs or you've been on-line for a while or whatever) then do the usual trick of closing windows, using 'Avail flush' from the shell, and trying again. If that doesn't work reset the computer and try again. If that doesn't work decrease the cache and try again. If that doesn't work... Control group hints... - The program can unbatch control messages. If a message has a 'Control' header then it's unbatched to control., for example control.newgroup or control.rmgroup. But you've also got to put the group names of the control messages you're bothered about into UULIB:Newsgroups (or UULIB:DanNewsGroups) otherwise they'll get thrown into junk. The full list of control messages are cancel, ihave, sendme, newgroup, rmgroup, sendsys, version, and checkgroups. - If you want, you can list some more groups in UULIB:DanNewsGroups. It's in the same format as UULIB:Newsgroups. It lets you define groups that you don't want your newsreader to show or your news poster to send out to Usenet (eg. control groups). But remember that TrimNews doesn't trim the groups listed in UULIB:DanNewsGroups, so you've got to sort that one out yourself. Bugs ---- (Not so much a bug, more of a feature): If you hit CTRL-C then you'll interrupt the unbatching before the .next files have been updated, so if you unbatch again you overwrite all of the articles that were created during the interrupted unbatch. But then again this isn't so bad 'cos you don't get duplicate articles if you unbatch the same batch file again (which you probably will do). Disclaimer ---------- If it trashes your news or blows up your computer or destroys the fabric of the universe or something then consider yourself warned. Use at your own risk and all that. Acknowlegements --------------- Thanks to Dan for versions up to and including DanNews 1.4. Support ------- DanNews is now supported by Tim Corringham at Ramjam Consultants Ltd. The most recent version will always be available on our web site: http://www.ramjam.demon.co.uk/ Please send any problem reports, comments, suggestions etc. to: support@ramjam.demon.co.uk Many of the changes that have been made have been the result of user comments and suggestions - so please let us have your comments! Enjoy!