home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 10 / AU_CD10.iso / Internet / PD / News_Email / Newshound / !NewsHound / Docs / HowItWorks < prev    next >
Text File  |  1998-08-17  |  3KB  |  91 lines

  1.  
  2. Overview
  3. ========
  4.  
  5. When you do a news fetch, NewsHound does the following things:
  6.  
  7. * connects to news server
  8. * gets date and time from server ('DATE')
  9. * posts any waiting articles ('POST')
  10. * fetches any article bodies that have been requested ('ARTICLE <msg-id>')
  11. * fetches any newly created news groups ('NEWGROUPS last-fetched-date')
  12. * fetches any new news articles ('GROUP','XOVER','HEAD','ARTICLE')
  13. * fetches active/desc lists,if requested ('LIST', 'LIST NEWSGROUPS')
  14.  
  15. The text is bracket is the NNTP command(s) used for that operation.
  16.  
  17.  
  18. Fetching news articles
  19. ======================
  20.  
  21. The following sequence is repeated for each newsgroup, I'll use csa.announce
  22. as an example:
  23.  
  24. ( >> = sent to server, << = received from server )
  25.  
  26. >> GROUP comp.sys.acorn.announce
  27. << 211 (184 974 1170 comp.sys.acorn.announce)
  28.  
  29. From this, NewsHound knows there are 184 articles in csa.announce, numbered
  30. from 974 to 1170.
  31. NewsHound now checks to see the last article it fetched from the newsgroups.
  32. For this example, lets say we've seen articles upto number 1167.
  33. NewsHound then knows it hasn't seen articles 1168-1170, so it sends:
  34.  
  35. >> XOVER 1168-1170
  36. << 224 data follows
  37. << 1168    New Releases from Skullsoft
  38.            Skullsoft <Skullsoft@eganc.demon.co.uk>
  39.            Sun, 16 Aug 1998 15:00:23 +0100
  40.            <ap.fa97164876.a701a0a.m.conroy@argonet.co.uk>
  41.            
  42.            2765
  43.            67
  44.            Xref: bluetac.blob.uk comp.sys.acorn.announce:1168
  45. << 1169    AlphaSave 1.25
  46.            Marc Warne <marc@alphapro.demon.co.uk>
  47.            Sun, 16 Aug 1998 17:22:21 +0100
  48.            <ap.b29b974876.a701a0a.m.conroy@argonet.co.uk>
  49.            
  50.            2615
  51.            53
  52.            Xref: bluetac.blob.uk comp.sys.acorn.announce:1169
  53. << 1170    Contributors Wanted!
  54.            Acorn Arcade (webmaster) <webmaster@acornarcade.com>
  55.            Sun, 16 Aug 1998 21:10:50 +0100
  56.            <ap.1cb5344876.a701a0a.m.conroy@argonet.co.uk>
  57.            
  58.            2237
  59.            41
  60.            Xref: bluetac.blob.uk comp.sys.acorn.announce:1170
  61. (line wrapped for readability)
  62.  
  63. The information the server has sent back is a summary of the article header,
  64. including:
  65.  
  66. * Article number within group
  67. * Subject
  68. * Author
  69. * Date
  70. * Message id
  71. * References (empty in all above articles)
  72. * Size in bytes
  73. * Length in lines
  74. * Optional fields, normally 'Xref:' showing groups article is posted to.
  75.  
  76. [It is no coincidence that the items on this list are exactly the same as
  77. the fields NewsHound lets you use within the rulefile!]
  78.  
  79. NewsHound then checks to see if it already has this article, and runs
  80. it through the rulefile to decide if it wants to download it or not.
  81. There's four possible outcomes from the rulefile code:
  82.  
  83. * None  -> skip to next article
  84. * Xover -> Generate pseudo header with information we already have
  85. * Head  -> fetch header from news server ('HEAD msg-no')
  86. * Art   -> fetch compile article from newsserver ('ARTICLE msg-no')
  87.  
  88. This is repeated for each article NewsHound hasn't seen.
  89. Once each article has been fetched, it's message id is added to the list
  90. we have downloaded, and the 'last seen' article number is updated.
  91.