From: HENRY::IN%"MRL%PFC-VAX.MIT.EDU%xx.lcs.mit.edu%csnet-relay.CSNET%relay.cs.net@RCA.COM" 29-OCT-1987 03:54 To: "EVERHART%ARISIA%RCA.COM" , Subj: BULLETIN You are about to receive version 1.44 of the PFC BULLETIN. This software is public domain. (I will gladly accept recommendations for new features, not for changes that are due to "personal" preference.) NOTE: If you are upgrading from a version older than 1.4, you should be aware that the logical names BULLETIN$ and BULL$HELP are no longer being used in the sources. Also, BULLFOLDER.DAT is converted to a new format when it is run. This will cause minor problems in a cluster where each node must have the executable reinstalled individually. If the old BULLETIN is run after the new BULLETIN is installed, it will crash with a file open error. Note also that there is a new feature "BULLETIN/STARTUP" which creates a subprocess to do housecleaning operations. When installing new versions, this process can simply be deleted without any damaging effects. (The latest feature and bug fixes for this new version are listed later.) You will be receiving 12 files: 1) BULLETIN.FOR 2) BULLETIN0.FOR 3) BULLETIN1.FOR 4) BULLETIN2.FOR 5) BULLETIN3.FOR 6) BULLETIN4.FOR 7) BULLETIN5.FOR 8) BULLETIN6.FOR 9) ALLMACS.MAR 10) BULLCOMS.HLP 11) BULLET1.COM 12) BULLET2.COM (They will be indentified in the SUBJECT header.) BULLET1.COM and BULLET2.COM are command procedures which when run, will create several small files. After you run it, you can delete it. Read AAAREADME.TXT for installation instructions. NOTE: When creating these files (using the EXTRACT command) from the VMS MAIL utility, you will have to strip off any mail headers that are present, including blank lines. A command procedure is included at this end of this message which can be run which uses EDT to do this for you. SECOND NOTE: The feature which allows setting up folders to be publicly readable but with limited access for writing requires at least VMS VERSION 4.4, as the code uses a new system service $CHECK_ACCESS. The code is in BULLETIN4.FOR, and instructions are there for how to comment it out if you are running an earlier version. This will simply cause the feature to be disabled. Creating fully private folders will still be possible (i.e. limited access for both reading and writing). I've had various problems sending files to certain sites. I've had to reduce file sizes in order to transfer the files, and more reduction may be necessary. BITNET sites are being sent files without any TABs, as TABs were getting converted to 4 spaces. Please let me know of any sites which have similar problems (or any other type, for that matter). Thank you. Mark London MRL%PFCVAX@XX.LCS.MIT.EDU ------------------------------------------------------------------------------ The following is a description of recent new features and bug fixes. V1.33 was a minor upgrade which was not distributed to all. V1.4 is a major upgrade with many new features. V1.33 Fixed folder corruption problem that could occur during cleanup of empty file space caused by deletion of messages. (This occurs when empty space reaches 200 blocks). Corrected bug in MODIFY command that erased /SPECIAL specification for a folder. Added /CLUSTER command to ADD command allow broadcasted message to be sent to all nodes on a cluster (/CLUSTER is the default). Added code to avoid obscure deadlock problem that occurred on a heavily loaded cluster (possibly due to VMS bug). V1.4 The command BULLETIN/STARTUP starts up a detached process named BULLCP which will do many of the house keeping jobs, such as deleting expired messages, cleaning up empty space in files, and converting BBOARD messages. (This will avoid BULLETIN from spawning subprocesses to do such things. For clusters this need only be done on one node. On the other nodes, you need to define the system logical name BULL_BULLCP to be anything, i.e. "TRUE", in order that those nodes know that BULLCP is running on one of the nodes). The times of the last message read for each folder is now stored in a file called BULLETIN.INF in SYS$LOGIN. This is used to test whether there are new messages in a folder or not, and to position the user to the last read message. Previously, only a flag was set if there were new messages, and that flag was cleared as soon as the folder was selected, whether the new messages were read or not. A user can now select a folder, read some of the new messages, exit, and the next time the folder is selected, the position will be at the place where the user had left off reading. Deleted messages are not immediately deleted, but their expiration date is changed to 15 minutes in the future. Thus, the messages can be undeleted. This also avoids the confusion which occurs due to reordering of the messages after a deletion. The /IMMEDIATE qualifier has been added in order to immediately delete the message. The command SET EXPIRE_LIMIT has been added to limit users from specifying an expiration date too far in the future. The expiration limit is specified in days, and can be applied separately to each folder. DIRECTORY/FOLDER listing modified to show last message date, number of messages, and indicates if there are new messages. Added the qualifier /DESCRIBE, which shows the description of the folder. Specifying a foldername after the DIRECTORY command will cause that folder to be selected before showing the directory (it works this way in MAIL). The foldername specified when selecting a folder can be abbreviated, and BULLETIN will search for the closest match. Terminal input routines now use SMG$ routines. This allows command line recall. (It also fixes the funny problem after a cleared screen during the BULLETIN/LOGIN display which caused printing to begin on the 2nd line.) Added features in READNEW display. Can now Exit from READNEW display, thus skipping succeeding folder notifications. Can redisplay directory listing after reading one of the messages. Since terminal input routines have been changed, inputting message number is now cleaner (i.e. previously you couldn't delete a number after it had been typed.) Also, can Quit during directory listing (i.e. at end of page), which is useful if listing is very long. Brand new users will only be shown permanent system messages and the first GENERAL message, and no other folder messages (even if READNEW or BRIEF are the defaults for those other folders). This is to avoid gobs of output when a user logs in for the first time. READ/NEW will start reading the newest unread message. DIR/NEW will show the directory of the folder starting from the newest unread message. System messages are identified in the header when reading the message using the READ command. REPLY command added. Identical to ADD command, except subject is filled in with currently read message's subject preceded by "RE:". REPLACE command renamed to CHANGE due to addition of REPLY command. Fixed minor bug which caused SET NOTIFY messages to be sent more than once to a terminal if that user was logged in more than once. Using READ/SINCE would open the folder directory file without ever closing it. Bug has been fixed. Foldername can be specified in command line (i.e. $BULLETIN foldername). BULL$HELP logical name changed to BULL_HELP, and references to BULLETIN$ changed to BULL_DIR, in order to conform with the desire that user installed VMS software should avoid defining logical names with $'s, leaving such things to DEC software. V1.41 Added /SUBJECT & /EXPIRATION qualifiers to ADD & CHANGE commands. Allow logical name to be used in /NODE= qualifier, i.e. /NODE=ALL_NODES where ALL_NODES is defined to be "VAX1,VAX2,VAX3". Fixed bugs in ADD routine that noone has ever mentioned (and I won't either). Fixed translation of BULL_HELP. Didn't work if it was defined such that it ended with a "]". Fixed bugs in conversion routine for format of BULLFOLDER file in V1.4. Could cause new file to be incorrectly written. V1.42 Added SET SHOWNEW feature which will cause only the directory listing of new messages for a folder to be displayed without prompting reading of the messages. (Useful for people who don't like to see their type ahead buffere cleared.) SHOW FLAGS has replaced SHOW BRIEF/READNEW/NOTIFY. Added /[NO]PAGE qualifier for BULLETIN command line. This allows you to specify not to stop outputting at the end of a page for all display output. Formerly, this command was only allowed on the READ command. This is useful for users who have terminals with lots of memory and printer port capability so as to print the memory's contents. Also, SET [NO]PAGE has been added. DIR/FOLDER listing has been simplified so that each folder takes up one line on the screen. Added help for DELETE/IMMEDIATE & UNDELETED. V1.43 Folder name specified in the command line can be abbreviated. Added /SYSTEM=[days] command for command line. Displays all system messages less than 7 days old (number of days can be changed if desired.) NOTE: Default can be changed by modifying BULLMAIN.CLD Added SET GENERIC command to set account to be generic, i.e. used by more than one person. New messages in GENERAL folder will be displayed upon logging in until they aged a certain amount of days, which can be specified by the /DAYS qualifier. The default is 7, which can be changed by modifying BULLCOMS.CLD) V1.44 Any newly created folder (since 1.4) will have an incorrect default expiration date. It is a very large number, and will cause an error when doing a SHOW FOLDER. The problem has been corrected. SET ACCESS/ALL would not change a folder's access. Bug has been fixed. After a DELETE/IMMEDIATE, the DIRECTORY/FOLDER display would not be properly updated. It now does so. Fixed problem which prevented upgrading from version prior to V1.1. Fixed BULLCOMS.HLP file which prevented HELP on COPY command from being seen. ------------------------------------------------------------------------------- $ set nover $ edit/edt/nocommand allmacs.mar '; Name: SETACC.MAR' d 1:.-2 exit $ edit/edt/nocommand bulletin.for 'C BULLETIN' d 1:.-2 exit $ edit/edt/nocommand bulletin0.for 'C BULLETIN' d 1:.-2 exit $ edit/edt/nocommand bulletin1.for 'C BULLETIN' d 1:.-2 exit $ edit/edt/nocommand bulletin2.for 'C BULLETIN' d 1:.-2 exit $ edit/edt/nocommand bulletin3.for 'C BULLETIN' d 1:.-2 exit $ edit/edt/nocommand bulletin4.for 'C BULLETIN' d 1:.-2 exit $ edit/edt/nocommand bulletin5.for 'C BULLETIN' d 1:.-2 exit $ edit/edt/nocommand bulletin6.for 'C BULLETIN' d 1:.-2 exit $ edit/edt/nocommand bullcoms.hlp '1 ADD' d 1:.-1 exit $ edit/edt/nocommand bullet1.com '$set nover' d 1:.-1 exit $ edit/edt/nocommand bullet2.com '$set nover' d 1:.-1 exit