What's New in AllNews Version 1.30 Build Date Aug 30, 1998 --------------------------------------------------------------------- OutBox function The bulk of the effort in AllNews Version 1.30 went to support of EMail and posting. EMail was not previously implemented; posting previously dropped a file into the byte basket and mailed it invisibly at a later time, with no obvious indication of success or failure. Now EMails and Posts are stored in an "OutBox", where they can be queried and manipulated. The OutBox is available from the main toolbar and main menu. Only outbound EMail is supported by AllNews; you will still need another client program to check your incoming email. Users accustomed to creating Fnnnnnnn.PST files and posting them from the "temp files" directory can continue to do so by the Files | Post Queued menu sequence. One key difference between the *.PST files and the OutBox (*.OUT) is that the *.PST files are deleted when AllNews thinks that the message has been successfully posted. It is not always possible to determine programatically that transmission was succesful. At connect, AllNews checks for *.PST files and OutBox messages that have not been successfully sent to all servers. If it finds any, the user is then asked whether he wishes to send them. At this time, or when the user selects Files | Post Queued, all *.PST files are submitted to each server configured for posting; OutBox messages are sent to those servers that have not yet been successfully sent to. OutBox messages are retained until they are expired from the OutBox, or until they are explicitly Purged. The text of a Deleted message can be recovered by undeleting the message (provided that it has not yet expired or Purged), by pressing "Show Deleted", then selecting the message(s), and then "Undelete". The OutBox message can be Queried to find the posting status for each server to which it was submitted. The Posting "personality" has been moved from Config | Personal to Group | Defaults (or Edit) | Posting. The configuration of default headers has been moved from Config | Headers to Group | Defaults (or Edit) | Headers. This arrangement permits different "personalities" or configurations for each newsgroup subscribed to. Group | Defaults configures default properties for all groups; selecting a group then Edit allows overriding the defaults for the selected newsgroup. A posting "personality" is the combination of properties possessed by the user either overall, or within a particular newsgroup. These include the EMail address and Full Name placed in the "From:" header, default headers, signature file, and more. The "From Address" is an EMail address to be placed in the "From:" header. The "Full name" is an optional nickname or "handle" to be added to the "From:" header. "Reply-To", if specified, is an EMail address to receive any EMail responses to your posts. "Followup-To:", if specified, is the newsgroup that usenet followup posts are to be directed to. "Followup-To: poster" is a special case recognized by many newsreader clients that indicates that all followups should be directed by EMail to the poster. The "Signature file" is the name of a file containing text to be automatically appended to each post. "Organization" is an optional header that, if omitted, is often inserted by the first server that receives your post. Config | E)Mail contains the comparable settings for EMails. The "EMail Address" is the address to be placed in the "From:" header (along with the "Full Name" or nickname). The "SMTP Server" is the name of the SMTP server provided to you by your ISP ("mail" might work) for sending EMail. "Organization", "Reply-To", and "Signature File" function similarly to Group | Defaults (or Edit) | Posting. An EMail may be initiated by selecting OutBox | EMail or Group | Articles | Read | EMail. The latter selection is for followup to the poster by EMail. A Post may be initiated by selecting OutBox | Post, Group | Articles | Post, or Group | Articles | Read | Follow Up. When posting from the OutBox, the user must select a destination newsgroup(s). Otherwise, the newsgroup(s) are taken by default from the selected group, or the post being followed up to, respectively. To followup to a portion of a post (rather than the entire post), first select (highlight) the desired portion of the text, then select Follow Up or EMail, as desired. At any time while editing the email/post, the user may change any of the headers, or add and remove headers. The destination may be changed from usenet to email by deleting the "Newsgroups:" header, then selecting Headers | To:, and entering the appropriate email address. Similarly, the user may delete the "To:" header and add a "Newsgroups:" header. "To:", "Cc:", and "Bcc:" are email destinations ("Bcc:" headers are not transmitted to the recipient(s)); while newsgroups are selected with the "Newsgroups:" header. Any combination of these headers may be selected. If both EMail and Newsgroups: headers are present, the message is both posted and emailed. The Headers button offers a convenient method to insert the more common headers that the user may desire. Of course, the user MAY enter (or alter) ANY header simply by positioning the cursor in the header area and typing. BEWARE: non-standard headers may cause your message to be damaged by one or more of the message servers that handles it, or may cause one or more servers to crash. If you want to play, you may enter "X-anything: anything", where anything may be anything you want. Be sure to keep your headers down to 997 characters or less. When you finish composing your message, you may select the "Mail" button (if this is an EMail) or "Post" (if this is a usenet post). If you are online and connected, the message is added to the OutBox and queued for immediate transmission. If not, you are asked whether to go online, or to queue the message for later transmission. You may save the message as a draft to the OutBox, using the Save button, and resume editing it at a later time. When you wish to resume editing it, go to the OutBox, highlight the message, and select the Edit button. When you have finished, you may press the Post or EMail button to transmit the message, or you may again select Save and resume editing later. While composing (or Reading) a message, the ROT-13 button may be pressed to apply ROT-13 encoding to the message text. If a portion of the message is selected (highlighted), only the selected portion of the message is encoded. Otherwise, the entire message body is encoded. You may add an attachment to your post or EMail by pressing the "Attachment" button. You may elect to "Mime encode" the attachment. I will not discuss Mime here, but many popular readers support it; many don't. If the attachment is a text file, you SHOULD use Plain Text encoding. Other encoding methods will work, but recipients will have to work harder to read your words. If the attachment is a binary file (.JPG, etc.) you MUST choose UU, XX, or Base64 encoding. Note that UU is the oldest and most widely supported, and most of the issues that required Base64 have been dealt with by now. The current version of AllNews does not support BinHex (Mac) encoding, multiple attachments, or the multiple-part posting options found in Config | Posting. --------------------------------------------------------------------- OutBox Message List The list of messages in the OutBox are those posts and EMails that you have written or are in the process of writing. The "Show/Hide Deleted" button controls whether the messages you have deleted but not purged or expired are listed. They are listed from most recent to least. The "Servers" field shows which servers have been sent to, which have not, and what the result of the submission was. "-" means that this server will not be sent to. "?" means that this server will, but has not yet been sent to. "!" means that this server gave an error response when when this message was last sent. A letter appearing in the list indicates that the server accepted the message. The first position in the list is for EMail, if any. If the message is a draft, the flags field is "I". If all servers have been sent the message, "X" is present. If any servers gave an error response, "E" is present. If the message has been deleted (and deleted messages are displayed), "D" appears. "Properties" allows you to control the behavior of the OutBox. Expire Posted indicates how long after a message has been successfully sent it is promoted to "deleted". Expire Failed indicates how long after unsuccessful attempts to mail a message it is promoted to deleted. Expire Shown indicates how long after it is originally composed and entered into the OutBox a message is to be promoted to deleted. Expire Deleted indicates how long after it has been deleted from the OutBox a message is to be purged, or removed from the list and its space recovered. 0 means no expiry. Defaults are Posted=3, Failed=0, Shown=0, Deleted=10. Expiry is evaluated at startup. The "Delete when sent" flag, when set, means that posts are to be deleted (but not purged) from the OutBox list as soon as they are successfully sent. You may Show or Hide Deleted messages, Purge, Delete or Undelete selected messages, or Save selected messages to an external file. Delete and Undelete simply change the status of the message as to whether or not it is displayed. It does not actually remove the message and recover its storage. Purge and message expiration actually remove the message entirely from the OutBox list and from storage. EMail and Post are used to begin composing a new message. Edit is used to resume composing a draft message. It may also be used to make modifications to a previously sent message. "Resend" queues the selected message(s) for transmission to their server(s). If the message was not successfully sent to all of the servers, it is submitted to those servers that have not yet accepted it. If all servers have accepted this message, it clears all "sent" indicators and queues the message for posting (mailing) to the servers that are CURRENTLY configured, as opposed to those that were configured at the original time of mailing. File | Post Queued sends the messages to those servers which have not given a successful response. This does NOT change the servers to which the message is sent. "Query" shows the internal content of the message, and the status responses of the servers to which it has been sent. If "!" displays in the servers or "E" in the flags of a message, you should Query the message and look at the response that server gave. Sometimes you may get a "nnn Duplicate messageid" message, indicating that this message is already present on this server; not really an error. Sometimes you may get "nnn throttling", indicating that the server is not accepting posts at the moment; possibly the message will be accepted later. Other responses may suggest some corrective action to take, or advertise the unavailability of the server or service. "Cancel" means that you wish to cancel a usenet post which you have already sent. It does not apply to EMail. Note that a "cancel" is actually a special type of post that causes SOME servers to remove the post from the available list of posts. Not all servers honor this request. Further, this second post has all of the same propagation issues that the original post had. It may arrive at a given server greatly delayed, or even before the original post. It may not arrive at all because of saturation of some resource in the path. --------------------------------------------------------------------- "Tickling" a comm session In the "Status" window, in Views 1 and 2, you can see the throughput and timing attributes of each session. By double-clicking on one of these sessions, you can bring up the "tickle" dialog. In this screen you can introduce "fake" interrupts to the communications sessions, and disable the server that is active in that session. When a session gets "hung up", i.e. the "wait" count is climbing and no data is being sent or received, "tickling" or introducing an interrupt to the session may break it loose. "Read" and "Write" Signals are generally safe to introduce. When receiving data, the "Read" is most appropriate. Occasionally, a session is trying to "QUIT", but the server is not responding. Sending a "Close" Signal will terminate the session and allow it to be used for other traffic. "Closing" a session that is idle on a server that has no more activity scheduled for it may also make that session available for other activities for other servers. Usually, however, this is not necessary. You can hasten time-out processing by sending the appropriate time-out Signal. This WILL close the session. Depending on the activity in progress at the time, and the configuration of the server, the activity will most likely be re-scheduled, and the server session restarted. In the event that you wish to stop using a particular server, you can select the "Disable server" checkbox. If a post is more than 10% received, its reception will be completed. Otherwise the session is closed. The server will remain disabled until you "Stop" (Disconnect), and then "Go" (Connect) once more, or restart AllNews. --------------------------------------------------------------------- Changing operating parameters while in operation The number of sessions for a given server can now be changed dynamically, by changing Server | Edit | Sessions. If the number of sessions active on that server is greater than the new number, sessions will be closed until the new number is satisfied. Posts being received will be allowed to complete. If the number of sessions active on that server is less than the new number, and there is more work for that server, and the number of active sessions does not exceed Config | Comm | Max Sessions, more sessions will be established. Similarly, I have attempted to make the other server parameters change in real-time. If you find one that does not (i.e., you must Stop and Go to make it take effect), send in a bug report and I will fix it. Please let me know all of the settings before and after the change, and which settings were changed to what, for the server where the problem occurred. In a similar vein, I have worked to make all the combinations of decoding parameters changable dynamically; turning on and off group-level decoding overrides and changing default behaviors. Again, if you find one that does not change dynamically, let me know the settings and changes for the newsgroup in question. --------------------------------------------------------------------- Server | Edit | Server limits number of sessions Some servers (often public or open servers) limit the number of sessions that each user may open, sometimes to only 1 or 2. This might manifest itself as messages in the Status | Log saying "500 too many sessions" or some such. Normally, AllNews considers "Sessions" to be the number of simultaneous receives it may have. It may choose to do other special processing, like fetching the list of posts for a group, while the specified number of sessions are already active, resulting in the "too many sessions" refusal. The above setting tells AllNews that the "Sessions" setting is an absolute limit. With this flag turned on, AllNews switches sessions back and forth as needed to honor the limit. --------------------------------------------------------------------- Server | Edit | Server limits session time Some servers (often public or open servers) limit the length of time sessions may run. This might manifest itself as messages in the Status | Log saying "502 out of time", or some such. This type of message is usually seen as a fatal error. This session is closed and not restarted; the server is marked as unavailable. In this case, however, what is required is to re-establish the session and retry the operation. The above setting causes AllNews to do just that. Similarly, some servers may respond "502 too many users" to the login attempt. AllNews then marks the server unavailable, when the truth is that it is only temporarily unavailable; it may be usable later. The implementation of these cases is incomplete, as the server I was using that exhibited these behaviors closed to the public when their testing was finished. If you encounter a server behaving in this fashion, send me its name and IP address (and userid/password, if applicable), and I will continue the implementation. --------------------------------------------------------------------- IHAVE protocol AllNews now fully supports the IHAVE protocol. I will not go into the details of what this or how or why you might want to use it. Some servers support it, some do not. Servers | Test uses the HELP command to determine whether the server knows the IHAVE command. If so, a checkbox in the Servers | Edit menu is set. If you wish to use the IHAVE (as opposed to the POST) protocol for a specific server, set the Servers | Edit | "Use IHAVE instead of POST" checkbox. Some servers will indicate that they accept IHAVE, but will refuse when you attempt to use it. Servers | Test also sets the "May not get list of posts" checkbox if it detects a problem in retrieving lists of posts. Some servers will allow posting, but refuse to allow retrieval of posts. You may also change the setting of this box. It inhibits the fetching lists of posts for this server. If the server does not support fetching article lists, disable fetching the list by verifying that Groups | Edit | S)ervers shows "N" in the column "Get Hdrs" next to that server. To change the setting, double-click on the server and change the "Get headers" checkbox. In order to post to usenet, you must configure the servers you wish to use for posting. Servers | Edit | Post Here marks this server to be used for subsequent posting. Groups | Deafults (or Edit) | H)eaders | Message-Id: AllNews generates a unique Message-Id for each post. If the message-id is omitted from the post, the NNTP server to which it is submitted will generate one automatically. It is recommended that you allow AllNews to include this message-id in the post. It is REQUIRED by the IHAVE protocol, and will be re-inserted by AllNews if deleted or omitted. This message-id is used by the various NNTP servers around the world to know whether they have already received the post by a different path. If you post the same post to several servers without the message-id, you are guilty of multi-posting; each server will be entering a "unique" (but almost identical) post into USENET. By using the same message-id, all involved servers will recognize that they are dealing with the same post. This mechanism can be used to get greater coverage and more timely delivery of your posts, without being guilty of excessive multi-posting (EMP or SPAM). --------------------------------------------------------------------- NNTP-Posting-Host: Some servers accept this header, some don't. Unfortunately, it is currently en/disabled by Group | Edit (or Defaults) | Headers, and not by server. Until this is changed, you must find a combination that works for you. Unless you are spoofing (or posting anonymously), it is just as well to leave this off. ---------------------------------------------------------------------