
Return-path: MRL%PFC-VAX.MIT.EDU%XX.LCS.MIT.EDU@EDDIE.MIT.EDU
Received: from EAGLE by FALCON; Tue, 16 Aug 88 12:27 EDT
Received: from EDDIE.MIT.EDU by WPAFB-AAMRL.ARPA; Tue, 16 Aug 88 12:24 EDT
Received: from deep-thought.mit.edu by EDDIE.MIT.EDU via Chaosnet with MAIL
 with sendmail-5.45/4.7 id <AA06922@EDDIE.MIT.EDU>; Tue, 16 Aug 88 12:01:52 EDT
Received: from PFC-VAX.MIT.EDU by DEEP-THOUGHT.MIT.EDU via Chaosnet; 16 Aug 88
 11:56-EDT
Date: 16 Aug 88 11:56:01 EDT
From: MRL%PFC-VAX.MIT.EDU%XX.LCS.MIT.EDU@EDDIE.MIT.EDU
Subject: BULLETIN

You  are  about  to  receive  version  1.52C  of the PFC BULLETIN.  This
version includes all necessary modifications to  work  under  VMS  V5.0.
However, it will still be necessary to reassemble the ALLMACS.MAR source
under V5 and relink.  The V4 version will not be  installable  under  V5
due  to  a  change  in  a  shared library which BULLETIN uses.  However,
relinking by itself will  not  be  enough.   You  MUST  also  reassemble
ALLMACS.MAR.   If  you  only  relink,  BULLETIN can cause your system to
crash (the BULLCP process will do this because it uses  the  routins  in
ALLMACS.MAR).

BULLETIN   is   public   domain   software.    (I   will  gladly  accept
recommendations for new features,  not  for  changes  that  are  due  to
"personal" preference.)

If  you  are running a version of BULLETIN older than 1.52, this version
will modify the format of some of the data files.  (This  will  be  done
automatically  when the new version is run).  This can cause problems if
the old version of BULLETIN is  run  after  the  data  files  have  been
modified.  Such a situation is possible on a cluster where each node has
installed the  executable  separately.   To  help  installation,  a  new
command  procedure  INSTALL_REMOTE.COM  has  been included.  This can be
used to install BULLETIN on several nodes from a single node.  Read  the
comments in the file for information on how to use it.

NOTE: The BULLCP process  should  be  stopped  using  the  BULLETIN/STOP
command before the new version of BULLETIN is installed.  It can then be
restarted using the BULLETIN/STARTUP command.   (The  INSTALL_REMOTE.COM
command procedure does this automatically for remote nodes.)

(The format of the .BULLDIR will change for pre V1.52  versions.   After
successful  installation,  the  older  versions  of  these  files can be
removed.  This format change can take a significant amount  of  time  if
the  folder  is  large.  If your site has large folders, it is suggested
that the new version be installed during off peak hours.)

(The latest feature and bug fixes for this new version are listed later.)

You will be receiving 14 files (NOT NECESSARILY IN THIS ORDER!):
	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) BULLETIN7.FOR
	10) BULLETIN8.FOR
	11) BULLETIN9.FOR
	12) ALLMACS.MAR
	13) BULLCOMS1.HLP
	14) BULLCOMS2.HLP
	15) BULLET1.COM
	16) BULLET2.COM

