CNOTICE V2.2, SYSTEM_MANAGEMENT, A system for managing login notices NOTICE V2.2=Copyright © 1992--1998, Hunter Goatley. All rights reserved.<This kit contains all the files necessary for installing the6NOTICE utility. Requires OpenVMS VAX V5.4 or later orOpenVMS Alpha V1.0 or later.FNOTICE informs users of important (?) notices when they log in to aFVMS system. When a user logs in, he/she is informed of any newAnotices added to the system since his/her last interactive login.FNOTICE was written to provide some means for notifying users ofFimportant system changes (new software, new operating hours, etc.)Fwithout having to display a text file each time they log in. TheFheart of NOTICE is a normal VMS text library, which contains the textFof all NOTICE messages. When NOTICE is run with the /NEW qualifier, aFbrief description of all notices added to the system since the user's$last interactive login is displayed: $ notice? NOTICE topics. Type NOTICE for more information.$ Topic Date Description$ --------- ----------- -----------: VUG 22-APR-1992 VMS Users Group meeting, April 23 $FSuch a call to NOTICE would typically be placed in the system loginFprocedure (SYS$SYLOGIN) so it is executed each time an interactive user logs in.HOW NOTICE WORKS----------------FA simple command procedure is provided to help you manage the NOTICEFtext library (NOTICE_MGR.COM). Any time you wish to notify your usersFof some event, you can add a module to the text library. When NOTICEFis executed with /NEW, it compares their last interactive login timeF(which is the last time they logged in *before* the current session)Fwith the insertion date of each module in the NOTICE text library. IfFa module has been added since the last time the user logged in, it isFincluded in the list of NOTICES that is displayed (accompanied by abell).FThe /PAUSE qualifier can be given to cause NOTICE to prompt the user8to press RETURN to continue, iff there were new notices.FThe /TEXT qualifier can be used with /NEW to force notice to displayFthe text for all new notices, prompting the user to press RETURNFbetween each new notice. This is useful for those sites who want toFensure that users see the notices by displaying the full text atFlogin. NOTE: If you plan to use /TEXT, be sure your notices can beFdisplayed on a single screen, otherwise they will scroll off screenFbefore the user can read them. (SMG$ routines are not used when /NEW is given.)FUsers can examine the actual text of the message by adding the topicname to the NOTICE command: $ NOTICE FINALSFNOTICE works like TYPE/PAGE on video terminals---the user is promptedFto press RETURN before each screen is scrolled so they can read the+notice without having it scroll off-screen.FNOTICE can be configured to always display a topic in the NOTICE list.FNOTICE without any parameters will display all of the notices available.SETTING UP NOTICE-----------------<To link NOTICE, just execute the LINK.COM command procedure: $ @LINKHIf you have BLISS, you can use MMK or MMS to rebuild it in the [.SOURCE] directory.FYou must then create the NOTICE text library. You can either useCNOTICE_MGR.COM to do it, or you can execute the following commands:= $ LIBRARY/TEXT/CREATE NOTICE.TLB !Or any other name you wantFYou then define a system logical to point to the library.(NOTICE_STARTUP.COM can be edited to do this):8 $ DEFINE/SYSTEM/EXEC NOTICE_LIBRARY dev:[dir]NOTICE.TLBFThe protection on the NOTICE library should be set to W:R and fullaccess by SYSTEM:( $ SET FILE/PROT=W:R dev:[dir]NOTICE.TLBFWith W:R access to the text library, NOTICE requires no privileges,8though you may want to install it to speed access to it:4 $ INSTALL ADD dev:[dir]NOTICE.EXE/OPEN/HEADER/SHARE8(Again, this command is included in NOTICE_STARTUP.COM.)FFinally, you'll need to define NOTICE as a foreign command inFSYS$SYLOGIN (by default, SYS$MANAGER:SYLOGIN.COM) and execute it for all users.4 $ notice :== $dev:[dir]notice.exe !Define globally!% $ notice !Display any new noticesFThere is a help file that can be added to a help library. You may put@it in either the system help library or a site-specific library:? $ LIBRARY/HELP/INSERT SYS$HELP:HELPLIB NOTICE.HLP !System help"ADDING NOTICES TO THE TEXT LIBRARY"----------------------------------?There are only two restrictions on the text of NOTICE messages:F o The TOPIC name *should* be no more than 10 characters. The topicH name cannot be truncated when users type NOTICE , so keeping? it under 10 characters makes it easier to type the topics.E o The *first* line in the message is used as the brief descriptionH shown at login time and when NOTICE without qualifiers is executed./A typical format might look like the following:2 -------------------------------------------------' New NOTICE utility added to the systemE A new utility, NOTICE, has been added to the system to inform you of important system announcements.2 -------------------------------------------------FIf the file above was added as module NOTICE to the text library, the&NOTICE listing for it would look like: $ notice/new? NOTICE topics. Type NOTICE for more information.$ Topic Date Description$ --------- ----------- -----------? NOTICE 22-APR-1992 New NOTICE utility added to the system $FWhen a user types NOTICE NOTICE (in this example), the screen would be-cleared and the following would be displayed:3 --------------------------------------------------- Notice NOTICE, dated 23-APR-1992 19:01:23.34' New NOTICE utility added to the systemE A new utility, NOTICE, has been added to the system to inform you of important system announcements.3 --------------------------------------------------MANAGING THE NOTICE LIBRARY---------------------------FThe command procedure NOTICE_MGR.COM can be used to manage the NOTICE>text library. When executed, the following menu is displayed: $ @notice_mgr NOTICE library maintenance 1. List the library contents- 2. Add/replace a module to/in the library2 3. Touch a module in the library (update date)# 4. Edit a module in the library% 5. Rename a module in the library' 6. Delete a module from the library 7. Create a new library 0. Exit Choice <0>: FNOTICE_MGR is not bullet-proof, but it does work. Typically, youFwould add a module using option 2. You will be prompted for the fileFname to add (you will be placed in an editor if the named file doesn'tFexist) and for the module name. The module name is then used as the( name on the NOTICE command line.FOption 3, "Touch a module," lets you update the insertion date for aFmodule so that users will see the module listed again the next timeFthey log in. A sample use for this option would be an announcementFadded a week before an event. To remind users again, you mightF"touch" the module again the day of the event so that users will seeit again that day.BNOTICE_MGR is, I believe, pretty self-explanatory and easy to use.SETTING UP "PERMANENT" NOTICES------------------------------FIf you would like to ensure that a notice is displayed every time aFuser is logged in (for very important notices like operating hoursFduring holidays), you simply add a dollar sign ($) to the beginning ofFthe name of the module. For example, suppose the file FINALS.TXTFcontains the lab hours during finals week. If you add it to theFlibrary with a module name of "$FINALS", the user will see topicF"FINALS" displayed at every login until the module is deleted. NoteFthat the user never sees the "$" in the topic name---only the NOTICEadministrator knows it's there.CALLABLE NOTICE---------------FIf you have a program that you run as part of SYLOGIN, you can have itFcall NOTICE_MAIN() in the .OBJ file NOTICE_SYLOGIN. The effect is theFsame as specifying NOTICE/NEW in the SYLOGIN.COM, except that youFavoid another image activation. NOTICE_MAIN() accepts two parameters,Fboth flags passed by value. If the first parameter is omitted or 0,Fthe output is the same as NOTICE/NEW. If the flag is one, the effectFis NOTICE/NEW/PAUSE. The second parameter corresponds to the /TEXT#qualifier; its value can be 0 or 1. Sample call: void notice_main(int); [...]< notice_main(1,0); !Show new NOTICEs, make user press RETURN-To link it, use a command like the following:- $ link sylogin,notice_sylogin,notice/library LIMITATIONS -----------FThe only known NOTICE limitations are imposed by the use of the textFlibrary (for example, it would be nice to have modules automaticallyFexpire at a certain time). However, the big advantage of using a textFlibrary is that the DCL LIBRARY command can be used to manage the<NOTICE database; a new interface did not have to be written.P--------------------------------------------------------------------------------Files in this directory:AAAREADME.DOC This fileAAAREADME.TOO Change history.LINK.COM Command procedure to link the image5NOTICE.ALPHA_OLB NOTICE object library for Alpha AXP-NOTICE.HLP VMS on-line HELP file for NOTICE*NOTICE.OLB NOTICE object library for VAX2NOTICE_MGR.COM NOTICE database manager procedure9NOTICE_STARTUP.COM Procedure to start NOTICE on a systemBNOTICE_SYLOGIN.ALPHA_OBJ Alpha AXP object file for callable NOTICE7NOTICE_SYLOGIN.OBJ VAX object file for callable NOTICEFiles in [.SOURCE]:9CVTHELP.TPU TPU procedure to convert .HELP file to .RNH2DESCRIP.MMS Description file for building NOTICE*HGMACROS.REQ BLISS macros used by NOTICE2NOTICE.B32 BLISS source for main NOTICE routines)NOTICE.HELP Source for NOTICE help text&NOTICE_CLD.CLD CLI$ definitions file(NOTICE_MSG.MSG Messages used by NOTICE7NOTICE_PUT_OUTPUT.B32 BLISS source for output routines=SYLOGIN_SAMPLE.B32 BLISS source for a sample SYLOGIN programP--------------------------------------------------------------------------------CONTACTING THE AUTHORKComments, suggestions, and questions about this software can be directed to-the author at one of the following addresses:1E-mail: Hunter Goatley P--------------------------------------------------------------------------------COPYRIGHT NOTICEMThis software is COPYRIGHT © 1992--1997, HUNTER GOATLEY. ALL RIGHTS RESERVED.KPermission is granted for not-for-profit redistribution, provided allKsource and object code remain unchanged from the original distribution, and)that all copyright notices remain intact. DISCLAIMERCThis software is provided "AS IS". The author and Process SoftwareECorporation make no representations or warranties with respect to the<software and specifically disclaim any implied warranties of6merchantability or fitness for any particular purpose.ÿÿ