CPPNEWS $Revision: 1.36 $ This is cppnews, a replacement for snews and pcelm. It is written in C++ (hence the cpp). It is an SAA compliant DOS text program, with full mouse control, dialog boxes, buttons, bar menus etc. This is mainly a bug fix release. Cppbatch has been enhanced to allow article headers only to be downloaded, and then individual articles to be got and added to the newsbase. To do this, use the "-d" option to cppbatch when adding the full articles. NOTE THE EXISTING ARGUMENTS TO CPPBATCH HAVE CHANGED. Version 1.34 saw the addition of the ability to edit outgoing messages, and the ability to add user defined external commands to the Article menu. This latter enables automatic uudecoding, pgp decrypting etc. to be integrated with cppnews. It also makes it easy to add a menu option which will use LIST (or whatever) to read articles too long for cppnews. See "Adding external programs to the cppnews Article menu" in cppnews.doc. Version 1.30 introduced a new newsgroup indexing system, and new manipulation programs for adding new news and groups to these files, and for removing news and groups. These replace the SNEWS expire, addgroup, rmgroup and unbatch programs that were used previously. There is a conversion program supplied (see note below). In order to allow both SNEWS and CPPNEWS to be supported on the same system, there is an option to maintain both kinds of index files if required. The latest version of cppnews should be available for public ftp from ftp.demon.co.uk [158.152.1.65]:in directory /pub/trumphurst/cppnews. Cppnews was written using my C++ text mode user interface toolkit, which I hope to make available for public ftp in the near future. *** PROGRAMS SUPPLIED *** cppnews - The actual news reading program. Interactive. cppsetup - Interactive setup and customisation. Also used to add and remove newsgroups. Batch mode available for adding and removing groups - see cppnews.doc. cppbatch - Non-interactive program to unbatch the news into cppnews format. No parameters needed. cppexpir - Non-interactive program to remove old news. Run with no parameters for brief usage details, or see cppnews.doc. cppconv - Convert SNEWS (or old cppnews) newsbase to new format. *** ADDITIONAL PROGRAM AVAILABLE *** cppindex - Program to re-create news indexes if they get corrupted. For emergency use only. Please report all corruptions to cppnews@trmphrst.demon.co.uk. *** NEW USERS *** First read CPPNEWS.DOC for details of the CPPNEWS.INI file layout, and environment variables required by cppnews. CPPNEWS does not require any additional installation to receive and post mail, unless you use an unusual directory structure. FIRST BACK UP YOUR ACTIVE FILE. Then run cppsetup to initialise your cppnews.ini file, and customise it to suit your system. Then run cppsetup again, to add the groups in which you are interested to the cppnews groups list. See the on-line help (press F1) for more details. Demon users using the standard setup created with DIS MUST EDIT DEMON.BAT. Details are in cppnews.doc, under "Converting from the DIS standard setup". I would suggest that new users join the "demon.ip.cppnews" newsgroup straight away, to keep abreast of problems and new developments. *** IMPORTANT NOTE FOR USERS OF VERSIONS 1.20 or below *** To convert from version 1.20 or before, you need to run the conversion program CPPCONV.EXE. This should be run from the same directory where you usually run cppnews, and requires the same environment settings. Cppconv will re-index all your existing newsgroup files. Cppconv assumes you wish to maintain compatibility with SNEWS, so it sets the SnewsCompat cppnews.ini variable, and retains the SNEWS indexes. If you do not wish to maintain snews compatibility, you can save disk space by setting the SnewsCompat variable to 0 in cppnews.ini, and deleting all the SNEWS indexes (~/newsbase/*.idx). When you first enter this version of cppnews, all your mail files will also be reindexed (please be patient !). **** IMPORTANT **** It is possible that some or all of your mail messages may be marked as unread during this process. It is therefore advisable that you read ALL outstanding mail before converting. **** IMPORTANT **** Existing users of 1.6 or 1.7 should delete or rename CPPNEWS.INI before running this version for the first time, otherwise you will have a blank tool bar. --- Nikki Locke | | cppnews@trmphrst.demon.co.uk Trumphurst Ltd. | Tel: +44 (0)691-670318 | nikki@cix.compulink.co.uk PC and Unix consultancy | Fax: +44 (0)691-670316 | nikki@kewill.co.uk ----------------------------------------------------------------------- Future enhancements suggested by users, with number of votes ... 2 Ask for To and Subject before posting, as well as after. 1 Improve RFC mail address decoding 1 Check directories valid and take backup when converting from SNEWS 5 Prevent spurious "duplicate article" detection in cppbatch. 5 List of articles in a thread (showing author) 6 Cppsetup to amend nntp.dat when adding/removing groups 4 Mark cross-posts as read when an article is marked as read. 4 Different colours for different areas of the screen. 4 Proper scroll bars on lists 3 Restore screen on exit 3 Allow one site to be specified as the mail server, so all mail goes there. Another option to just send multiple mailings to the server. 2 Produce 386-specific version using extended memory. 2 Ability to expire mail 2 Configurable levels for confirmation messages (like Mark Thread Read). 1 Allow use of KILL and GET files to download headers only, and request bodies for specific articles. 1 Make cppexpir recognise expire.dat 1 Add PCElm-compatible Status lines to mail 1 Add single/multi user switch, so single user can keep folders in a different directory 1 Make sure article title shows From address, not Reply-To address 1 Allow default expiry days to be taken from an "expire.dat" type file 1 Allow cppsetup to be called from cppnews (or, perhaps, vice versa). 1 Ability to cancel previously posted messages, by sending Cancel control messages. 2 Show threads as a tree (like TP browse mode). 1 Print threads/articles. 1 Sort thread list so that threads with unread articles are at the top. 1 Problem firing up editor (emacs) under MKS korn shell. 1 Include date in article header information. 1 Optimise screen redrawing. 1 Validate newsgroup names when posting. 1 Tagging multiple threads to mark as read. 1 Improved mouse cursor. 1 Audit trail of messages visited 1 Separate mail and news lists on the screen at the same time. 1 Option to show author rather than subject in mail, and not thread it 1 Screen redraw option 1 Option to do all screen output via BIOS. 1 Make .nrc file smaller. 1 Easier saving of multi-part binary postings 1 Message update without leaving program. 1 Expire unwanted threads. 1 Get rid of junk file. 1 Multiple active group files for multiple users. 1 Switch to automatically addgroup (some or all) unknown groups in cppbatch 1 Ability to delete messages from news groups (not just mail). 1 Ability to mark news messages to keep (i.e. not expire, ever). 1 Optionally add killed threads to the KA9Q kill file 1 Add Article/Get option to use the new KA9Q GET facility. 1 Honour lock files in cppbatch. 1 Better indication of deleted articles 1 Allow Reply to ALL the original recipients of a message. 1 Only put in "Reply-To" if different from "From:" 1 Allow escape from the "Article truncated" box to skip the article. 2 Provide setup details to make cppnews work with UUPC. 2 Provide news posting via rnews rather than mail2news 1 Multi-column, sortable display of all messages in a group 1 Cppexpir could take account of threads when purging messages 1 Rule base message handling 1 Allow multiple lines in mail header recognition string 1 Make menus wrap when down arrow pressed on last selection 1 Allow Viewing of an article with an external viewer without reading it first. 1 Speed up unbatch. 1 Option to print news groups list in cppsetup 1 Option to suppress screen blanking on user-defined menu options One or two people have reported crashes on eariler versions. If you have a crash, please mail me the file "cppnews.log" on your current directory (if there is one). ----------------------------------------------------------------------- Changes made in 1.36 o Aliases weren't working. Now fixed. o Fixed bug where button bar was mangled during initialisation. o Fixed bug in cppexpir which didn't expire any groups if none were specified on the command line. o Fixed bug in cppbatch & cppindex where articles consisting of a header only were not recognised correctly. o Added option to cppbatch to override duplicate checking. o Included Cc header no longer specifically excluded from news postings.