(They will be  identified  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.

						MRL%PFCVAX@XX.LCS.MIT.EDU
------------------------------------------------------------------------------
V1.52C

Modified code to allow remote folder feature to work under VMS V5.

Corrected minor bugs in BULLCP (which would cause remote folder
connection to break).  NOTE: If an error occurs when BULLCP is running,
it will restart itself after waiting one minute.  It will also write out
a file with the error, either named BULLCP.ERR or BULLCP.LOG.

The  algorithm  in  BULLCP  to  cleanup  empty space in the folder files
(caused by deleted messages) was not working  properly.   It  should  be
triggered  when  the empty space reaches a limit, but it was not reading
that limit properly.  This has been fixed.  Also, it will now only check
that limit after it turns 3 a.m.  This is avoid the cleanup process from
occurring during the middle of the day, when it would needlessly use the
cpu during prime time.

V1.52B

Made minor modifications to decrease execution time of BULLETIN when
logging in.

Added the BULLETIN.CLD file to allow BULLETIN command to be installed
using CDU if desired.

V1.52A

Made modifications so it would work with VMS V5.0.

V1.52

Modified structure of directory files for folders.  The files are now
keyed files, the keys being message number and message date.  This speeds
up the process of searching for a message using a date.  Thus, BULLETIN is
now more efficient when it has to find the latest message in a folder.

Modified cleanup algorithm.  Old code could cause file corruption.

Add /SUBJECT in SEARCH command to search only the description of messages.

Add /DESCRIPTION and /OWNER in CREATE command.

Corrected problem that would cause invalid notification of new messages
in a remote SYSTEM folder.  If a new SYSTEM message was added, and a person
entered BULLETIN, it would notify the user that there was a new message in
the folder even though the SYSTEM message had been displayed during logging
in.  To correct this, the BULLFOLDER.DAT format had to be changed to store
the date of the last non-SYSTEM message in each folder.

Added logical name BULL_DISABLE to disable use of BULLETIN.  Useful during
installation (or debugging) of BULLETIN.  Also added command procedure
INSTALL_REMOTE.COM.  These two should make it easier to install a new version
of BULLETIN in a cluster, where INSTALL must be run on each node to install
the new executable.  This is especially important when the new executable
changes the format of the data file, so that the old version must not be run
after the data format has been changed.

Fixed bug which caused NOTIFY flag for GENERAL folder to be cleared.

Fixed bug which would cause /SUBJECT not to work in MAIL command if placed
after the username.  Also added /HEADER qualifier to MAIL to include the
message header with the message.

Fixed bug which prevented messages with expiration years > 1999 from being
deleted (without /IMMEDITATE).

Fixed bug which was causing expired messages from not being deleted.

Fixed bug which allows non-privileged user to copy a permanent message such
that the copy messaged kept the permanent designation.

Fixed BBOARD algorithm which required the username in the "To:" mail message
field to be uppercase.  Some non-DEC mail systems use lowercase.

When creating a remote folder, i.e. CREATE/NODE, and the actual folder on
the remote node is PRIVATE, this information will now be displayed via the
SHOW FOLDER command.

Fixed bug in BULLCP which resulted in subprocess BULL_CLEANUP to be spawned.
This should only occur if BULLCP is not running.  BULLCP itself does the
cleanup of empty space in folders, so this was redundant and time consuming.

Added /TEXT qualifier to REPLY command (and, as a consequence, also to the
ADD command).  This is present in the RESPOND command, and includes the text
of the previously read message into the new message.  Also, the text of the
old message is indented using ">"s, which can be suppressed with /NOINDENT.

If files are shared between nodes in a cluster, SHUTDOWN messages were not
deleted at the appropriate times, as there was no way of knowing from 
which node the messages were submitted from.  This has been fixed so that
SHUTDOWN messages will be deleted when the node they were submitted from
is rebooted.

KEYPAD mode has been added.  Keypad can be enabled so that keys are assigned
to BULLETIN commands.  This canenabled either by the SET KEYPAD command, or by
adding /KEYPAD to the command line.  SHOW KEYPAD shows the definitions.

Fixed bug which caused BULLCP not to be able to update a private folder after
BULLCP was used by a remote user.  (During a remote access, BULLCP sets it's
privileges to that of the user's proxy login who is doing the access.  It was
not getting set back to BULLCP's actual privileges.)

Did you know that access to a folder can be resticted to a particular DECNET
node?  This is because interactive processes are assigned the SYS$NODE_nodename
id, and that id can be specified via a SET ACCESS command.

-------------------------------------------------------------------------------
$ 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 bulletin7.for
'C  BULLETIN'
d 1:.-2
exit
$ edit/edt/nocommand bulletin8.for
'C  BULLETIN'
d 1:.-2
exit
$ edit/edt/nocommand bulletin9.for
'C  BULLETIN'
d 1:.-2
exit
$ edit/edt/nocommand bullcoms1.hlp
'1 ADD'
d 1:.-1
exit
$ edit/edt/nocommand bullcoms2.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
