Editors Note: All souce files were put in the ZOO archive BULLSRC.ZOO. The objects are in the library BULL.OLB, use the command @BULLETIN.LNK to rebuild BULLETIN for your system. The following are instructions for creating and installing the BULLETIN utility. None of the command procedures included here are sophisticated, so it is likely that several modifications will have to be made by the installer. The installer should enable all privileges before installation. One of the main uses of BULLETIN, besides storage of messages that are manually entered by users, is storage of messages from network mailing lists. This is done by using the BBOARD feature, which is enabled using the SET BBOARD command inside BULLETIN. The alternative method is for mail messages to be written directly by a mailing program by calling internal BULLETIN routines. Such a a program has been written for the popular mail utility PMDF. If you wish to do so for another utility, read the text file WRITEMSG.TXT. I would be glad to include any such programs with my distribution if you think such a program would be of use to other users. 1) CREATE.COM This will compile and link the BULLETIN sources. Also, there are several INCLUDE files for the fortran sources (.INC files). BULLETIN will create it's data files in the directory pointed to by the logical name BULL_DIR. If you elect not to use this definition, BULLFILES.INC should be modified. Note that after this procedure compiles the sources, it puts the objects into an object library, and then deletes all the OBJ files in the directory. NOTE 1: If you elect to have folders with the BBOARD feature that receives messages from outside networks, you may have to modify the subroutine which executes the RESPOND command. That command sends messages to either the originator of the message or the mailing list associated with the folder. These routines assume that one can simply use the VMS MAIL utility to do so. NOTE 2: The maximum number of folders for this distribution is 96 folders. If you wish to increase this, modify BULLUSER.INC and recompile the sources. When the new executable is run, it will create a new BULLUSER.DAT data file and rename the old one to BULLUSER.OLD. You cannot reduce the number of folders. BULLETIN will work for both V4 & V5. However, you will have to reassemble ALLMACS.MAR if you are upgrading from V5, i.e. $ MAC ALLMACS $ LIB BULL ALLMACS $ DELETE ALLMACS.OBJ; $ @BULLETIN.LNK $ COPY BULLETIN.EXE BULL_DIR: $ RUN SYS$SYSTEM:INSTALL BULL_DIR:BULLETIN/REPLACE 2) INSTALL.COM The following procedure copies the executable image to SYS$SYSTEM and installs it with certain privileges. It also installs the necessary help files in SYS$HELP. (BULLETIN help file is installed into the system help library HELPLIB.HLB. If you don't wish this done, delete or modify the appropriate line in the procedure. Also, the help library for the BULLETIN program, BULL.HLB, can be moved to a different directory other than SYS$HELP. If this is done, the system logical name BULL_HELP should be defined to be the directory where the library is to be found.) 3) LOGIN.COM This contains the commands that should be executed at login time by SYS$MANAGER:SYLOGIN.COM. It defines the BULLETIN commands. It also executes the command BULLETIN/LOGIN in order to notify the user of new messages. NOTE: If you wish the utility to be a different name than BULLETIN, you should modify this procedure. The prompt which the utility uses is named after image executable. If you want messages displayed upon logging in starting from oldest to newest (rather than newest to oldest), add /REVERSE to the BULLETIN/LOGIN command. Note that users with the DISMAIL flag setting in the authorization file will not be notified of new messages. See help on the SET LOGIN command within the BULLETIN utility for more information on this. Also, please note that when a brand new user to the system logins, to avoid overwhelming the new user with lots of messages, only PERMANENT SYSTEM messages are displayed. If you want SYSTEM messages, i.e. messages which are displayed in full when logging in, to be continually displayed for a period of time rather than just once, you should add the /SYSTEM= qualifier. This is documented in BULLETIN.HLP, although there it is referred to only with respect to a user wanting to review system messages. It can be added with /LOGIN. 4) BULLSTART.COM This procedure contains the commands that should be executed after a system startup. It should be executed by SYS$MANAGER:SYSTARTUP.COM. It installs the BULLETIN utility with correct privileges. It also includes the command BULLETIN/STARTUP. This starts up a detached process with the name BULLCP. It periodically check for expire messages, cleanup empty space in files, and converts BBOARD mail to messages. It also allows other DECNET nodes to share it's folders. If you don't want this feature and don't plan on having multiple folders or make use of BBOARD, you could eliminate this command if you like. However, it is highly recommended that you create this process to avoid extra overhead when users login. NOTE: BULLCP normally is created so it is owned by the DECNET account. If that account does not exist, BULLCP will be owned by the account that issues the BULLETIN/START command. In that case, access via other DECNET nodes will not be available. If you are installing BULLETIN on a cluster and plan to have the bulletin files be shared between all of the cluster nodes, you only need to have this process running on one node. On all other nodes, the system logical name BULL_BULLCP should be defined (to anything you want) so as to notify BULLETIN that BULLCP is running. (On the local node where BULLCP is running, this logical name is automatically defined.) The use of the MARK command to mark messages require that a file be created for each user which saves the marked info. That file file is stored in the directory pointed to by the logical name BULL_MARK. You can either let users who want to use this command define it themselves, or you can define it for them, i.e. DEFINE/SYSTEM BULL_MARK SYS$LOGIN. 5) INSTRUCT.COM This procedure adds 2 permanent messages which give a very brief description about the BULLETIN utility, and how to turn off optional prompting of non-system messages (via SET NOREADNEW). 6) BOARD_SPECIAL.COM This command procedure describes and illustrates how to use the SET BBOARD/SPECIAL feature. This feature allows the use of BBOARD where the input does not come from VMS MAIL. For example, this could be used in the case where mail from a non-DEC network is not stored in the VMS MAIL. Another example is BOARD_DIGEST.COM. This file takes mail messages from "digest" type mailing lists and splits them into separate BULLETIN messages for easier reading. To use this feature, place the special command procedure into the bulletin file directory using the name BOARD_SPECIAL.COM. If you want to have several different special procedure, you should name the command procedure after the username specified by the SET BBOARD command. 7) INSTALL_REMOTE.COM This procedure, in conjunction with REMOTE.COM and DCLREMOTE.COM allows a user to install new versions of BULLETIN on several DECNET nodes from a single node, rather than having to login to each node. This is especially useful when a new version modifies the format of one of the data file. Older versions of BULLETIN will not run with newer formats and will either issue error statements when run, or may cause major problems by attempting to change the files back to the old format. (NOTE: Don't attempt to use this if different nodes are running different versions of VMS, i.e. V4 and V5, as they require different linked executables.) 8) MASTER.COM If you are using PMDF, and want to use the BBOARD option, a set of routines are included which will allow PMDF to write message directly into folders, which is a much more effecient way of doing it than the normal BBOARD method of using VMS MAIL. Read PMDF.TXT for how to do this. 9) BULLETIN.COM If one wants BULLETIN to be able to send messages to other DECNET node's GENERAL folder, but wants to avoid running the process created by BULLETIN/STARTUP on this node, another method exists. This is the "older" (and slower) method. BULLETIN.COM must be put in each node's DECNET default user's directory (usually [DECNET]). Once this is done, the /NODE qualifier for the ADD & DELETE commands can be used. NOTE: Privileged functions such as /SYSTEM will work on other nodes if you have an account on the other node with appropriate privileges. You will be prompted for the password for the account on the remote node.