G The following are instructions for creating and installing the BULLETIN N utility. None of the command procedures included here are sophisticated, so itK is likely that several modifications will have to be made by the installer. ? The installer should enable all privileges before installation.   G Once installation is complete, it is suggested that the installer enter I BULLETIN and read HELP FOLDERS to see the options available when creating G or modifying folders.  BULLETIN creates a default folder called GENERAL J which is a SYSTEM folder (allows messages to be posted which are displayedG in full when people login.)  This folder can be modified (name changed, D SYSTEM setting removed, etc.), but it will remain the default folderE which is selected when BULLETIN is entered, and it cannot be deleted.   O One of the main uses of BULLETIN, besides storage of messages that are manually M entered by users, is storage of messages from network mailing lists.  This is O done by using the BBOARD feature, which is enabled using the SET BBOARD command K inside BULLETIN.  The alternative method is for mail messages to be written L directly by a mailing program by calling internal BULLETIN routines.  Such aN a program has been written for the popular mail utilities PMDF and MX.  If youO wish to do so for another utility, read the text file WRITEMSG.TXT.  I would be J glad to include any such programs with my distribution if you think such a' program would be of use to other users.   F Responding to mail which is added via the BBOARD feature is done usingF VMS MAIL.  The name of the mail protocol to use for responding by mailF can be either hardcoded by putting in BULLNEWS.INC, or by defining theI system logical name BULL_NEWS_MAILER, i.e. DEFINE BULL_NEWS_MAILER "MX%".   D If for some reason this is inappropriate, you can define BULL_MAILERK to point to a command procedure, and which will be run instead of VMS MAIL. K The parameters passed to this procedure are P1 = username and P2 = subject.   
 1) CREATE.COM K    This will compile and link the BULLETIN sources. Also, there are several P    INCLUDE files for the fortran sources (.INC files). BULLETIN will create it'sO    data files in the directory pointed to by the logical name BULL_DIR.  If you F    elect not to use this definition, BULLFILES.INC should be modified.K    Note that after this procedure compiles the sources, it puts the objects O    into an object library, and then deletes all the OBJ files in the directory.   I    CREATE.COM will automatically determine if you are running on an alpha J    rather than a vax and will issue the appropriate commands for that cpu.K    Of course, separate executables are needed for the two cpus, so if your  I    site has both, you will have to run this procedure separately on each.   N    NOTE 1: If you plan on using the USENET NEWS reader capability of BULLETIN,@    read NEWS.TXT for installation instructions before compiling.  M    NOTE 2: The maximum number of folders for this distribution is 96 folders. O    If you wish to increase this, modify BULLUSER.INC and recompile the sources. N    When the new executable is run, it will create a new BULLUSER.DAT data fileK    and rename the old one to BULLUSER.OLD.  You cannot reduce the number of     folders.    2) INSTALL.COMF    The following procedure copies the executable image to BULL_DIR andG    installs it with certain privileges.  It also installs the necessary E    help files in SYS$HELP.  (BULLETIN help file is installed into the H    system help library HELPLIB.HLB.  If you don't wish this done, deleteC    or modify the appropriate line in the procedure.  Also, the help J    library for the BULLETIN program, BULL.HLB, can be moved to a differentK    directory other than SYS$HELP.  If this is done, the system logical name G    BULL_HELP should be defined to be the directory where the library is     to be found.)   3) LOGIN.COMC    This contains the commands that should be executed at login time A    by SYS$MANAGER:SYLOGIN.COM.  It defines the BULLETIN commands. A    It also executes the command BULLETIN/LOGIN in order to notify C    the user of new messages.  NOTE: If you wish the utility to be a B    different name than BULLETIN, you should modify this procedure.E    The prompt which the utility uses is named after image executable. ?    If you want messages displayed upon logging in starting from C    oldest to newest (rather than newest to oldest), add /REVERSE to @    the BULLETIN/LOGIN command.  Note that users with the DISMAILA    flag setting in the authorization file will not be notified of G    new messages.  See help on the SET LOGIN command within the BULLETIN E    utility for more information on this.  Also, please note that when G    a brand new user to the system logins, to avoid overwhelming the new L    user with lots of messages, only PERMANENT SYSTEM messages are displayed.  I    If you want SYSTEM messages, i.e. messages which are displayed in full K    when logging in, to be continually displayed for a period of time rather M    than just once, you should add the /SYSTEM= qualifier.  This is documented I    in BULLETIN.HLP, although there it is referred to only with respect to J    a user wanting to review system messages.  It can be added with /LOGIN.  I    DECWINDOWS users should note the following: Both SYLOGIN and LOGIN are F    executed twice, once before the terminal is actually created, whileF    SYS$OUTPUT is still a mailbox, the other time after the terminal isH    created.  To avoid this, place the following code in both procedure. J    It causes them to execute only when the output is a terminal. This codeI    also helps to allow programs to be placed in LOGIN.COM that prompt for E    terminal input.  BULLETIN does this if you select READNEW mode for G    displaying messages when logging in, as READNEW mode will ask you if J    you want to display the messages text.  Attempts to read terminal inputI    under DECWINDOWS when SYS$OUTPUT is still a mailbox will cause DECTERM :    creation to fail.  (This problem is fixed under MOTIF).  D    $ IF F$LOCATE("_TW",F$GETJPI("","PRCNAM")) .NE. 0 THEN GOTO START9    $ IF "''F$MODE()'" .NES. "INTERACTIVE" THEN GOTO START 4    $ IF F$GETDVI("SYS$OUTPUT","TRM") THEN GOTO START    $ GOTO FINISH
    $START:    .    .3    body of SYLOGIN.COM (including BULLETIN command)     .    .    $FINISH: 	    $ EXIT    4) BULLSTART.COME    This procedure contains the commands that should be executed after I    a system startup.  It should be executed by SYS$MANAGER:SYSTARTUP.COM. E    It installs the BULLETIN utility with correct privileges.  It also L    includes the command BULLETIN/STARTUP.  This starts up a detached processM    with the name BULLCP.  It periodically checks for expire messages,cleanups N    empty space in files, and converts BBOARD mail to messages.  It also allowsL    other DECNET nodes to share it's folders.  If you don't want this featureM    and don't plan on having multiple folders or make use of BBOARD, you could N    eliminate this command if you like.  However, it is highly recommended thatK    you create this process to avoid extra overhead when users login.  NOTE: L    BULLCP normally is created so it is owned by the DECNET account.  If thatJ    account does not exist, BULLCP will be owned by the account that issuesK    the BULLETIN/START command.  In that case, access via other DECNET nodes     will not be available.   L    If you are installing BULLETIN on a cluster and plan to have the bulletinJ    files be shared between all of the cluster nodes, you only need to haveK    this process running on one node. On all other nodes, the system logical L    name BULL_BULLCP should be defined (to anything you want) so as to notifyO    BULLETIN that BULLCP is running. (On the local node where BULLCP is running, /    this logical name is automatically defined.)   H    The system logical name BULL_CUSTOM can be defined to enable several 5    features.  It is equated to a hex number string.   . 	Bit 0 set = need privileges to create folder.- 	    1 set = captive account can write files. - 	    2 set = captive account can use editor.       K    If you want to have more than one database, you can do so by redefining  F    BULL_DIR to another directory.  However, only directories that are M    defined in the list of equivalence names pointed to by the system logical  0    name BULL_DIR_LIST are allowed.  For example:  ; 	DEFINE/SYSTEM BULL_DIR_LIST SITE$ROOT:[SYSEXE],USER1:[MRL]   G    Then BULL_DIR can be defined as SITE$ROOT:[SYSEXE] or USER1:[MRL].   ;    BULL_DIR_LIST must be defined on all nodes in a cluster.      F    The use of the MARK command to mark messages require that a file beH    created for each user which saves the marked info.  That file file isM    stored in the directory pointed to by the logical name BULL_MARK.  You can I    either let users who want to use this command define it themselves, or F    you can define it for them, i.e. DEFINE/SYSTEM BULL_MARK SYS$LOGIN.   5) INSTRUCT.COM C    This procedure adds 2 permanent messages which give a very brief G    description about the BULLETIN utility, and how to turn off optional 8    prompting of non-system messages (via SET NOREADNEW).   6) BOARD_SPECIAL.COMB    This command procedure describes and illustrates how to use theE    SET BBOARD/SPECIAL feature.  This feature allows the use of BBOARD H    where the input does not come from VMS MAIL.  For example, this couldF    be used in the case where mail from a non-DEC network is not storedD    in the VMS MAIL.  Another example is BOARD_DIGEST.COM.  This fileG    takes mail messages from "digest" type mailing lists and splits them 6    into separate BULLETIN messages for easier reading.  D    To use this feature, place the special command procedure into theI    bulletin file directory using the name BOARD_SPECIAL.COM.  If you want K    to have several different special procedure, you should name the command D    procedure after the username specified by the SET BBOARD command.   7) UPGRADE.COMB    This procedure is used to upgrade to a new version of BULLETIN.!    See comments for instructions.   
 8) MASTER.COM E    If you are using PMDF, and want to use the BBOARD option, a set of H    routines are included which will allow PMDF to write message directlyD    into folders, which is a much more effecient way of doing it thanE    the normal BBOARD method of using VMS MAIL.  Read PMDF.TXT for how     to do this.   9) OPTIMIZE_RMS.COM F    This routine optimizes index files.  To run, type @OPTIMIZE_RMS.COMF    followed by the filename.  If you omit the filename, it will promptD    you to allow you to turn off or on several different types of RMSD    compression.  The default is to turn on all types of compression.9    The optimization will cause the file to be compressed.   I    If you use the NEWS feature, it is suggest that you run this procedure M    on BULLNEWS.DAT after it is created.  Compressing that file greatly speeds H    up the NEWS update process.  If you are tight on space, and have beenH    running BULLETIN for a long time, it might also be useful to compressI    BULLINF.DAT if that file is very large.  However, compressing that (or J    the other BULLETIN data files) don't appear to save any execution time,    unlike BULLNEWS.DAT. 