comparison test/resources/sysman_handbook.html @ 2:5da2e67620f9

Upgrade to Ivy configuration and begin clean up of tests. Added FreeBSD license.
author smith@nwoca.org
date Tue, 25 Jan 2011 17:06:57 -0500
parents
children 22ed6d93442c
comparison
equal deleted inserted replaced
1:b6e94d49a9a9 2:5da2e67620f9
1 <html>
2 <a name="first_page"></a>
3
4 <!-- This file created using DECdocument Version V3.3h on 25-JAN-2011 16:09:07.97 -->
5 <!-- TAG definitions version: V3.3h -->
6 <!-- The SDML doctype is: SOFTWARE.REFERENCE -->
7 <!-- The output destination was: HTML -->
8 <!-- SDML file is: NWB:[SMITH.DEV.SDML]OECN10_SYSMAN_HANDBOOK.SDML -->
9
10 <body>
11 <head>
12 <title>Ohio Educational Computer Network System (OECN)</title>
13 <style>
14 A:hover {color: green}
15 A:active {color: red; background-color: white}
16 </style>
17 </head>
18 <h1 align="center">Ohio Educational Computer Network System (OECN)</h1>
19 <h1 align="center">System Manager Manual</h1>
20 As Developed by: Ohio Department of Education, State Software
21 Development Team
22 <p align=center>
23 <strong>Revision/Update Information: </strong>
24 May, 2001
25
26 <p>
27 <hr size=5>
28 <h4>Copyright &copy;1992, 1995 Ohio Department of Education</h4>
29
30 <p>
31 Permission to reproduce this document is hereby granted, provided that
32 all such reproductions include all of this document (including this
33 copyright notice), and are not distributed for profit or resale.
34 <p>
35 <table border=5>
36 <tr>
37 <td width=120 align=center>
38 <a href="oecn10_sysman_handbook_full_contents.html"><font size=+2>Contents</font></a>
39 </td>
40 </tr>
41 </table>
42 <a name="post_contents"></a>
43
44 <p>
45 <hr size=5>
46 <a name="menu_processor"><h1>Menu Processor Theory and Implementation</h1></a>
47 <br>
48 <br>
49
50 <p>
51 This section contains 6 chapters which describe the OECN Menu Processor
52 for the system manager. It includes a complete description of the
53 theory and implementation of the menu processor on a VAX/VMS system.
54 The 6 chapters are:
55
56 <p>
57 Introduction
58 <br>
59 Theory
60 <br>
61 Implementation
62 <br>
63 Invoking the Menu Processor
64 <br>
65 Modifying and Creating Menu Systems
66 <br>
67 Customizing Menus from the Distribution
68
69 <p>
70 <hr size=5>
71 <a name="menu_intro"><h1>Chapter 1<br>Introduction</h1></a>
72
73 <p>
74 The OECN Menu processor provides a flexible user menu interface to
75 State Software programs. It also can be used to create menus for DCL
76 commands, and other layered products. Menu definitions will be provided
77 for all state software programs. Individual A-sites will be able to add
78 customized menus to the default menu system provided.
79
80 <a name="menu_features_head"><h1>1.1 Features</h1></a>
81
82 <p>
83 The Menu processor provides the following features:
84
85 <ul>
86 <li>User may access an item by its item number or label.
87 <li>Abbreviations are allowed on the current menu.
88 <li>Aliases are supplied for all items. The user may enter the label
89 name for any item on any menu in the current menu system.
90 <li>Help may be obtained for the current menu via the VMS Help utility.
91 <li>Users will only see the items on the menu that they are authorized
92 to access.
93 </ul>
94
95 <p>
96 Features for the system manager:
97
98 <ul>
99 <li>May be used for CAPTIVE user accounts.
100 <li>Menus or items may be easily added or removed.
101 <li>Access to items and menus may be controlled with the standard
102 OECN_xxxx VMS security identifiers.
103 <li>The OSA utility may be used to customize security.
104 <li>A menu system may consist of multiple menu files. This allows
105 individual A-sites to add custom menus without modifying the menus
106 included in the distribution.
107 <li>By default, does not spawn a subprocess when executing a command.
108 All commands execute in the current process. This prevents the
109 excessive overhead associated with repeatedly spawning subprocesses.
110 <li>Optionally, spawns most commands in a subprocess. Spawning commands
111 may increase response time for larger VAX processors. This may be
112 configured by the system manager.
113 <li>May be used from batch if the third parameter to the OECN_MENU
114 procedure is used.
115 <li>Optional timeout feature that automatically exits the menu system
116 if the user remains inactive for a specified period.
117 </ul>
118
119 <p>
120 <hr size=5>
121 <a name="menu_theory"><h1>Chapter 2<br>Theory</h1></a>
122
123 <p>
124 The basic theory behind the Menu processor is fairly simple. The menu
125 definitions are stored in an RMS indexed file. The menu definitions are
126 flexible enough to allow creation of menus containing any combination
127 of DCL commands, programs and information.
128
129 <a name="menu_terms_head"><h1>2.1 Definition of Terms</h1></a>
130
131 <p>
132 First, it will be helpful to define some terms that will be used
133 throughout the rest of this document. <p>
134
135 <table border=3>
136 <caption><a name="menu_terms_tab"><strong>Table 2-1 Menu System Terms</strong></a></caption>
137 <tr>
138 <th align=center>Term </th>
139 <th align=center>Meaning </th>
140 </tr>
141 <tr>
142 <td>
143 Menu Processor
144 </td>
145 <td>
146 The program that the user runs to enter a menu system.
147 </td>
148 </tr>
149 <tr>
150 <td>
151 menu
152 </td>
153 <td>
154 A menu consists of the menu heading and the menu items on that menu.
155 </td>
156 </tr>
157 <tr>
158 <td>
159 menu name
160 </td>
161 <td>
162 The name of the menu as defined in the MENUEDT program.
163 </td>
164 </tr>
165 <tr>
166 <td>
167 menu item
168 </td>
169 <td>
170 An item on a menu. An item belongs to a specific menu and must have a
171 label that is unique throughout the menu system.
172 </td>
173 </tr>
174 <tr>
175 <td>
176 label
177 </td>
178 <td>
179 A label is the unique name for an item. It is defined in the MENUEDT
180 program and is the label the user will see on the actual menu.
181 </td>
182 </tr>
183 <tr>
184 <td>
185 menu file
186 </td>
187 <td>
188 A file created by MENUEDT that contains the menu definitions for one
189 for more menus.
190 </td>
191 </tr>
192 <tr>
193 <td>
194 menu system
195 </td>
196 <td>
197 A menu system is a collection of menus that the user has access to.
198 This is the
199 <strong>logical</strong> menu system as viewed by a specific user. A
200 system may consist of one or more physical menu files.
201 </td>
202 </tr>
203 <tr>
204 <td>
205 menu specification
206 </td>
207 <td>
208 A menu specification is the format for specifying a menu. The
209 specification may contain a file and/or a menu name.
210 </td>
211 </tr>
212 <tr>
213 <td>
214 alias
215 </td>
216 <td>
217 For each item in the menu system an alias is created. It has the same
218 name as the item's label. The alias is global to the entire menu
219 system, i.e., it crosses all menu file boundaries. The alias must be
220 unique within each menu system.
221 </td>
222 </tr>
223 </table>
224
225 <a name="menu_files_theory"><h1>2.2 How Menu Files Create a Menu System</h1></a>
226
227 <p>
228 <a href="oecn10_sysman_handbook_full.html#menu_system_fig">Figure 2-1</a> displays a graphical representation of a possible menu
229 system.
230 <a name="menu_system_fig"></a>
231 <p>
232 <strong>Figure 2-1 Conceptual View of a Menu system</strong>
233 <hr>
234
235 <p>
236 <table border=0>
237 <tr>
238 <td>
239 <br>
240 <pre>
241 +-----------------------Menu-System-------------------+
242 | +Menu-File+ |
243 | | | +-Alias-File-+|
244 | | +Menu+ | | ||
245 | | | | | | ||
246 | | +----+ | | ||
247 | +----+----+ | ||
248 | +-------+------------+ +------------+|
249 | +---Menu+File--+ +Menu+File-+ +-Secur-File-+|
250 | | +Menu+ | | | | ||
251 | | | | | | +Menu+ | | ||
252 | | +-+--+ | | | | | | ||
253 | | +------+ | | +----+ | | ||
254 | | +Menu+ +Menu+| +----+-----+ +------------+|
255 | | | | | || +----+------+ |
256 | | +----+ +-+--+| | | |
257 | | +------+ | +Menu+File+ +Menu+File+ |
258 | | +Menu+ +Menu+| | +Menu+ | | +Menu+ | |
259 | | | | | || | | | | | | | | |
260 | | +----+ +----+| | +----+ | | +----+ | |
261 | +--------------+ +---------+ +---------+ |
262 +-----------------------------------------------------+
263 </pre>
264 </table>
265
266 <p>
267 You can see from <a href="oecn10_sysman_handbook_full.html#menu_system_fig">Figure 2-1</a> that a menu system as seen by the user may
268 consist of multiple menu files, and a menu file may contain multiple
269 menus. This provides considerable flexibility for designing and
270 modifying a menu system.
271
272 <p>
273 The menu system that is included with the distribution will have a
274 separate menu file for each OECN state software package. Additionally,
275 each major package will have a <strong>local</strong> menu. This local
276 menu will be in a separate menu file and left blank. You will be able
277 to customize this local menu without disturbing the other menus.
278
279 <p>
280 A more detailed description of how to modify and create menus will
281 follow later in this document. The method used to customize local menus
282 will be discussed.
283
284 <p>
285 Each menu system has one alias file. This file is used to find an
286 item's location if the user enters an alias.
287
288 <p>
289 Also, the menu system may have one local security file. This file is
290 optional and created by the OSA utility. See the OECN Software Security
291 for VAX/VMS System Manager manual for more information about security
292 and the OSA utility.
293
294 <a name="menu_specs_head"><h1>2.3 Menu Specifications</h1></a>
295
296 <p>
297 Throughout this document there are references to <strong>menu
298 specifications</strong>. Wherever a menu specification is required the
299 following syntax is allowed:
300 <table border=0>
301 <tr>
302 <td>
303 <br>
304 <pre>
305 @menu_file\menu_name
306 </pre>
307 </td>
308 </tr>
309 </table>
310 <p>
311
312 <table border=3>
313 <tr>
314 <th align=center>Parameter </th>
315 <th align=center>Meaning </th>
316 </tr>
317 <tr>
318 <td>
319 @menu_file
320 </td>
321 <td>
322 Name of a menu file that contains menu_name. If not specified then
323 menu_name is assumed to exist in the current menu file.
324 </td>
325 </tr>
326 <tr>
327 <td>
328 menu_name
329 </td>
330 <td>
331 A menu within either the specified menu file or the current menu file.
332 </td>
333 </tr>
334 </table>
335
336 <p>
337 A valid menu specification contains one or both of these components.
338
339 <p>
340 If a menu name is specified without a menu file then the menu is
341 assumed to exist in the current menu file. If there is no current menu
342 file then OECN$MENU is used.
343
344 <p>
345 If a menu file is specified without a menu name then the default menu
346 of the menu file's header record is used.
347
348 <p>
349 If both the menu file and menu name are specified they must be
350 separated by a backslash (\).
351
352 <p>
353 Examples:
354
355 <table border=3>
356 <tr>
357 <th align=center>Specification </th>
358 <th align=center>Result </th>
359 </tr>
360 <tr>
361 <td>
362 @BUD_MENU\USAS_PRC
363 </td>
364 <td>
365 Goes to the USAS_PRC menu of the BUD_MENU file.
366 </td>
367 </tr>
368 <tr>
369 <td>
370 @MAIN_MENU
371 </td>
372 <td>
373 Goes to the default menu of the MAIN_MENU file.
374 </td>
375 </tr>
376 <tr>
377 <td>
378 LOCAL
379 </td>
380 <td>
381 Goes to the LOCAL menu of the current file.
382 </td>
383 </tr>
384 </table>
385
386 <a name="alias_file_head"><h1>2.4 The Alias File</h1></a>
387
388 <p>
389 Each menu system may have exactly one <strong>alias file</strong>. An
390 alias file contains a record for each menu item in the menu system.
391 This alias record contains a pointer to the proper menu file that
392 contains the item.
393
394 <p>
395 When the user enters a label name that is not on the current menu, the
396 alias file is checked for the label. If found then the item is located
397 in the appropriate menu file, and, assuming the user has access to the
398 item, it is executed. This allows the user to get to any item or menu
399 in the menu system without navigating through the intervening menus.
400
401 <p>
402 The alias file is built automatically by the MENUUTL program. See
403 <a href="oecn10_sysman_handbook_full.html#build_alias_head">Section 5.2.1, Building the Alias File</a> for more information about creating the alias file.
404
405 <a name="option_exec_sect"><h1>2.5 Option execution</h1></a>
406
407 <p>
408 By default, the menu processor does <em>not</em> spawn subprocesses to
409 execute user options. All commands are executed in the user's current
410 process. This implies that menu processor image must exit and restart
411 (activate) after each option has completed. This is called
412 <strong>"terminate and execute"</strong> mode. This mode may provided
413 optimal response time for smaller VAX processors, particularly machines
414 with small memory configurations.
415
416 <a name="heading_2.5.1"><h2>2.5.1 Spawning Options</h2></a>
417
418 <p>
419 Another mode that may be chosen by the system manager is "spawn and
420 execute". In this mode, <em>most</em> commands are executed in a
421 subprocess. The menu processor remains running in the main process and
422 does not terminate. Spawning options may reduce response time for
423 larger VAX machines with excess physical memory.
424
425 <p>
426 No firm guidelines can be provided to suggest which mode will provide
427 optimal response time and resource utilization for a given system.
428 Response time in both modes is determined by machine size, available
429 memory, tuning, typical load on the system, etc. Trial and error under
430 a typical work load is the only way to determine the best mode. If the
431 time required to spawn a process is less than the time required to
432 activate the menu image, then spawning is preferable.
433
434 <p>
435 To implement menu option spawning the system manager must be aware of
436 the following:
437
438 <ol start=1 >
439 <li>Users must have a PRCLM Authorize quota of at least 1. If the user
440 executes programs that also spawn processes (e.g., TPU/EVE, WPS) they
441 may need a higher PRCLM quota.
442 <li>Other user quotas also may need to be increased in order for the
443 main and subprocess to have access to sufficient resources.
444 <li>BALCSETCNT (balance set count) in SYSGEN must be large enough to
445 handle the addition processes.
446 <li>Some types of options must be executed in the main process (see
447 below).
448 </ol>
449
450 <p>
451 Prior to implementing spawning you must carefully consider whether any
452 custom menu files contain any options that fall under #4 above. The
453 subprocess that is created by the menu processor is temporary (i.e.,
454 the subprocess logs out as soon as the option has completed). This
455 means that any commands performed in the subprocess will not be
456 permanent. If you have options that change user logicals, create
457 processes, etc. or anything that must affect both the main process and
458 the subprocess, you must modify your custom menu files.
459
460 <p>
461 The MENUEDT program will allow you to define an item type "DP" (DCL
462 command in Parent). These types of items will always be executed in the
463 main process using "terminate and execute". These means that any
464 commands executed in this way will affect both the main process and
465 subprocess. These types of items should be used sparingly and will
466 seldom be necessary. The only item in the menu files distributed by
467 SSDT that need the "DP" item type was the DETPRT option of the LOCAL
468 menu. All other SSDT menu items may be executed in a subprocess.
469
470 <a name="heading_2.5.2"><h2>2.5.2 Selecting Execution Mode</h2></a>
471
472 <p>
473 To select either "terminate and execute" or "spawn and execute" mode,
474 the system manager needs only define a single logical. The logical name
475 is OECN$MENU_BEHAVIOR and may be defined in the SYSTARTUP procedure.
476 The valid values are: TERMINATE or SPAWN. For example, if you want to
477 use "spawn and execute", add the following line the SYSTARTUP procedure:
478
479 <p>
480 <table border=0>
481 <tr>
482 <td>
483 <br>
484 <pre>
485 $ DEFINE/SYSTEM OECN$MENU_BEHAVIOR "SPAWN"
486 </pre>
487 </table>
488
489 <p>
490 This logical also can be defined at the group or process level. If the
491 logical is not defined, the default is "TERMINATE".
492
493 <a name="timeout_head"><h1>2.6 Inactivity Timeout</h1></a>
494
495 <p>
496 The menu processor has an optional feature that will cause it to
497 automatically exit if the user does not enter a command after a
498 specified period of time. This might be a useful security feature for
499 user users who remain idle in the menu for long periods of time or
500 forget to logout.
501
502 <p>
503 The system manager may add a command to the OECN$MENU_BEHAVIOR logical
504 that will enable the timeout feature. The following syntax may be used:
505
506 <p>
507 <table border=0>
508 <tr>
509 <td>
510 <br>
511 <pre>
512 $ DEFINE/SYSTEM OECN$MENU_BEHAVIOR "TIMEOUT=n"
513 </pre>
514 </table>
515
516 <p>
517 Where <em>n</em> is the number minutes to wait with no activity. After
518 the timeout period expires without any options being entered, the menu
519 processor will exit automatically.
520
521 <p>
522 <center>
523 <table border=0 width=75%>
524 <tr>
525 <td><center><font size=+2><strong>Note</strong></font></center><hr
526 size=1 noshade>
527 The menu processor simply exits the menu and returns to DCL it does not
528 log the user off the system. It is up to the local captive login
529 procedure or other mechanism to log the user off. </td>
530 </tr>
531 </table>
532 </center>
533
534 <p>
535 <hr size=5>
536 <a name="menu_implentation_chap"><h1>Chapter 3<br>Implementation</h1></a>
537
538 <p>
539 Several steps are required in order to implement the Menu Processor on
540 your system. The steps are briefly outlined below, detailed
541 explanations follow:
542
543 <ol start=1 >
544 <li> Install the OECN, MENU and HELP distribution packages with
545 OECN_INSTALL.
546 <li> Establish the necessary OECN logicals.
547 <li> Move the menu files and VMS Help libraries from the distribution
548 directories to the appropriate directories on your system.
549 <li> Create the OECN_MENU symbol.
550 <li> Use the VMS Install utility to make the Menu Processor a known,
551 shared image.
552 </ol>
553
554 <a name="installation_head"><h1>3.1 Installation</h1></a>
555
556 <p>
557 The Menu Processor uses files from the OECN, MENU and HELP packages.
558 Install these packages as usual using OECN_INSTALL. For further
559 information about OECN_INSTALL see OECN_INSTALL.DOC in the VAX manager
560 documentation directory.
561
562 <a name="logicals_head"><h1>3.2 Establish OECN Logicals</h1></a>
563
564 <p>
565 Several logicals are used by the Menu Processor to locate the menu
566 files and VMS Help libraries. <p>
567
568 <table border=3>
569 <caption><a name="logicals_tab"><strong>Table 3-1 Menu Logicals</strong></a></caption>
570 <tr>
571 <th align=center>Logical </th>
572 <th align=center>Purpose </th>
573 </tr>
574 <tr>
575 <td>
576 OECN$MENU$FILES
577 <sup>1</sup>
578 </td>
579 <td>
580 Device and directory where the menu files are located.
581 </td>
582 </tr>
583 <tr>
584 <td>
585 OECN$MENU
586 <sup>2</sup>
587 </td>
588 <td>
589 Default menu file if none is specified by the user when the Menu
590 Processor is invoked.
591 </td>
592 </tr>
593 <tr>
594 <td>
595 OECN$ALIAS
596 <sup>2</sup>
597 </td>
598 <td>
599 Default alias file that is used if none is specified when the Menu
600 Processor is invoked.
601 </td>
602 </tr>
603 <tr>
604 <td>
605 OECN$SECUR
606 </td>
607 <td>
608 Local security file. Optional. Created by OSA utility to define local
609 security.
610 </td>
611 </tr>
612 <tr>
613 <td>
614 OECN$HELP
615 <sup>1</sup>
616 </td>
617 <td>
618 Device and directory where the VMS Help libraries are located.
619 </td>
620 </tr>
621 <tr>
622 <td>
623 OECN$MENU_HELP
624 <sup>2</sup>
625 </td>
626 <td>
627 Default menu help library. Used when the user presses
628 <kbd>[PF2]</kbd> or ?.
629 </td>
630 </tr>
631 <tr>
632 <td>
633 OECN_MENU_PROMPT
634 </td>
635 <td>
636 Default prompt to be used in the Menu Processor. Optional. May be
637 overridden by the user with a SET PROMPT command.
638 </td>
639 </tr>
640 <tr>
641 <td>
642 OECN_MENU_MODE
643 </td>
644 <td>
645 Default mode. Optional. May contain the "MENU" or "COMMAND". May be
646 overridden by the user with a SET MODE command.
647 </td>
648 </tr>
649 <tr>
650 <td>
651 OECN$MENU_BEHAVIOR
652 </td>
653 <td>
654 Optional logical that may contain commands to control how the menu
655 processor behaves at run-time. This logical is defined by the system
656 manager. See <a href="oecn10_sysman_handbook_full.html#behavior_logical">3.2.1</a>.
657 </td>
658 </tr>
659 </table>
660 <hr>
661 <sup>2</sup> Defined by the OECN_STARTUP procedure.
662 <br>
663 <sup>1</sup>May be defined as a search list.
664 <br>
665 <hr>
666
667 <p>
668 OECN$MENU$FILES and OECN$HELP must be defined in either the SYSTARTUP
669 or individual LOGIN.COM files. These logicals may be defined at the
670 system, group or process level. For example, the OECN$MENU logical may
671 be defined for each user to provide a different default menu.
672
673 <a name="behavior_logical"><h2>3.2.1 Specifying options with OECN$MENU_BEHAVIOR logical</h2></a>
674
675 <p>
676 This section describes the commands that may be placed in the
677 OECN$BEHAVIOR logical. The syntax for the logical definition is:
678
679 <p>
680 <table border=0>
681 <tr>
682 <td>
683 <br>
684 <pre>
685 $ DEFINE/SYSTEM OECN$MENU_BEHAVIOR "command[,command]..."
686 </pre>
687 </table>
688
689 <p>
690 Where <em>[command]</em> is one of the commands in the following table.
691 The command(s) must be enclosed in quotes and be in uppercase. When
692 multiple commands are specified they must be separated by commas (,).
693 This logical can be defined at the system, group, job or process level.
694 <p>
695
696 <table border=3>
697 <caption><a name="Table_3-2"><strong>Table 3-2 Behavior Options</strong></a></caption>
698 <tr>
699 <th align=center>Command </th>
700 <th align=center>Description </th>
701 </tr>
702 <tr>
703 <td>
704 TERMINATE
705 </td>
706 <td>
707 Causes the processor to use the &quot; terminate and execute &quot;
708 method for executing options. This is the default behavior.
709 </td>
710 </tr>
711 <tr>
712 <td>
713 SPAWN
714 </td>
715 <td>
716 Causes the processor to spawn all DCL and Program type action items in
717 a subprocess.
718 </td>
719 </tr>
720 <tr>
721 <td>
722 TIMEOUT=n
723 </td>
724 <td>
725 Sets the inactivity timeout interval to n minutes.
726 </td>
727 </tr>
728 <tr>
729 <td>
730 NOTIMEOUT
731 </td>
732 <td>
733 Disables inactivity timeout. This is the default behavior.
734 </td>
735 </tr>
736 </table>
737
738 <p>
739 For example, to specify the spawn option and a timeout of 30 minutes
740 use the following command:
741
742 <p>
743 <table border=0>
744 <tr>
745 <td>
746 <br>
747 <pre>
748 $ DEFINE/SYSTEM OECN$MENU_BEHAVIOR "SPAWN,TIMEOUT=30"
749 </pre>
750 </table>
751
752 <a name="move_files_head"><h1>3.3 Move Files to Appropriate Directories</h1></a>
753
754 <p>
755 Move the menu files (OECN$ROOT:[MENU.DIST]*.DAT) to the directory
756 referenced by OECN$MENU$FILES.
757
758 <p>
759 Move the VMS Help libraries from the HELP package distribution
760 directory to the directory referenced by OECN$HELP.
761
762 <p>
763 The users of the Menu Processor must have read access to the above
764 files.
765
766 <p>
767 Also move the following files to the OECN$ directory:
768
769 <blockquote>
770 OECN$ROOT:[OECN.V1P0.DIST]MENU.EXE
771 <br>OECN$ROOT:[OECN.V1P0.DIST]OECN_MENU.COM
772 </blockquote>
773
774 <p>
775 The users must have execute access to these files.
776
777 <a name="add_symbol_head"><h1>3.4 Add Global Symbol</h1></a>
778
779 <p>
780 Add the following symbol to either your SYLOGIN.COM or each user's
781 LOGIN.COM who will be using the system:
782
783 <p>
784 <table border=0>
785 <tr>
786 <td>
787 <br>
788 <pre>
789 $ OECN_MENU :== $OECN$:MENU
790 </pre>
791 </table>
792
793 <p>
794 This creates a foreign command that the OECN_MENU.COM procedure uses to
795 invoke the Menu Processor. Other symbols may be necessary to make it
796 easier for your users to invoke a menu. These symbols will be discussed
797 in the <a href="oecn10_sysman_handbook_full.html#invoking_chap">Chapter 4, Invoking the Menu Processor</a>. The OECN_MENU symbol is the only required symbol.
798
799 <a name="install_head"><h1>3.5 Install the Menu Processor</h1></a>
800
801 <p>
802 Although it is not necessary for proper execution of the Menu
803 Processor, it is <strong>strongly</strong> recommended that you install
804 the Menu Processor as a known image.
805
806 <p>
807 Because the Menu Processor does not spawn a subprocess it must be
808 reactivated after each time the user selects a menu item. If the image
809 is not installed, image activation will cause a noticeable delay in the
810 Menu Processor.
811
812 <p>
813 The recommended method of installing the image is to add the following
814 commands to your SYSTARTUP.COM:
815
816 <p>
817 <table border=0>
818 <tr>
819 <td>
820 <br>
821 <pre>
822 $ INSTALL :== $INSTALL/COMMAND_MODE
823 $ INSTALL ADD OECN$:MENU.EXE/OPEN/SHARED/HEADER
824 </pre>
825 </table>
826
827 <p>
828 <hr size=5>
829 <a name="invoking_chap"><h1>Chapter 4<br>Invoking the Menu Processor</h1></a>
830
831 <p>
832 The Menu Processor must be invoked via a command procedure that is
833 provided as part of the OECN package. The Menu Processor depends on
834 this command procedure to perform several vital functions and to
835 actually execute any items selected by the user. Absolutely nothing
836 useful will happen if the Menu Processor is invoked directly.
837
838 <p>
839 Additionally, the Menu Processor is invoked by the command procedure
840 with a foreign command. Therefore the following symbol definition is
841 required. See <a href="oecn10_sysman_handbook_full.html#add_symbol_head">Section 3.4, Add Global Symbol</a>.
842
843 <p>
844 <table border=0>
845 <tr>
846 <td>
847 <br>
848 <pre>
849 $ OECN_MENU == "$OECN:MENU"
850 </pre>
851 </table>
852
853 <p>
854 To invoke the menu processor the following command must be used:
855
856 <p>
857 <table border=0>
858 <tr>
859 <td>
860 <br>
861 <pre>
862 $ @OECN$:OECN_MENU [menu spec] [alias file] [menu_option]
863 </pre>
864 </table>
865
866 <p>
867 The OECN_MENU.COM command procedure is provided with the distribution
868 and must be used to invoke the menu processor.
869
870 <p>
871 The first parameter is an optional menu specification that specifies
872 the default menu file and menu to be used. If the menu specification is
873 not supplied then OECN$MENU is used by default. See <a href="oecn10_sysman_handbook_full.html#menu_specs_head">Section 2.3, Menu Specifications</a> for
874 more information about menu specifications.
875
876 <p>
877 The second optional parameter is the alias file for the menu system
878 being invoked. If not specified then OECN$ALIAS is used by default.
879
880 <p>
881 The third optional parameter is a menu command, option or alias to be
882 executed. If this parameter is specified then the menu processor will
883 execute the option and return to DCL, the user will
884 <strong>not</strong> be left in the menus after the option has finished
885 executing. This could be used as a replacement for the DCL RUN command,
886 particularly for batch procedures. This would insure that batch
887 procedures do the same security checking as interactive processes.
888
889 <p>
890 <center>
891 <table border=0 width=75%>
892 <tr>
893 <td><center><font size=+2><strong>Note</strong></font></center><hr
894 size=1 noshade>
895 The menu processor will operate properly in batch only if the third
896 parameter is supplied. If the parameter is not specified the menu
897 processor will not function in batch. </td>
898 </tr>
899 </table>
900 </center>
901
902 <p>
903 This command may be defined in a global symbol, invoked from a captive
904 login procedure or from inside another procedure. No restrictions are
905 placed on the method of invoking the Menu Processor.
906
907 <a name="invoke_example_head"><h1>4.1 Examples</h1></a>
908
909 <p>
910 For most users the following symbol definition is sufficient:
911
912 <p>
913 <table border=0>
914 <tr>
915 <td>
916 <br>
917 <pre>
918 $ MENU == "@OECN$:OECN_MENU"
919 </pre>
920 </table>
921
922 <p>
923 This will invoke the Menu Processor with the default menu and alias
924 file. This will normally, unless changed by you, be the MAIN_MENU file,
925 which contains menu items for all state software packages.
926
927 <p>
928 If users will be using the third parameter (or it will be used from
929 batch) then the following symbol might be used:
930
931 <p>
932 <table border=0>
933 <tr>
934 <td>
935 <br>
936 <pre>
937 $ MENU == "OECN$:OECN_MENU """" """" "
938 </pre>
939 </table>
940
941 <p>
942 This will leave the first two parameters as null (accepting the default
943 menu and alias files) and allow the third parameter to be specified
944 after the MENU symbol.
945
946 <p>
947 As another possibility, suppose that you have a payroll user that would
948 rather be started out in the USPS menu. In this case put this symbol in
949 that user's LOGIN procedure:
950
951 <p>
952 <table border=0>
953 <tr>
954 <td>
955 <br>
956 <pre>
957 $ MENU == "@OECN$:OECN_MENU @PAY_MENU"
958 </pre>
959 </table>
960
961 <p>
962 This will put the user in the PAY_MENU directly. Note that this does
963 not restrict the user to the PAY_MENU, it just starts them out in that
964 menu.
965
966 <p>
967 <hr size=5>
968 <a name="modifying_menus_chap"><h1>Chapter 5<br>Modifying and Creating Menu Systems</h1></a>
969
970 <p>
971 The MENUEDT program is a fully functional maintenance program for
972 modifying and creating menu files. Another program, MENUUTL, provides
973 several necessary and useful utilities when manipulating the files,
974 such as building the alias file and reporting functions. <p>
975
976 <table border=3>
977 <caption><a name="menu_type_tab"><strong>Table 5-1 Menu Record Types</strong></a></caption>
978 <tr>
979 <th align=center>Record Type </th>
980 <th align=center>Function </th>
981 </tr>
982 <tr>
983 <td>
984 File Header Record
985 </td>
986 <td>
987 Contains information about the entire menu file. There is only one file
988 header record per file.
989 </td>
990 </tr>
991 <tr>
992 <td>
993 Menu Header Record
994 </td>
995 <td>
996 Contains information specific to one menu. There is no structural or
997 logical limit to the number of menus that may exist in a menu file.
998 </td>
999 </tr>
1000 <tr>
1001 <td>
1002 Item Record
1003 </td>
1004 <td>
1005 Contains the actual item that appears on a menu. Each item record
1006 belongs to one and only one menu. The number of items is limited by the
1007 Menu Processor to 50 items (about 4 screens).
1008 </td>
1009 </tr>
1010 </table>
1011
1012 <p>
1013 The menu files and records form a <em>loose</em> hierarchy. That is,
1014 the hierarchy is created by the person developing the menu system. The
1015 hierarchy is not enforced by the MENUEDT program or even the Menu
1016 Processor. The menus can be connected in an almost limitless number of
1017 combinations. It is impossible for the MENUEDT program to know exactly
1018 what the runtime environment will be for the menu file. Thus, very
1019 little error checking is performed or even attempted. This means that
1020 menus that you modify or create should be tested thoroughly before
1021 being made available to your users.
1022
1023 <a name="using_edt_head"><h1>5.1 Using MENUEDT</h1></a>
1024
1025 <p>
1026 When you first run the MENUEDT program it will prompt you for the name
1027 of the menu file to modify. If the file does not exist it will be
1028 created. <p>
1029
1030 <table border=3>
1031 <caption><a name="edt_options_tab"><strong>Table 5-2 MENUEDT Main Menu Options</strong></a></caption>
1032 <tr>
1033 <th align=center>Option </th>
1034 <th align=center>Function </th>
1035 </tr>
1036 <tr>
1037 <td>
1038 Add
1039 </td>
1040 <td>
1041 Adds new records of any type.
1042 </td>
1043 </tr>
1044 <tr>
1045 <td>
1046 Change
1047 </td>
1048 <td>
1049 Enters change mode for the current record.
1050 </td>
1051 </tr>
1052 <tr>
1053 <td>
1054 Delete
1055 </td>
1056 <td>
1057 Deletes the current record.
1058 </td>
1059 </tr>
1060 <tr>
1061 <td>
1062 Top
1063 </td>
1064 <td>
1065 Goes to top of file (File header record).
1066 </td>
1067 </tr>
1068 <tr>
1069 <td>
1070 Find
1071 </td>
1072 <td>
1073 Finds a record by menu or item name.
1074 </td>
1075 </tr>
1076 <tr>
1077 <td>
1078 Next
1079 </td>
1080 <td>
1081 Goes to the next record.
1082 </td>
1083 </tr>
1084 <tr>
1085 <td>
1086 Simulate
1087 </td>
1088 <td>
1089 Simulates how the menu will look to the user. The simulation is
1090 approximate since the MENUEDT upper window is smaller than in the Menu
1091 Processor.
1092 </td>
1093 </tr>
1094 <tr>
1095 <td>
1096 Open
1097 </td>
1098 <td>
1099 Closes the current menu file and prompts for a new menu file to open.
1100 </td>
1101 </tr>
1102 <tr>
1103 <td>
1104 Exit
1105 </td>
1106 <td>
1107 Exits MENUEDT.
1108 </td>
1109 </tr>
1110 </table>
1111
1112 <a name="menu_type_head"><h2>5.1.1 Menu File Record Types</h2></a>
1113
1114 <p>
1115 This section and the following sections show sample screens that are
1116 used by MENUEDT to modify the various record types. After each screen
1117 is a detailed explanation of each field and its purpose.
1118
1119 <a name="file_header_head"><h2>5.1.2 File Header Record</h2></a>
1120
1121 <p>
1122 The first record in each menu file must be a File Header record and
1123 each file must contain exactly one Header record.
1124
1125 <p>
1126 <table border=0>
1127 <tr>
1128 <td>
1129 <br>
1130 <pre>
1131
1132 Menu File Header Record:
1133
1134 1. Desc:
1135 2. Default menu:
1136 3. Modify default security identifiers
1137
1138 </pre>
1139 </table>
1140
1141 <p>
1142
1143 <table border=3>
1144 <caption><a name="file_header_fld_tab"><strong>Table 5-3 File Header Record Fields</strong></a></caption>
1145 <tr>
1146 <th align=center>Field </th>
1147 <th align=center>Description </th>
1148 </tr>
1149 <tr>
1150 <td>
1151 Desc
1152 </td>
1153 <td>
1154 This description is used in the heading for all menus in this file.
1155 </td>
1156 </tr>
1157 <tr>
1158 <td>
1159 Default Menu
1160 </td>
1161 <td>
1162 Is the default menu for this file if the user does not specify a menu
1163 when the file is invoked. This menu will normally be the top-level menu
1164 for this file.
1165 </td>
1166 </tr>
1167 <tr>
1168 <td>
1169 Modify default security identifiers
1170 </td>
1171 <td>
1172 Enters the
1173 <em>Security Id Maintenance</em> screen to allow default security
1174 identifiers to be placed on the menu file. See <a href="oecn10_sysman_handbook_full.html#secur_id_screen_head">Section 5.1.5</a> for more
1175 information about security identifiers.
1176 </td>
1177 </tr>
1178 </table>
1179
1180 <a name="menu_header_head"><h2>5.1.3 Menu Header Record</h2></a>
1181
1182 <p>
1183 The Menu Header record contains information about each menu in the
1184 file. There must be exactly one Header record for each menu contained
1185 in the file.
1186
1187 <p>
1188 <table border=0>
1189 <tr>
1190 <td>
1191 <br>
1192 <pre>
1193
1194 Menu header record:
1195
1196 1. Menu Name :
1197 2. Description :
1198 3. Heading Type:
1199 4. Help file :
1200 5. Help topic :
1201 6. Parent Menu :
1202 7. Modify Security Identifiers
1203
1204 </pre>
1205 </table>
1206
1207 <p>
1208
1209 <table border=3>
1210 <caption><a name="menu_header_fld_tab"><strong>Table 5-4 Menu Header Fields</strong></a></caption>
1211 <tr>
1212 <th align=center>field </th>
1213 <th align=center>Description </th>
1214 </tr>
1215 <tr>
1216 <td>
1217 Menu Name
1218 </td>
1219 <td>
1220 Name of the menu. This is the name that will be displayed in the menu
1221 heading.
1222 </td>
1223 </tr>
1224 <tr>
1225 <td>
1226 Description
1227 </td>
1228 <td>
1229 This description is used in the heading for this menu.
1230 </td>
1231 </tr>
1232 <tr>
1233 <td>
1234 Heading Type
1235 </td>
1236 <td>
1237 Indicates what type of menu heading to use for this menu.
1238 <table border=3>
1239 <tr>
1240 <td>
1241 A
1242 </td>
1243 <td>
1244 Heading contains both the file description and the menu description.
1245 </td>
1246 </tr>
1247 <tr>
1248 <td>
1249 B
1250 </td>
1251 <td>
1252 Heading contains only the menu heading description.
1253 </td>
1254 </tr>
1255 </table>
1256 </td>
1257 </tr>
1258 <tr>
1259 <td>
1260 Help File
1261 </td>
1262 <td>
1263 The VMS Help file that will be used if the user enters HELP at this
1264 menu.
1265 </td>
1266 </tr>
1267 <tr>
1268 <td>
1269 Help topic
1270 </td>
1271 <td>
1272 The initial topic string used when the user enters HELP.
1273 </td>
1274 </tr>
1275 <tr>
1276 <td>
1277 Parent Menu
1278 </td>
1279 <td>
1280 Must contain the parent menu specification for this menu. This is the
1281 menu that the user will return to when they enter /EXIT or ^. If this
1282 field is blank then the menu is assumed to be the top level menu of the
1283 menu system.
1284 </td>
1285 </tr>
1286 <tr>
1287 <td>
1288 Modify security identifiers
1289 </td>
1290 <td>
1291 Enters the
1292 <em>Security Id Maintenance</em> screen to allow security identifiers
1293 to be placed on the menu. See <a href="oecn10_sysman_handbook_full.html#secur_id_screen_head">Section 5.1.5</a> more information about
1294 security identifiers.
1295 </td>
1296 </tr>
1297 </table>
1298
1299 <a name="menu_item_head"><h2>5.1.4 Menu Item Record</h2></a>
1300
1301 <p>
1302 One menu item record must be specified for each desired item on a menu.
1303 A menu can contain a maximum of 50 item records. If there are less than
1304 8 items then the menu will be double spaced, otherwise the menu will be
1305 single spaced. If there are more items than will fit on one screen then
1306 the menu will be divided into multiple screens.
1307
1308 <p>
1309 An item may be of one of four types, the value and meaning of the
1310 Action field is determined by the Item Type field. The four possible
1311 types and the meaning of the Action field are defined in <a href="oecn10_sysman_handbook_full.html#item_types_tab">Table 5-5</a>.
1312 <p>
1313
1314 <table border=3>
1315 <caption><a name="item_types_tab"><strong>Table 5-5 Menu Item Types</strong></a></caption>
1316 <tr>
1317 <th align=center>Item Type </th>
1318 <th align=center>Interpretation of Action Field </th>
1319 </tr>
1320 <tr>
1321 <td>
1322 D
1323 </td>
1324 <td>
1325 DCL command to execute
1326 </td>
1327 </tr>
1328 <tr>
1329 <td>
1330 DP
1331 </td>
1332 <td>
1333 DCL command to execute in Parent process
1334 </td>
1335 </tr>
1336 <tr>
1337 <td>
1338 P
1339 </td>
1340 <td>
1341 Program filespec to execute
1342 </td>
1343 </tr>
1344 <tr>
1345 <td>
1346 M
1347 </td>
1348 <td>
1349 Menu specification
1350 </td>
1351 </tr>
1352 <tr>
1353 <td>
1354 T
1355 </td>
1356 <td>
1357 Ignored
1358 </td>
1359 </tr>
1360 </table>
1361
1362 <p>
1363 <table border=0>
1364 <tr>
1365 <td>
1366 <br>
1367 <pre>
1368
1369 Menu Item record:
1370
1371 1. Menu Name:
1372 2. Label :
1373 3. Desc :
1374 4. Item Type:
1375 5. Action :
1376
1377 6. Item order#:
1378 7. Modify Security Identifiers
1379
1380 </pre>
1381 </table>
1382
1383 <p>
1384
1385 <table border=3>
1386 <caption><a name="menu_item_tab"><strong>Table 5-6 Menu Item Fields</strong></a></caption>
1387 <tr>
1388 <th align=center>Field </th>
1389 <th align=center>Description </th>
1390 </tr>
1391 <tr>
1392 <td>
1393 Menu Name
1394 <sup>1</sup>
1395 </td>
1396 <td>
1397 Name of the menu that this item belongs to.
1398 </td>
1399 </tr>
1400 <tr>
1401 <td>
1402 Label
1403 <sup>1</sup>
1404 </td>
1405 <td>
1406 Label of this item that the user will use to reference this item.
1407 </td>
1408 </tr>
1409 <tr>
1410 <td>
1411 Desc
1412 </td>
1413 <td>
1414 Description displayed for this item.
1415 </td>
1416 </tr>
1417 <tr>
1418 <td>
1419 Item Type
1420 </td>
1421 <td>
1422 Indicates what type of item this is:
1423 <table border=3>
1424 <tr>
1425 <td>
1426 D
1427 </td>
1428 <td>
1429 DCL command
1430 </td>
1431 </tr>
1432 <tr>
1433 <td>
1434 DP
1435 </td>
1436 <td>
1437 DCL in Parent process
1438 </td>
1439 </tr>
1440 <tr>
1441 <td>
1442 P
1443 </td>
1444 <td>
1445 Program to be executed
1446 </td>
1447 </tr>
1448 <tr>
1449 <td>
1450 M
1451 </td>
1452 <td>
1453 Menu item
1454 </td>
1455 </tr>
1456 <tr>
1457 <td>
1458 T
1459 </td>
1460 <td>
1461 Text Item
1462 </td>
1463 </tr>
1464 </table>
1465 </td>
1466 </tr>
1467 <tr>
1468 <td>
1469 Action
1470 </td>
1471 <td>
1472 Contains the action to be performed when this item is selected. See
1473 <a href="oecn10_sysman_handbook_full.html#action_values_head">Section 5.1.4.1</a> for more information.
1474 </td>
1475 </tr>
1476 <tr>
1477 <td>
1478 Item order #
1479 </td>
1480 <td>
1481 This field is used to order the items on the menu. By default the items
1482 are in alphabetical order by Item Label. If you want to change the
1483 order of the items then you may put a number in the Item Order# field.
1484 This number does not affect the number that the user will use to invoke
1485 the item, it only affects the physical order of the items on the menu.
1486 </td>
1487 </tr>
1488 <tr>
1489 <td>
1490 Modify security identifiers
1491 </td>
1492 <td>
1493 Enters the
1494 <em>Security Id Maintenance</em> screen to allow security identifiers
1495 to be placed on the item. See section <a href="oecn10_sysman_handbook_full.html#secur_id_screen_head">Section 5.1.5</a> for more information
1496 about security identifiers.
1497 </td>
1498 </tr>
1499 </table>
1500 <hr>
1501 <sup>1</sup>Key fields of the menu file. However the MENUEDT program
1502 allows these fields to be changed.
1503 <br>
1504 <hr>
1505
1506 <a name="action_values_head"><h3>5.1.4.1 Values for Action Field</h3></a>
1507
1508 <p>
1509 Much of the Menu Processor's flexibility is provided by the values that
1510 may be placed in the Action field. The Action field and the Item Type
1511 field together determine what will happen when the user chooses an item
1512 from a menu.
1513 <p>
1514 <strong>Item Type D (DCL)</strong>
1515 <br>
1516
1517 <p>
1518 If Type = "D" then Action must contain a valid DCL command. Any DCL
1519 command may be specified, including command procedures. These commands
1520 may be executed in subprocess depending on the setting of
1521 OECN$MENU_BEHAVIOR (See <a href="oecn10_sysman_handbook_full.html#option_exec_sect">Section 2.5</a>). For example, the following are
1522 valid for Action:
1523
1524 <blockquote>
1525 MAIL
1526 <br>@PURGE_TEXT_FILES
1527 <br>Write sys$output "Hello there."
1528 </blockquote>
1529
1530 <p>
1531 If the DCL command requires or allows parameters to be specified you
1532 may place a tilde (~) at the location where the parameters should be
1533 placed.
1534
1535 <p>
1536 As a simple example, assume that you have a print procedure that allows
1537 the filename and the number of copies as parameters. Item Label is
1538 PRINT and the name of the command procedure is OECN$UTL:PRINT.COM. On
1539 the PRINT item record you would put the following in the Action field:
1540
1541 <p>
1542 <table border=0>
1543 <tr>
1544 <td>
1545 <br>
1546 <pre>
1547 @OECN$UTL:PRINT ~ ~
1548 </pre>
1549 </table>
1550
1551 <p>
1552 When the user enters the PRINT item from the Menu Processor they may
1553 specify the parameters on one line. For example, the user could enter:
1554
1555 <p>
1556 <table border=0>
1557 <tr>
1558 <td>
1559 <br>
1560 <pre>
1561 Menu&gt; PRINT MYFILE.TXT 10
1562 </pre>
1563 </table>
1564
1565 <p>
1566 The DCL command that would be executed by the Menu Processor would be:
1567
1568 <p>
1569 <table border=0>
1570 <tr>
1571 <td>
1572 <br>
1573 <pre>
1574 $ @OECN$UTL:PRINT MYFILE.TXT 10
1575 </pre>
1576 </table>
1577
1578 <p>
1579 Up to 8 parameters may be specified. Parameters containing spaces must
1580 be enclosed in quotes. (Parameters may not contain quotes.) Lowercase
1581 characters are preserved inside of quotes. Parameters are replaced from
1582 left to right. No other parsing of the parameters is done. Parameters
1583 are always considered to be optional, if the user does not specify a
1584 parameter then the tilde (~) will be replaced by a space.
1585 <p>
1586 <strong>Item Type DP (DCL in Parent)</strong>
1587 <br>
1588
1589 <p>
1590 Type "DP" is identical to type "D" except that the Action line is
1591 always executed in the parent process. This only has an effect if the
1592 menu processor is in "spawn and execute" mode (See <a href="oecn10_sysman_handbook_full.html#option_exec_sect">Section 2.5</a>).
1593
1594 <p>
1595 This item type should be used sparingly and only when the command
1596 <em>must</em> be executed in the parent process. This is only necessary
1597 when the commands being executed must affect both the parent and
1598 subprocess. Examples of such commands are:
1599
1600 <ul>
1601 <li>Commands that change security identifiers
1602 <li>Commands that modify menu logicals or modes
1603 <li>Commands that spawn subprocesses with the /NOWAIT qualifier
1604 </ul>
1605
1606 <p>
1607 <strong>Item Type P (Program)</strong>
1608 <br>
1609
1610 <p>
1611 If Type = "P" then the Action field contains the full VMS file
1612 specification for an executable image to be executed by the DCL RUN
1613 command. The distinction between programs and DCL commands is made
1614 primarily for compatibility with the HP version of the Menu Processor.
1615 However, future VAX releases may take advantage of this distinction.
1616 <p>
1617 <strong>Item Type M (Menu)</strong>
1618 <br>
1619
1620 <p>
1621 If Type = "M" then the Action field must contain a valid menu
1622 specification. This type of item allows the user to move from one menu
1623 to another at a lower level. The menu specified may be in the current
1624 menu file or may specify a completely different menu file. See
1625 <a href="oecn10_sysman_handbook_full.html#menu_specs_head">Section 2.3</a> for more information about menu specifications.
1626 <p>
1627 <strong>Item Type T (Text)</strong>
1628 <br>
1629
1630 <p>
1631 If Type = "T" then the action line is ignored. Text items are used to
1632 put information or subheadings on a menu. For text items, the
1633 Description field is simply displayed on the menu without a label or an
1634 option number.
1635
1636 <a name="secur_id_screen_head"><h2>5.1.5 Menu Security Screen</h2></a>
1637
1638 <p>
1639 The <strong>Modify Security Identifier</strong> screen allows you to
1640 require that the user has specific VMS identifiers before they are
1641 allowed access to certain menu elements.
1642
1643 <p>
1644 Security may be placed on any level: File, Menu or Item. If the user
1645 does not have access to a menu item, it will not appear on the menu.
1646
1647 <p>
1648 Three levels of access can be specified for each identifier that
1649 appears on the Security Identifier screen: Read-only, Standard or Group
1650 Manager. See <a href="oecn10_sysman_handbook_full.html#security_ids">Section 5.1.5.1</a> for more information about how these
1651 identifiers are derived.
1652
1653 <p>
1654 The following screen shows an example of a menu element that requires
1655 the user to have read-only access to the OECN_PPS identifier or
1656 standard access to the OECN_SALSIM identifier. Note that the user must
1657 only have one of the selected identifiers. Of course, users with
1658 OECN_SYSMAN access have access to all menu elements regardless of these
1659 identifiers.
1660
1661 <p>
1662 <table border=0>
1663 <tr>
1664 <td>
1665 <br>
1666 <pre>
1667 1) OECN_EDCIMS 9) OECN_SYSMAN
1668 2) OECN_EIS 10) OECN_USAS
1669 3) OECN_OECN 11) OECN_USPS
1670 R 4) OECN_PPS 12) OECN_VIS
1671 5) OECN_PVS 13) OECN_USER1
1672 S 6) OECN_SALSIM 14) OECN_USER2
1673 7) OECN_SECIMS 15) OECN_USER3
1674 8) OECN_SECIMS_GRPMAN 16) OECN_USER4
1675
1676 (R = Read-Only, S = Standard, G = Group Manager)
1677
1678 </pre>
1679 </table>
1680
1681 <p>
1682 Security will be propagated through the menu structure. If security is
1683 not specified for a menu element, then security will be inherited from
1684 the level above it. The following list details the rules that are used
1685 to determine how security is inherited.
1686
1687 <ol start=1 >
1688 <li>If a menu item has no security specified for it, then security will
1689 be inherited from the menu header record to which the item belongs.
1690 <li>If a menu header has no security, then it will inherit its security
1691 from its parent's menu header record. This occurs until a parent record
1692 is found that contains security information, or the top-level menu is
1693 found within the current menu file.
1694 <li>The top-level menu of each menu file, will inherit security from
1695 the file header record.
1696 <li>If no security is specified, after rule #3 above, then there is no
1697 security required to access the menu element.
1698 </ol>
1699
1700 <p>
1701 The identifiers OECN_USER1 through OECN_USER4 are for use locally at
1702 the A-sites. You may assign these identifiers in any manner you wish.
1703 For example, you may want to allow specific users to access VMS Mail.
1704 You could use OECN_USER1 to restrict a MAIL menu item to those users.
1705 These identifiers will not be used by SSDT in any State Software
1706 programs.
1707
1708 <p>
1709 If four identifiers are not enough for your site, you may add new ones.
1710 Up to 16 identifier positions have been reserved for use at the A-site
1711 level. See OECN_IDS.LIB in OECN$LIB: for instructions.
1712
1713 <a name="security_ids"><h3>5.1.5.1 Security Identifiers</h3></a>
1714
1715 <p>
1716 The security identifiers that appear on the Security Identifier screen
1717 are the &quot;standard&quot; identifiers. Three possible identifiers
1718 exist for each standard identifier, which are used to specify three
1719 levels of access. These alternate identifiers are derived by adding a
1720 suffix to the standard identifier.
1721
1722 <p>
1723 The following table lists the three access levels, in order of lowest
1724 level access to the highest. <p>
1725
1726 <table border=3>
1727 <caption><a name="security_level_tbl"><strong>Table 5-7 Security Access Levels</strong></a></caption>
1728 <tr>
1729 <th align=center>Access Level </th>
1730 <th align=center>Suffix </th>
1731 <th align=center>Description </th>
1732 </tr>
1733 <tr>
1734 <td>
1735 Read-Only
1736 </td>
1737 <td>
1738 _RO
1739 </td>
1740 <td>
1741 If a user holds the identifier then read-only access is granted. This
1742 user may execute read-only programs or have access to read-only
1743 functions within programs.
1744 </td>
1745 </tr>
1746 <tr>
1747 <td>
1748 Standard
1749 </td>
1750 <td>
1751 none
1752 </td>
1753 <td>
1754 If a user holds this identifier then the user is granted
1755 &quot;standard&quot; access to the identifier. This user is assumed to
1756 be a standard read-write user of the corresponding package.
1757 </td>
1758 </tr>
1759 <tr>
1760 <td>
1761 Group Manager
1762 </td>
1763 <td>
1764 _GM
1765 </td>
1766 <td>
1767 Users that hold this identifier are granted access to &quot;group
1768 manager&quot; functions. This user is assumed to hold special
1769 privileges within the corresponding package.
1770 </td>
1771 </tr>
1772 </table>
1773
1774 <p>
1775 For example, for the OECN_USPS identifier there are really three
1776 identifiers that may be granted to a user. These identifiers are:
1777
1778 <blockquote>
1779 OECN_USPS_RO
1780 <br>OECN_USPS
1781 <br>OECN_USPS_GM
1782 </blockquote>
1783
1784 <p>
1785 All these access levels, and therefore all the identifiers, exist for
1786 all packages, even if the package itself does not implement the
1787 identifiers. In other words, the Menu Processor will test for all the
1788 identifiers, even if the individual package does not.
1789
1790 <p>
1791 It also should be noted that the access levels will be applied to the
1792 A-site specific identifiers. That is, there will also be OECN_USER1_RO
1793 and OECN_USER1_GM identifiers available for use at the A-site level.
1794
1795 <a name="menuutl_head"><h1>5.2 Using MENUUTL</h1></a>
1796
1797 <p>
1798 The MENUUTL program provides some necessary functions for building,
1799 maintaining and documenting a menu system. The options provided are:
1800
1801 <ol start=1 >
1802 <li>Build the Alias File
1803 <li>Simulated Menu Listing
1804 <li>Detailed Menu Report
1805 <li>Hierarchical Menu Listing
1806 </ol>
1807
1808 <a name="build_alias_head"><h2>5.2.1 Building the Alias File</h2></a>
1809
1810 <p>
1811 The first and the most important option of MENUUTL is the alias file
1812 build option. The alias file contains a pointer for each menu item in
1813 the system. Therefore, whenever you add or remove menu items from a
1814 menu file you must rebuild the alias file.
1815
1816 <p>
1817 MENUUTL makes this process rather simple. All you have to do is run
1818 MENUUTL and choose option 1. MENUUTL will ask the following questions:
1819
1820 <p>
1821 <table border=0>
1822 <tr>
1823 <td>
1824 <br>
1825 <pre>
1826 Physical name of top level menu file:___________
1827 </pre>
1828 </table>
1829
1830 <p>
1831 Enter the physical filespec of the top-level menu file. This is the
1832 current physical location of the top-level menu file.
1833
1834 <p>
1835 <table border=0>
1836 <tr>
1837 <td>
1838 <br>
1839 <pre>
1840 Logical name of top level menu file:_____________
1841 </pre>
1842 </table>
1843
1844 <p>
1845 Enter the logical filespec of the top level menu file. This should be
1846 the logical name of the file that will be used when the user accesses
1847 the menu system.
1848
1849 <p>
1850 <center>
1851 <table border=0 width=75%>
1852 <tr>
1853 <td><center><font size=+2><strong>Note</strong></font></center><hr
1854 size=1 noshade>
1855 The physical and logical name should normally be the same. </td>
1856 </tr>
1857 </table>
1858 </center>
1859
1860 <p>
1861 <table border=0>
1862 <tr>
1863 <td>
1864 <br>
1865 <pre>
1866 Enter new alias filename: ___________________
1867 </pre>
1868 </table>
1869
1870 <p>
1871 Enter the name of the new alias file to be built. The alias file is
1872 always rebuilt from scratch and a new version is created.
1873
1874 <p>
1875 After prompting for these values, MENUUTL will begin reading through
1876 the specified menu file and add an alias for each item found. It will
1877 also search for references to other menu files. If such references are
1878 found, MENUUTL will search those files for menu items and add aliases
1879 for each one.
1880
1881 <p>
1882 <center>
1883 <table border=0 width=75%>
1884 <tr>
1885 <td><center><font size=+2><strong>Important</strong></font></center><hr
1886 size=1 noshade>
1887 MENUUTL uses the OECN$MENU$FILES logical to search for the menu files
1888 in the same manner as will be used by the Menu Processor. Therefore,
1889 the runtime environment for MENUUTL must be the same as when the Menu
1890 Processor will be invoked. </td>
1891 </tr>
1892 </table>
1893 </center>
1894
1895 <p>
1896 As stated earlier, all aliases must be unique across the entire menu
1897 system. If MENUUTL finds a duplicate alias name, an error message will
1898 displayed and the duplicate will not be added. Processing will continue
1899 and the alias file will be usable, but the alias for the duplicate item
1900 will not exist.
1901
1902 <p>
1903 <center>
1904 <table border=0 width=75%>
1905 <tr>
1906 <td><center><font size=+2><strong>Note</strong></font></center><hr
1907 size=1 noshade>
1908 You may also use the OECN$:BUILD_ALIAS.COM command procedure to build
1909 the alias file. This procedure will automatically build a new alias
1910 file using the current values of OECN$MENU$FILES, OECN$MENU and
1911 OECN$ALIAS. You can run this procedure after installing a new
1912 distribution or customizing menu files. If you frequently modify menu
1913 files, you could even run the procedure periodically in batch to ensure
1914 that the alias file is always up-to-date. </td>
1915 </tr>
1916 </table>
1917 </center>
1918
1919 <a name="simulate_list_head"><h2>5.2.2 Simulated Menu Listing</h2></a>
1920
1921 <p>
1922 This option will read through the specified menu file and create a
1923 simulated menu listing. The listing will display the menu in as close
1924 an approximation as possible on a hardcopy printer. The option will
1925 only report on one menu file at a time and will be sorted in
1926 alphabetical order by menu name.
1927
1928 <a name="detailed_list_head"><h2>5.2.3 Detailed Menu Listing</h2></a>
1929
1930 <p>
1931 The detailed menu report lists all available information about the
1932 specified menu file. This report is particularly useful for double
1933 checking the action fields and security.
1934
1935 <a name="hier_list_head"><h2>5.2.4 Hierarchical Listing</h2></a>
1936
1937 <p>
1938 This report will display the structure of the menu system. The menus
1939 are listed in the proper order as they appear on the menu. This option
1940 will prompt for the top level menu file and menu where the listing is
1941 to start. You need not necessarily start at the top of the entire menu
1942 system.
1943
1944 <a name="osa_head"><h1>5.3 OSA</h1></a>
1945
1946 <p>
1947 The OSA, OECN Security Authorization, Utility may be used in
1948 conjunction with the OECN Menu Processor to fine tune security access.
1949 OSA can be used to enable user's access to individual programs to be
1950 granted or denied. This <em>local security</em> is defined by each
1951 A-site and is maintained separately from the menu system included on
1952 the OECN distribution. (See also VMS Manager's Guide)
1953
1954 <p>
1955 <hr size=5>
1956 <a name="custom_chap"><h1>Chapter 6<br>Customizing Menus from the Distribution</h1></a>
1957
1958 <p>
1959 This chapter describes the recommended procedure for customizing the
1960 menu files from the distribution. Following this procedure will ensure
1961 that you can install future releases with minimum effort and maintain a
1962 consistent user interface across the state.
1963
1964 <p>
1965 Each major package has its own menu file. The file name for the primary
1966 menu file ends with _MENU and has an extension of .DAT. For example,
1967 the USAS menu file is named BUD_MENU.DAT. On the main menu of each
1968 package there is an item that links to a <em>local</em> menu file. This
1969 local menu file is an empty menu file that you may customize as you
1970 wish. The local menu filenames end with _LCL. Therefore, the USAS local
1971 menu is named: BUD_LCL.DAT.
1972
1973 <p>
1974 It is recommended that you only modify the *_LCL menu files. If you
1975 modify the other primary menu files, you will not be able to install
1976 updated menu files in the future without making all of your
1977 modifications over again.
1978
1979 <p>
1980 <center>
1981 <table border=0 width=75%>
1982 <tr>
1983 <td><center><font size=+2><strong>Note</strong></font></center><hr
1984 size=1 noshade>
1985 Security for all menu items may be customized, even if they are part of
1986 the distribution, without modifying the menu files. This is
1987 accomplished by using the OECN Security Authorization (OSA) utility.
1988 See the <em>OECN Software Security for the VMS System Manager</em>
1989 manual for information about the OSA utility and local security. </td>
1990 </tr>
1991 </table>
1992 </center>
1993
1994 <a name="local_head"><h1>6.1 Modifying a Local Menu File</h1></a>
1995
1996 <p>
1997 Following is the recommend procedure for modifying one or more menu
1998 files.
1999
2000 <ol start=1 >
2001 <li>Redefine the OECN$MENU$FILES to be a search list.
2002 <li>Modify the Menu Files
2003 <li>Build a New Alias File
2004 <li>Redefine OECN$MENU$FILES permanently
2005 </ol>
2006
2007 <a name="redefine_logical_head"><h2>6.1.1 Redefine the OECN$MENU$FILES logical</h2></a>
2008
2009 <p>
2010 The first step is to redefine OECN$MENU$FILES as a search list. For
2011 consistency with other customized files, it is recommended that you use
2012 OECN$CUSTOM. However, you may use any directory that you wish. The rest
2013 of this chapter assumes that you are placing the customized menu files
2014 in OECN$CUSTOM. For example:
2015
2016 <p>
2017 <table border=0>
2018 <tr>
2019 <td>
2020 <br>
2021 <pre>
2022 $ DEFINE/SYSTEM OECN$MENU$FILES -
2023 _$ OECN$CUSTOM,DUA0:[ODE.MENU.DIST]
2024 </pre>
2025 </table>
2026
2027 <p>
2028 This will cause the Menu Processor and MENUUTL to search first through
2029 OECN$CUSTOM and then the distribution menu files.
2030
2031 <p>
2032 <center>
2033 <table border=0 width=75%>
2034 <tr>
2035 <td><center><font size=+2><strong>Note</strong></font></center><hr
2036 size=1 noshade>
2037 You may want to make this logical assignment in your current process,
2038 instead of at the SYSTEM level, while changing the menu files. This
2039 will prevent any users from getting into a half completed menu. </td>
2040 </tr>
2041 </table>
2042 </center>
2043
2044 <a name="heading_6.1.2"><h2>6.1.2 Modify the Menu Files</h2></a>
2045
2046 <p>
2047 Copy the *_LCL.DAT menu files that you want to modify from the
2048 distribution into OECN$CUSTOM. Then use MENUEDT to make the desired
2049 modifications. By making all modifications in OECN$CUSTOM: will insure
2050 that installing future releases will not overlay your customized local
2051 menus.
2052
2053 <p>
2054 Use the Menu Processor and MENUUTL to test the new menus as needed. If
2055 you're creating new menus, be sure that the users have read access to
2056 the new files.
2057
2058 <a name="heading_6.1.3"><h2>6.1.3 Build a New Alias File</h2></a>
2059
2060 <p>
2061 After all desired changes have been made, use MENUUTL to rebuild the
2062 alias file. You may put the alias file in OECN$CUSTOM or simply replace
2063 the current alias file in OECN$ALIAS. If you change the location of the
2064 alias file be sure to redefine the OECN$ALIAS logical.
2065
2066 <p>
2067 You may build the alias file manually by running MENUUTL, or you may
2068 use the BUILD_ALIAS.COM procedure in the OECN$ directory.
2069
2070 <a name="heading_6.1.4"><h2>6.1.4 Redefine OECN$MENU$FILES Permanently</h2></a>
2071
2072 <p>
2073 If you have not already done so, define the logical OECN$MENU$FILES to
2074 be a search list as above at the SYSTEM level.
2075
2076 <p>
2077 At this point your users should have access to the customized menus.
2078
2079 <a name="heading_6.2"><h1>6.2 After a Distribution</h1></a>
2080
2081 <p>
2082 If you modify the local menu files in this way, your changes will not
2083 be affected by any future releases. Changes made by SSDT will
2084 automatically be installed when you copy the distribution menu files to
2085 the OECN$MENU$FILES directory.
2086
2087 <p>
2088 However, you will have to rebuild the alias file after installing each
2089 distribution. After a package has been installed and the menu files
2090 moved to thier proper location, you must rebuild the alias file.
2091
2092 <p>
2093 You may build the alias file manually by running MENUUTL, or you may
2094 use the BUILD_ALIAS.COM procedure in the OECN$ directory. The
2095 BUILD_ALIAS.COM procedure will automatically build a new alias file
2096 using the files in OECN$MENU$FILES. You can run the procedure
2097 interactvely by typing:
2098
2099 <p>
2100 <table border=0>
2101 <tr>
2102 <td>
2103 <br>
2104 <pre>
2105 $ @OECN$:BUILD_ALIAS
2106 </pre>
2107 </table>
2108
2109 <p>
2110 Or you can submit it for batch processing using DCL SUBMIT. By default,
2111 BUILD_ALIAS will rebuild the default menu system based on the current
2112 values of OECN$MENU$FILES, OECN$MENU and OECN$ALIAS logicals. If you
2113 have other menu systems on your system, you can pass parameters to
2114 BUILD_ALIAS to indicate the location and names of the menu and alias
2115 files. See the comments in BUILD_ALIAS.COM for more information about
2116 using this procedure.
2117
2118 <a name="intercept_head"><h1>6.3 Intercepting Menu Actions</h1></a>
2119
2120 <p>
2121 Sometimes it is desirable, or necessary, to redefine the action
2122 associated with a menu item. For instance, you may want to force
2123 certain actions prior to running a particular program or force certain
2124 options to run in batch.
2125
2126 <p>
2127 This may be done by intercepting the action line of specific options
2128 <em>without</em> modifying the menu files supplied by SSDT. You must
2129 write a DCL command procedure that will replace the action line you are
2130 going to intercept. Then assign a special logical to point to this
2131 command procedure.
2132
2133 <p>
2134 The logical must be defined as follows:
2135
2136 <p>
2137 <table border=0>
2138 <tr>
2139 <td>
2140 <br>
2141 <pre>
2142 $ DEFINE/SYSTEM OECN$MENU_ACTION_label filespec
2143 </pre>
2144 </table>
2145
2146 <p>
2147 Where <em>label</em> is the menu option label that you want to
2148 intercept and <em>filespec</em> is the full filespec of the DCL command
2149 procedure. The logical may be defined at the system, group or process
2150 level, so you may intercept the action line for different classes of
2151 users.
2152
2153 <p>
2154 <center>
2155 <table border=0 width=75%>
2156 <tr>
2157 <td><center><font size=+2><strong>Note</strong></font></center><hr
2158 size=1 noshade>
2159 If the logical is defined system-wide it will affect all menu systems
2160 that you have active on your system. If you have multiple menu systems
2161 that contain the same label then they will all be affected. If this is
2162 not what you want you may need to define this logical at the group or
2163 process level. </td>
2164 </tr>
2165 </table>
2166 </center>
2167
2168 <p>
2169 After this logical is defined the command procedure will be executed
2170 <em>instead of</em> the action line defined by the menu file.
2171
2172 <p>
2173 The following parameters will be passed to the command procedure :
2174
2175 <table border=3>
2176 <tr>
2177 <td>
2178 P1
2179 </td>
2180 <td>
2181 Menu label name that invoked the procedure
2182 </td>
2183 </tr>
2184 <tr>
2185 <td>
2186 P2
2187 </td>
2188 <td>
2189 Original action line defined by the menu file
2190 </td>
2191 </tr>
2192 <tr>
2193 <td>
2194 P3-P8
2195 </td>
2196 <td>
2197 Other parameters entered by the user
2198 </td>
2199 </tr>
2200 </table>
2201
2202 <p>
2203 The procedure may use these parameters as it wishes or ignore them.
2204
2205 <p>
2206 For example, suppose that you want to automatically execute a backup of
2207 the USPS files prior to the user running BUDDIS. The following
2208 procedure, called PAY:BUDDIS_ACTION, might be used:
2209
2210 <p>
2211 <table border=0>
2212 <tr>
2213 <td>
2214 <br>
2215 <pre>
2216 $!
2217 $! PAY:BUDDIS_ACTION.COM -- Procedure used by the BUDDIS menu option
2218 $!
2219 $ on error then exit
2220 $
2221 $ @PAY:SAVEPAY ! A-site procedure to perform disk backup set of
2222 $ ! USPS files.
2223 $
2224 $ DEFINE/USER SYS$INPUT SYS$COMMAND
2225 $ RUN OECN$PAY:BUDDIS
2226 $
2227 $ EXIT
2228 </pre>
2229 </table>
2230
2231 <p>
2232 The following logical definition would be made to intercept the BUDDIS
2233 action for all users:
2234
2235 <p>
2236 <table border=0>
2237 <tr>
2238 <td>
2239 <br>
2240 <pre>
2241 $ DEFINE/SYSTEM OECN$MENU_ACTION_BUDDIS PAY:BUDDIS_ACTION
2242 </pre>
2243 </table>
2244
2245 <p>
2246 <hr size=5>
2247 <a name="batch_mail_chap"><h1>Chapter 7<br>Batch Mail Message System Manager Guide</h1></a>
2248
2249 <a name="heading_7.1"><h1>7.1 Overview</h1></a>
2250
2251 <p>
2252 The command procedure BATCH_MAIL_MESSAGE.COM can be used to send a VMS
2253 mail message via a batch job. This is useful for messages with large
2254 audiences where the user does not wish to tie up their terminal for an
2255 extended period of time.
2256
2257 <a name="heading_7.2"><h1>7.2 Sending a Mail Message via Batch</h1></a>
2258
2259 <p>
2260 To use the command procedure for generic mail messages:
2261
2262 <p>
2263 Create the desired mail message using a text file.
2264
2265 <p>
2266 Submit the procedure as follows supplying the necessary parameter
2267 values:
2268
2269 <p>
2270 <table border=0>
2271 <tr>
2272 <td>
2273 <br>
2274 <pre>
2275 $ SUBMIT OECN$:BATCH_MAIL_MESSAGE/PARAMETER=("P1","P2","P3","P4")
2276 </pre>
2277 </table>
2278
2279 <p>
2280 Where:
2281
2282 <ul>
2283 <li>P1 - Name of the text file to be mailed.
2284 <li>P2 - VMS mail address the text file will be sent to.
2285 <li>P3 - Text that is to be displayed on the Subject Line of the
2286 message.
2287 <li>P4 - Y/N (yes/no) flag that indicates whether or not to delete the
2288 text file containing the message after it is sent.
2289 </ul>
2290
2291 <p>
2292
2293 <hr size=5>
2294 <a name="oecn_view_chap"><h1>Chapter 8<br>OECN VIEW Utility</h1></a>
2295
2296 <a name="heading_8.1"><h1>8.1 Overview</h1></a>
2297
2298 <p>
2299 The OECN_VIEW utility allows users to view text files on the screen. It
2300 can be used for report files produced by OECN state software or other
2301 text documents. OECN_VIEW is a TPU based product, layered on DEC/EVE.
2302
2303 <p>
2304 By default, OECN_VIEW will search for files in OECN$OUT which have the
2305 following extensions: *.TXT, *.LIS, *.DOC, *.RPT, *.LPT, *.RPT. These
2306 are the only files that OECN_VIEW will show to the user when they use
2307 the "Go_File" function or invoke VIEW without a file name.
2308
2309 <p>
2310 However, A-sites may customize both the directory and/or the extension
2311 if desired. Define the OECN_VIEW_DIRECTORY logical to define the
2312 directory(ies) to be searched. It may be a search-list. The default for
2313 OECN_VIEW_DIRECTORY is OECN$OUT.
2314
2315 <p>
2316 In order to change the file extensions, define the logical
2317 OECN_VIEW_FILES to be a search list containing the filespecs to search.
2318 Each entry in the search list must refer to OECN_VIEW_DIRECTORY.
2319
2320 <p>
2321 Examples of the logicals are given below:
2322
2323 <a name="heading_8.2"><h1>8.2 OECN_VIEW.COM</h1></a>
2324
2325 <p>
2326 The OECN_VIEW.COM command procedure is found in OECN$. It is used to
2327 define the two logicals, OECN_VIEW_DIRECTORY and OECN_VIEW_FILES.
2328 Observe the following notes from this procedure.
2329
2330 <p>
2331 <table border=0>
2332 <tr>
2333 <td>
2334 <br>
2335 <pre>
2336
2337
2338 $!+
2339 $! Notes:
2340 $!
2341 $! This procedure is a shell for the OECN_VIEW utility. It provides
2342 $! defaults for the file directory and file types that the user may view.
2343 $!
2344 $! A-sites can configure VIEW to behave differently if desired by defining
2345 $! the following logicals:
2346 $!
2347 $! OECN_VIEW_DIRECTORY = Defines the directory OECN_VIEW will search
2348 $! when user uses the 'Go File' command or invokes
2349 $! VIEW without a file name. This logical may
2350 $! be a search list. The default is OECN$OUT.
2351 $!
2352 $! OECN_VIEW_FILES = Filespecs which user can see when the use
2353 $! 'Go file'. The logical should be a searchlist
2354 $! containing wildcard specfications for the files
2355 $! names or types the user can view. Each
2356 $! equivalence string must refer to OECN_VIEW_DIRECTORY
2357 $! for the device/directory. That is, OECN_VIEW_FILES
2358 $! should specify just the wildcard filename and type.
2359 $!-
2360
2361
2362 </pre>
2363 </table>
2364
2365 <a name="heading_8.2.1"><h2>8.2.1 Customizing OECN VIEW</h2></a>
2366
2367 <p>
2368 The following sample command file shows how to customize the
2369 directories and the file extensions to be viewed.
2370
2371 <p>
2372 <table border=0>
2373 <tr>
2374 <td>
2375 <br>
2376 <pre>
2377
2378
2379 $!+
2380 $! VIEW_EXAMPLES.com
2381 $!
2382 $! Example of using OECN_VIEW to view shared documents. This
2383 $! command procedure may be added to a local menu to allow
2384 $! users to view documents on-line.
2385 $!
2386 $! In this example, users are given the ability to view internet documents.
2387 $! Allows users to view *.TXT and *.DOC files in the directory
2388 $! PUB:[INTERNET_DOCS].
2389 $!
2390 $! -
2391 $ set noon
2392 $ set noverify
2393 $
2394 $ define/user OECN_VIEW_DIRECTORY PUB:[PUBDOM.NWOCA.INTERNET_DOCS]
2395 $
2396 $ define/user OECN_VIEW_FILES OECN_VIEW_DIRECTORY:*.TXT,-
2397 OECN_VIEW_DIRECTORY:*.DOC
2398 $
2399 $ @oecn$:oecn_view
2400 $
2401 $exit
2402
2403
2404
2405 </pre>
2406 </table>
2407
2408 <a name="heading_8.2.2"><h2>8.2.2 Creating a DCL Command</h2></a>
2409
2410 <p>
2411 The VIEW utility works automatically from the MENU. However, you could
2412 define a symbol to execute VIEW from DCL.
2413
2414 <p>
2415 For example, define:
2416
2417 <p>
2418 <table border=0>
2419 <tr>
2420 <td>
2421 <br>
2422 <pre>
2423
2424 LOOK := = @OECN$:OECN_VIEW
2425
2426 </pre>
2427 </table>
2428
2429 <p>
2430 Then use the LOOK command from the $ prompt.
2431
2432 <a name="heading_8.2.3"><h2>8.2.3 OECN_EDIT</h2></a>
2433
2434 <p>
2435 The OECN_VIEW utility uses a special editor called OECN_EDIT. Its
2436 purpose is to provide I/O routines to allow TPU to automatically read
2437 and translate VFC files into text. Please see <a href="oecn10_sysman_handbook_full.html#oecn_edit_chap">Chapter 9, OECN EDIT Utility</a>, for more
2438 details.
2439 <p>
2440
2441 <hr size=5>
2442 <a name="oecn_edit_chap"><h1>Chapter 9<br>OECN EDIT Utility</h1></a>
2443
2444 <a name="heading_9.1"><h1>9.1 Overview</h1></a>
2445
2446 <p>
2447 OECN_EDIT is a foreign command replacement for the EDIT/TPU DCL
2448 command. It is completely command line (qualifier and parameter)
2449 compatible with EDIT/TPU. Its purpose is to provide I/O routines to
2450 allow TPU to automatically read and translate VFC files into text. When
2451 using OECN_EDIT, all VFC files read by TPU are converted into text with
2452 form-feed and line-feed characters to preserve formatting. All other
2453 file types are NOT affected by OECN_EDIT and are read normally by TPU.
2454 This is different from the default TPU editor, which ignores VFC
2455 formatting. OECN_EDIT is used by the OECN_VIEW.COM procedure to allow
2456 VFC files to be viewed correctly. However, it may also be used with any
2457 TPU section file as an editor.
2458
2459 <a name="heading_9.2"><h1>9.2 Using OECN_EDIT</h1></a>
2460
2461 <p>
2462 In order to use OECN_EDIT as your interface to TPU, define the
2463 following symbol:
2464
2465 <p>
2466 <table border=0>
2467 <tr>
2468 <td>
2469 <br>
2470 <pre>
2471
2472 $ EDIT := = $OECN$:OECN_EDIT/TPU
2473
2474 </pre>
2475 </table>
2476
2477 <p>
2478 Note: The /TPU qualifier is required.
2479
2480 <p>
2481 You may also include other qualifiers which you would normally use with
2482 EDIT/TPU, such as /SECTION, /UNIT, etc. OECN_EDIT will use the normal
2483 EVE section and initialization files by default.
2484 <p>
2485
2486 <hr size=5>
2487 <a name="oecn_keymap_chap"><h1>Chapter 10<br>OECN KEYMAP Utility</h1></a>
2488
2489 <a name="heading_10.1"><h1>10.1 Overview</h1></a>
2490
2491 <p>
2492 The OECN_KEYMAP utility allows users to select a terminal emulator,
2493 such as REFLECTIONS, EXCURSIONS, or PERSONA. Using this utility defines
2494 the logical OECN$KEY_MAP to point to a .INI file containing the desired
2495 keymapping. The mapping allows you to re-label the standard function
2496 keys. You cannot actually reassign the program functions to different
2497 keys. That is, from the programs point of view, the user is required to
2498 press a VT200 F11 for the "Find" function. However, you can assign F11
2499 to any PC key you wish in the emulator and then relabel F11 on the
2500 screen to match the PC keyboard.
2501
2502 <a name="heading_10.2"><h1>10.2 Using KEYMAP</h1></a>
2503
2504 <p>
2505 Upon selecting the KEYMAP option from the OECN menu the user is given a
2506 list of keymapping options to select from. This menu of options is
2507 built by searching for all files named OECN$KEYMAP*.INI in either the
2508 OECN$ or the OECN$CUSTOM directory. If the same filename is found in
2509 both directories, only the one in OECN$CUSTOM will be used. The
2510 description used in the menu will be determined by whether or not a
2511 "DESCRIPTION=xxx" command is used. If the command is found in the .INI
2512 file, the description will be used for the menu, otherwise the filename
2513 will be used in the menu.
2514
2515 <p>
2516 When a user selects their option, the name of the .INI file selected is
2517 recorded in a file called OECN$KEYMAP.DAT in their SYS$LOGIN directory.
2518 If keymapping is turned off, the OECN$KEYMAP.DAT file is deleted from
2519 the SYS$LOGIN directory.
2520
2521 <p>
2522 The OECN_LOGIN procedure has been modified to look for the existence of
2523 this file and define the OECN$KEY_MAP logical to point to the .INI file
2524 found in the .DAT file. After selecting their option in KEYMAP,
2525 OECN_LOGIN will be immediately executed causing the logical to be
2526 defined for that process. Then, each time the user logs in, OECN_LOGIN
2527 will check for the OECN$KEYMAP.DAT file and set the OECN$KEY_MAP
2528 logical appropriately for that process.
2529
2530 <p>
2531 The following standard .INI files have been created:
2532
2533 <ul>
2534 <li>OECN$KEYMAP_EXCURSIONS.INI
2535 <li>OECN$KEYMAP_PERSONA.INI
2536 <li>OECN$KEYMAP_REFLECTIONS_MAC.INI
2537 <li>OECN$KEYMAP_REFLECTIONS_PC.INI
2538 </ul>
2539
2540 <p>
2541 These files may be used as a starting point to create other .INI files
2542 for other terminal emulators that may be in use by districts or to
2543 support customized key mappings for districts. Instructions are
2544 included at the top of the .INI files which explain how the files need
2545 to be formatted and which keys are able to be mapped. It is recommended
2546 that the new .INI file be placed in the OECN$CUSTOM directory and be
2547 given a different name if it is to be an additional menu option. It is
2548 also recommended that the description inside the .INI file be changed
2549 to something meaningful to the user as this is what they will see in
2550 the KEYMAP menu.
2551 <p>
2552
2553 <hr size=5>
2554 <a name="oecn_setupenv_chap"><h1>Chapter 11<br>OECN SETUPENV Utility</h1></a>
2555
2556 <a name="heading_11.1"><h1>11.1 Overview</h1></a>
2557
2558 <p>
2559 SETUPENV is a general purpose utility for establishing or switching to
2560 user environments. The goal of the utility is to provide a single place
2561 to configure the software environment (primarily logicals) for given
2562 entities and allow user processes to configure based on these
2563 environment settings.
2564
2565 <p>
2566 The concept for SETUPENV is similar to the BUNNY/FROG utilities
2567 available from NOACSC. However, it is intended to be more flexible and
2568 capable of configuring multiple environments. SETUPENV is not tailored
2569 to any particular software product. It may be used in the configuration
2570 of state software, McSIS, InfOhio, or any other software that requires
2571 logicals in establishing a user's environment.
2572
2573 <p>
2574 The general goals of the utility are as follows:
2575
2576 <ol start=1 >
2577 <li>To provide a single location for all configuration information.
2578 <li>To provide a means for processes to establish a default context
2579 during login.
2580 <li>To provide a means for users to change contexts using an
2581 interactive (or DCL) interface.
2582 <li>To allow DAS personnel the ability to switch to any context using
2583 the same rules as a user's process.
2584 <li>To provide compatibility with BUNNY, FROG, and USE to make the
2585 transisition to the new utility easier.
2586 <li>To provide DCL and API interfaces which allow other utilities the
2587 ability to find and establish contexts.
2588 <li>To provide support for common OpenVMS configuration methods in use
2589 by DA Sites, including group tables and shared logical tables.
2590 </ol>
2591
2592 <a name="heading_11.2"><h1>11.2 Getting Started</h1></a>
2593
2594 <p>
2595 The SETUPENV utility is very flexible allowing the capability to deal
2596 with the variety of possible setups in use at the OECN DA Sites. This
2597 flexibility leads to a significant number of options in both the DCL
2598 command interface and options available in the OECN$SETUP
2599 initialization file. However, it is unlikely that any one DA Site will
2600 need all of the features provided by SETUPENV. Most sites will only
2601 need a limited set of options.
2602
2603 <p>
2604 To get started with SETUPENV it is recommended that a simple OECN$SETUP
2605 file with a minimal set of options for just a few entities be created.
2606 Starting small will give the opportunity to experiment with the utility
2607 to see how, or if, it can fit into your environment.
2608
2609 <a name="heading_11.2.1"><h2>11.2.1 Entity Types</h2></a>
2610
2611 <p>
2612 SETUPENV manages a user's context by assuming that any given process
2613 will have one context in each of the four entity "types". The current
2614 types of entities are:
2615
2616 <ul>
2617 <li>DISTRICT
2618 <li>BUILDING
2619 <li>LIBRARY
2620 <li>OTHER
2621 </ul>
2622
2623 <p>
2624 Therefore, a user may have one entity selected in each of these types
2625 and change the context for one entity without affecting the others. For
2626 example, a user might have a context in DISTRICT_A and BLG_B but be
2627 eligible to switch into several different LIBRARY entities. SETUPENV
2628 will allow the user to switch into different libraries without
2629 affecting the current district and building.
2630
2631 <p>
2632 Entities can be linked together to form logical hierarchies. For
2633 example, a district entity might define the context for USPS, USAS, and
2634 EMIS. A building entity might define the context for McSIS. When a user
2635 selects a building, it may be desirable for the user's process to also
2636 select the corresponding district entity so that the EMIS logicals are
2637 switched automatically. SETUPENV can handle these relationships using
2638 the PARENT attribute in the OECN$SETUP file. Please refer to the PARENT
2639 attribute for more information.
2640 <p>
2641
2642 <a name="heading_11.2.2"><h2>11.2.2 DCL Command Syntax</h2></a>
2643 <br>
2644
2645 <p>
2646 SETUPENV must be defined as a foreign command:
2647 <br>
2648
2649 <p>
2650 <table border=0>
2651 <tr>
2652 <td>
2653 <br>
2654 <pre>
2655
2656 $ SETUPENV :== $OECN$:SETUPENV
2657
2658 </pre>
2659 </table>
2660
2661 <p>
2662 Syntax:
2663 <br>
2664
2665 <p>
2666 <table border=0>
2667 <tr>
2668 <td>
2669 <br>
2670 <pre>
2671
2672 $ SETUPENV [entry_code...]
2673 [/MENU]
2674 [/NEXT]
2675 [/RESET]
2676 [/LOGIN[=([SIS],[INFOHIO],[BY_ACCESS],[USERNAME[=n]])]
2677 [/TYPE={DISTRICT,BUILDING,OTHER,ALL]
2678 [/LOG]
2679 [/[NO]PROMPT]
2680 [/CATEGORIES={wildcard}]
2681 [/APPLICATION={application}]
2682 [/ARCHIVE=[archive_code]]
2683 [/[NO]RESTRICT_IRNS]
2684 [/PRINT]
2685 [/USE]
2686 [/BUNNY]
2687 [/FROG]
2688
2689
2690 </pre>
2691 </table>
2692
2693 <ul>
2694 <li><strong>ENTRY_CODE</strong> indicates the entry(s) to be selected
2695 from the OECN$SETUP.INI file. The INI file indicates the environment to
2696 be established for each entry. Multiple entries may be set by enclosing
2697 the entry codes in quotes separated by commas. When setting multiple
2698 entries, the first entry is considered to be the primary entry.
2699 <li><strong>/MENU</strong> indicates the user should be presented a
2700 menu to select an entry based on their process security. /MENU is the
2701 default for interactive processes when there are no other qualifiers
2702 and no parameter specified.
2703 <li><strong>/RESET</strong> attempts to reset the current process to
2704 it's original state. Any "reset" entries existing on the INI file are
2705 used to determine which logicals should be reset. If there are no reset
2706 entries on the INI file, the LNM$FILE_DEV logical will be the only one
2707 returned to it's original state.
2708 <li><strong>/LOGIN</strong> instructs SETUPENV to attempt to determine
2709 the user's default login context. If a specific entry code(s) is
2710 specified with /LOGIN, the specified entry will override the defaults.
2711 The following flags may be included to control how SETUPENV/LOGIN
2712 determines the default entries:
2713
2714 <ul>
2715 <li><strong>SIS</strong> searches the process' rightslist for
2716 identifiers in the format SIS_x. For the first such identifier "x" is
2717 used as the default entry.
2718 <li><strong>INFOHIO</strong> searches the process' rightslist for
2719 identifiers in the format INFOHIO_x. For the first such identifier "x"
2720 is used as the default entry. In order to avoid potential conflicts
2721 with SIS entry codes, SETUPENV will first look for an entry named
2722 "x_LIB". If and x_LIB entry is found, it will be used as the default
2723 InfOhio entry, otherwise just "x" will be used.
2724 <li><strong>BY_ACCESS</strong> indicates that SETUPENV should determine
2725 the user's default entry by checking security access to the entries.
2726 SETUPENV will scan OECN$SETUP file and find the first entry of each
2727 type (DISTRICT, BUILDING, LIBRARY, OTHER) to which the user has access
2728 making this the default. BY_ACCESS should only be used by DA Sites who
2729 have carefully placed proper identifiers on entries to allow access to
2730 appropriate users.
2731 <li><strong>USERNAME=n</strong> uses the first "n" characters of the
2732 username as the entry code. This is useful for sites who use a username
2733 prefix to indicate districts and who have set up matching entry codes
2734 in the OECN$SETUP file.
2735 </ul>
2736 <br>SETUPENV/LOGIN will also (unconditionally) search for an identifier
2737 called "SETUPENV_xxx". If the user has such an identifier, then it is
2738 always used as the default entry, superceding the default provided by
2739 the above flags. This serves as a means to provide a specific default
2740 for users who may have access to multiple entries.
2741
2742 <p>
2743 <center>
2744 <table border=0 width=75%>
2745 <tr>
2746 <td><center><font size=+2><strong>Note</strong></font></center><hr
2747 size=1 noshade>
2748 When /LOGIN is specified, SETUPENV will not issue errors if a default
2749 entry can not be found. This allows SETUPENV/LOGIN to be used in
2750 system-wide login procedures even for users who do not normally need a
2751 specific software context. </td>
2752 </tr>
2753 </table>
2754 </center>
2755 <li><strong>/NEXT</strong> indicates that the next entry should be
2756 selected based on the current or specified entry. If an entry is
2757 specified as a parameter, then the entry selected will be the one
2758 immediately following it. Otherwise, the values of the
2759 OECN$SETUP_CURRENT_* logicals are used to determine the current entry.
2760 The primary purpose of /NEXT is to allow DCL procedures to process all
2761 or selected entries sequentially.
2762
2763 <p>
2764 <center>
2765 <table border=0 width=75%>
2766 <tr>
2767 <td><center><font size=+2><strong>Note</strong></font></center><hr
2768 size=1 noshade>
2769 If /TYPE is not specified to indicate the type of the next entry, then
2770 the /TYPE defaults to the same type as the current entry
2771 (OECN$SETUP_ENTRY). That is, by default, /NEXT moves to the same type
2772 of entry as the current entry. If there is no current entry, then the
2773 default is DISTRICT. </td>
2774 </tr>
2775 </table>
2776 </center>
2777 <li><strong>/TYPE</strong> may be used in conjunction with /NEXT or
2778 /MENU to determine the type of entry that may be considered. For
2779 example, if /TYPE=DISTRICT is specified with /NEXT, then only district
2780 entries will be considered. The default for /NEXT is DISTRICT. The
2781 default for /MENU is ALL.
2782 <li><strong>/CATEGORIES</strong> may be used with /NEXT or /MENU to
2783 select only entries where the CATEGORIES attribute matches the
2784 specified wildcard.
2785 <li><strong>/APPLICATION</strong> may be used with /NEXT to select only
2786 entries containing the specified application. Only one application may
2787 be specified and it must exactly match an application specified on the
2788 entries APPLICATION attribute.
2789 <li><strong>/[NO]PROMPT</strong> causes the user's DCL prompt and OECN
2790 Menu prompt to be set to a value representing the entry(s) selected.
2791 /NOPROMPT is the default.
2792 <li><strong>/LOG</strong> indicates an informational message should be
2793 displayed indicating the entry selected. If multiple entries are set as
2794 a result of the command, only the primary entry is displayed.
2795 <li><strong>/ARCHIVE[=archive_code]</strong> indicates which archive is
2796 to be selected. If a specific archive is provided and it exists for the
2797 entry, then the logical and table definitions for the archive will be
2798 set. If no archive is specified, then the first archive for the
2799 selected entry will be used. If /ARCHIVE is specifed with /MENU, the
2800 archvives will be presented to the user as seperate choices on the menu.
2801 <li><strong>/RESTRICT_IRNS</strong> determines if SETUPENV should
2802 attempt to define the OECN$EMIS_RESTRICT_IRNS logical. This logical is
2803 set by checking all the entries which have a relationship (parent,
2804 child, or sibling) based on the PARENT attributes. For each such entry,
2805 the users access to the entries is checked (based on the IDENTIFIER
2806 attributes). If the user has access to the entry, then the IRN of the
2807 entry is added to the OECN$EMIS_RESTRIC_IRNS logical.
2808 <li><strong>/PRINT</strong> attempts to determine the user's default
2809 printer using a convention from NOACSC. The "owner" field for the
2810 current user is retrieved from SYSUAF. If the owner field contains a
2811 slash (/) the characters after the slash are tested to see if it
2812 contains a valid queue name. If not, "$PRINT" is appended to the string
2813 from the owner field and is again tested as a queue. If either value
2814 translates to a valid queue name (other than SYS$PRINT), then SYS$PRINT
2815 is defined as a logical to point to the queue. The OECN_PRT symbol is
2816 also defined to print to the queue.
2817 <li><strong>/EMIS</strong> places SETUPENV in "EMIS" mode. In this
2818 mode, SETUPENV simulates the behavior of EMIS_SELECT.COM. The
2819 OECN$EMIS_DBS file is read and handled in the same manner as
2820 EMIS_SELECT. In this mode, the meaning of the "entry code" parameter is
2821 the DBS code of the EMIS database, instead of a SETUPENV entry code.
2822 The following qualifiers are valid with /EMIS:
2823
2824 <ul>
2825 <li>/NEXT
2826 <li>/RESET
2827 <li>/MENU
2828 <li>/CATEGORIES
2829 <li>/LOG
2830 </ul>
2831 <br>See the "EMIS_SELECT Compatibility" section for more information.
2832 <li><strong>/USE, /BUNNY, /FROG</strong> provide compatibility with the
2833 corresponding NOACSC's utilities. When one of these qualifiers is
2834 specified, the utility accepts the corresponding utilitie's qualifiers
2835 and converts them to the nearest SETUPENV equivalent. See the "NOACSC
2836 Compatibility" section for more information.
2837 </ul>
2838
2839 <h2>Usage Notes</h2>
2840
2841 <p>
2842 When /NEXT is used, if the specified or next entry cannot be found
2843 SETUPENV exits with an error severity.
2844
2845 <p>
2846 After successfully selecting an entry, OECN_LOGIN.COM is executed to
2847 ensure the users OECN$x logicals are set correctly. If the DAS has
2848 established the OECN_LOGIN_EPILOGUE procedure, it will subsequently be
2849 executed. This provides a means for the DAS to customize the behavior
2850 and do any additional processing after an entry is selected.
2851
2852 <p>
2853 Likewise, when /EMIS is specified, EMIS_SELECT_EPILOGUE and
2854 EMIS_SWITCH_FY will be invoked after successfully selecting a database.
2855
2856 <a name="heading_11.3"><h1>11.3 Logicals Created By SETUPENV</h1></a>
2857
2858 <p>
2859 After successfully selecting an entry, SETUPENV establishes a series of
2860 logicals (OECN$SETUP_*) to describe the current context and to maintain
2861 it's own context for subsequent invocations of SETUPENV. These logicals
2862 may be used by DCL procedures but should never be modified or
2863 deassigned (use SETUPENV/RESET to deassign the logicals if necessary).
2864
2865 <p>
2866 The logical OECN$SETUP_ENTRY contains the current selected entry. This
2867 is the primary entry that was specified as a parameter, selected via
2868 the menu, or selected using /NEXT.
2869
2870 <p>
2871 The logical OECN$SETUP_ARCHIVE contains the archive code if one was
2872 selected using /ARCHIVE or the menu.
2873
2874 <p>
2875 One logical is defined for each of the entry types that has been
2876 selected. A user can have one context in up to four different "types"
2877 of entries: DISTRICT, BUILDING, LIBRARY, OTHER. For each type that has
2878 been selected, the corresponding logical will be defined:
2879
2880 <ul>
2881 <li>OECN$SETUP_CURRENT_DISTRICT
2882 <li>OECN$SETUP_CURRENT_BUILDING
2883 <li>OECN$SETUP_CURRENT_LIBRARY
2884 <li>OECN$SETUP_CURRENT_OTHER
2885 </ul>
2886
2887 <p>
2888 The logical will not exist for types that have not been selected.
2889
2890 <p>
2891 The value of the OECN$SETUP_CURRENT_* logicals is a string that
2892 describes the selected entry. The format for the string entry is:
2893
2894 <p>
2895 <table border=0>
2896 <tr>
2897 <td>
2898 <br>
2899 <pre>
2900
2901 "entry_code,irn,categories,applications"
2902
2903 Where: entry_code the entry for this type
2904 irn from IRN attribute
2905 categories space delimited list of categories
2906 from CATEGORIES attribute
2907 applications space delimited list of applications
2908 from APPLICATIONS attribute
2909
2910 </pre>
2911 </table>
2912
2913 <p>
2914 This string is formatted in a manner that is easily parsed using the
2915 F$ELEMENT lexical function.
2916
2917 <p>
2918 The following logicals may also be defined depending on the selected
2919 entries relationship with other entries:
2920
2921 <ul>
2922 <li><strong>OECN$SETUP_PARENT</strong>---Contains the PARENT entry for
2923 the current entry
2924 <li><strong>OECN$SETUP_CHILDREN</strong>---Contains a list, separated
2925 by commas, of the children for the current entry. That is, a list of
2926 entries which contain a PARENT pointing to the current entry.
2927 <li><strong>OECN$SETUP_SIBLINGS</strong>---Contains a list, separated
2928 by commas, of "siblings" (excluding the current entry). That is, a list
2929 of entries that share the same parent entry.
2930 </ul>
2931
2932 <p>
2933 Any of the logicals that do not apply to an entry will not be defined
2934 (e.g. for a parent entry, the siblings logical will not be defined).
2935
2936 <a name="heading_11.4"><h1>11.4 OECN$SETUP.INI</h1></a>
2937
2938 <p>
2939 The OECN$SETUP initialization file defines the environment for various
2940 entities which use OECN (or other) software products. The default
2941 filename is OECN$CUSTOM:OECN$SETUP.INI. OECN$SETUP may be defined as a
2942 logical to override the location and filename.
2943
2944 <p>
2945 Each "section" in the INI file describes an "entity". An entity might
2946 be a district, building, library or other entity where a specific
2947 context needs to be established. When the SETUPENV utility is executed
2948 to select an entity, the context is defined as specified in the rules
2949 for that section.
2950
2951 <p>
2952 The parameters and formats for each section are as follows:
2953
2954 <ul>
2955 <li><strong>SECTION={entity_code}</strong> <br>The SECTION statement
2956 begins a new entity definition. The entity code may be up to 12
2957 alphanumeric digits. This is the code used to select the entry and is
2958 seen on the menu. This code must uniquely identify each entity
2959 regardless of type (i.e. You must not specify a district and building
2960 entity with the same code).
2961 <li><strong>DESCRIPTION="text"</strong> <br>Text description for menu
2962 <li><strong>TYPE={DISTRICT|BUILDING|LIBRARY|OTHER}</strong>
2963 <br>Indicates the type of entity. If TYPE is not specified, the default
2964 is DISTRICT. A user can have context in each of these types at one time.
2965 <li><strong>CATEGORIES="string"</strong> <br>An unformatted string that
2966 may further define the entry. Except where otherwise indicated, the
2967 categories are site defined. It might be used as flags to indicate
2968 processes that may be run against the entry. Entries may be selected by
2969 category using the /CATEGORIES qualifer. The categories for each
2970 selected type is also returned to DCL via the OECN$SETUP_CURRENT_*
2971 logicals.
2972 <li><strong>APPLICATIONS={app}[,...]</strong> <br>List of applications
2973 used by the entry. Each application is a site defined code of up to 10
2974 characters. Five applications may be specified on each APPLICATIONS
2975 line. Multiple APPLICATIONS lines may be specified if needed.
2976 <br><strong>Note:</strong> Although the applications are site defined,
2977 the SSDT and other software providers may require specific application
2978 codes. It is recommended that you use these codes for established
2979 applications:
2980
2981 <blockquote>
2982 USPS
2983 <br> USAS
2984 <br> EMIS
2985 <br> EIS
2986 <br> VIS
2987 <br> SIS (McSIS)
2988 <br> INFOHIO
2989 </blockquote>
2990 <li><strong>IRN={irn}</strong> <br>Optional IRN for the entry. Returned
2991 to DCL via the OECN$SETUP_CURRENT logical and optionally used in the
2992 OECN$EMIS_RESTRICT_IRNS logical.
2993 <li><strong>PROMPT="prompt string"</strong> <br>Optionally specifies
2994 the prompt string to be used if this entry is selected. This value
2995 overrides the default prompt. The default prompt is the list of entry
2996 codes currently selected.
2997 <li><strong>ARCHIVE={archive_code},[description],[table]...</strong>
2998 <br> Declares this entity to have an "archive". Archives can be
2999 selected using the /ARCHIVE qualifier. If a code is specified on the
3000 /ARCHIVE qualifier, then the corresponding archive items are also
3001 processed when the entry is selected. When /ARCHIVE is used with /MENU,
3002 then the archive definitions are listed on the menu as separate items
3003 which the user can select. <br>The optional table parameter indicates
3004 additional table(s) which should be placed in the LNM$FILE_DEV search
3005 path. If specified, they will be placed on the path before the other
3006 shared tables (TABLE and GROUP_TABLE). This permits definitions for
3007 archive logicals to be placed in special shared logical tables for use
3008 as an archive. <br>A multiple ARCHIVE attributes might be included for
3009 each fiscal year, or it may be a generic archive setting which requires
3010 an additional step (outside of SETUPENV) to complete establishing the
3011 archive environment. The usefulness of this attribute depends largely
3012 on how the DAS currently has archives defined and whether/how they are
3013 user selectable.
3014 <li><strong>LOGICAL={logical_name[@archive_code]}[,CONCEALED]
3015 [,IF_EXISTS],[values]...</strong> <br> Specifies a process logical to
3016 define. Multiple values may be included to define a search list. If a
3017 logical name is specified without any values, then the logical will be
3018 deassigned. <br> If the CONCEALED keyword is included, then the logical
3019 will be concealed. <br><strong>Conditional Logicals</strong> <br>The
3020 IF_EXISTS keyword causes the logical to be defined conditionally based
3021 on the presence of the file specified in the value. The logical will
3022 only be created if the file specified in the first value exists. In
3023 this case, the value should contain a complete filespec. For example an
3024 EMIS entry might specify:
3025
3026 <p>
3027 <table border=0>
3028 <tr>
3029 <td>
3030 <br>
3031 <pre>
3032
3033 LOGICAL=OECN$EMIS_STU_SEARCH,IF_EXISTS,OECN$EMIS$DTA:EMSALT.IDX
3034 LOGICAL=OECN$EMIS$DTA,CONCEALED,EMIS_ROOT:[LIVE]
3035 </pre>
3036 </table>
3037
3038 <br> In this case, OECN$EMIS_STU_SEARCH will only be defined if the
3039 OECN$EMIS$DTA:EMSALT.IDX file exists.
3040
3041 <p>
3042 <center>
3043 <table border=0 width=75%>
3044 <tr>
3045 <td><center><font size=+2><strong>Note</strong></font></center><hr
3046 size=1 noshade>
3047 SETUPENV defines logicals in the reverse order that they appear in the
3048 section. Therefore, conditional logicals should be placed prior to any
3049 logicals which they refer to. </td>
3050 </tr>
3051 </table>
3052 </center>
3053 <br><strong>Archive Logicals</strong> <br>If an optional archive code
3054 is included after the logical name (by specifying the archive code
3055 after an "@") then the logical will only be defined if the
3056 corresponding ARCHIVE code is selected (via the /ARCHIVE qualifier or
3057 the menu). Logicals which contain the archive code will be processed
3058 after any normal logicals and therefore will supercede any previous
3059 definition of the same logical. <br> The archive code on each logical
3060 should match an archive code specified in an ARCHIVE attribute. The
3061 ARCHIVE attribute will provide the description for the menu when the
3062 archive is displayed.
3063 <li><strong>SYMBOL={symbol_name}[,symbol_value]</strong> <br>Sets a
3064 global symbol. If a value is not specified, then the symbol is deleted.
3065 <strong>Note:</strong> The symbol and value must be made up of
3066 printable characters. Non-printable values may not be included (in the
3067 current version of SETUPENV).
3068 <li><strong>PARENT={entry}</strong> <br>Indicates a parent entry of
3069 this entry. Parent entries may be nested (i.e. parents of an entry may
3070 themselves have a parent). This facility allows multiple entries to
3071 share another entry as a parent. For example, if all buildings share
3072 the district definition of EMIS_ROOT, then EMIS_ROOT can be defined in
3073 the district entry and each building specify the district as PARENT.
3074 <br>When the user selects an entry which contains the PARENT attribute,
3075 then settings for the parent will be set prior to the logicals for the
3076 selected entry. Therefore, selecting a building entry will also
3077 automatically select the corresponding district (parent) entry.
3078 <li><strong>GROUP_TABLE={octal_group_number}</strong> <br>Specifies
3079 this entry uses a GROUP logical name table for some of it's logical
3080 definitions. This setting only applies if someone outside the group
3081 attempts to set this entry. If so, the entry's group table will be
3082 added to the process' LNM$FILE_DEV path. Otherwise, if the user is in
3083 the specified group, it's assumed that the default definition of
3084 LNM$FILE_DEV already includes LNM$GROUP.
3085 <li><strong>TABLE={logical_name_table},...</strong> <br>Indicates that
3086 this entry uses a sharable logical name table(s) (other than a group
3087 table) for some of its logicals. When this entry is selected, the
3088 logical table will be added to the processes LNM$FILE_DEV logical path.
3089 Up to four tables may be specified.
3090 <li><strong>IDENTIFIER={ident_specification}</strong> <br>Indicates an
3091 ACE entry used to control access to the entry. This is used when /MENU
3092 is specified to control which entries the user is allowed to see. It is
3093 also used when determining which entry to select as default when
3094 /LOGIN=BY_ACCESS is specified. <br>The format of the identifier
3095 specification is the same as the "IDENTIFIER=" portion of a standard
3096 identifier ACE entry. If the specification includes a comma then the
3097 specification must be enclosed in quotes. Multiple IDENTIFIER lines may
3098 be included for an entry. If so, standard ACL processing applies for
3099 determining access. Examples:
3100
3101 <blockquote>
3102 IDENTIFIER="[101,*]"
3103 <br>IDENTIFIER=SIS_BLDA
3104 <br>IDENTIFIER="OECN_USAS+ARCHBOLD_FISCAL"
3105 </blockquote>
3106
3107 <p>
3108 <center>
3109 <table border=0 width=75%>
3110 <tr>
3111 <td><center><font size=+2><strong>Note</strong></font></center><hr
3112 size=1 noshade>
3113 IDENTIFIER does not necessarily restrict users from selecting a
3114 specific entry. If a specific entry is specified on the command line
3115 (manually or via a DCL procedure), SETUPENV will establish the context
3116 regardless of the IDENTIFIER attributes. This is useful for sites who
3117 do not need, or do not desire, to code specific identifiers into the
3118 OECN$SETUP file. </td>
3119 </tr>
3120 </table>
3121 </center>
3122 </ul>
3123
3124 <a name="heading_11.4.1"><h2>11.4.1 Special "Reset" Entries</h2></a>
3125
3126 <p>
3127 Prior to setting any given entry, SETUPENV will attempt to process
3128 special sections named "$RESET_type". If a $RESET section of the
3129 appropriate type exists in the INI file, it will be processed prior to
3130 setting an entry.
3131
3132 <p>
3133 The following reset sections may be specified:
3134
3135 <ul>
3136 <li>$RESET_DISTRICT
3137 <li>$RESET_BUILDING
3138 <li>$RESET_LIBRARY
3139 <li>$RESET_OTHER
3140 </ul>
3141
3142 <p>
3143 When a user selects an entry of a specific type, the corresponding
3144 reset section is invoked prior to setting the environment for the
3145 selected entry.
3146
3147 <p>
3148 This is useful in cases where some entries specify a process logical
3149 but others use a group logical. In order to switch from one entry to
3150 another, it is necessary to deassign the common logical from the
3151 process table prior to switching to the group logicals.
3152
3153 <p>
3154 For example, consider that DISTRICT_A has a process logical definition
3155 of OECN$DTA. But DISTRICT_B has a group logical for OECN$DTA. Switching
3156 from DISTRICT_A to DISTRICT_B requires that the OECN$DTA be deassigned
3157 so the group logical is visable. SETUPENV does not attempt to keep
3158 track of this, rather it permits you to create a $RESET entry for each
3159 type to deassign logicals appropriate for your site. For example,
3160 $RESET could be defined as:
3161
3162 <blockquote>
3163 SECTION=$RESET_DISTRICT
3164 <br>LOGICAL=OECN$DTA
3165 <br>LOGICAL=OECN$OUT,"SYS$DISK:[]"
3166 </blockquote>
3167
3168 <p>
3169 The above entry would cause SETUPENV to deassign OECN$DTA and define
3170 OECN$OUT to the default directory prior to setting any valid entry. In
3171 general, you should explicitly deassign any logicals in the reset
3172 section that are defined in any entry of the same type.
3173
3174 <a name="heading_11.4.2"><h2>11.4.2 Sample OECN$SETUP File</h2></a>
3175
3176 <p>
3177 Below is a very simple OECN$SETUP.INI file which defines entries for
3178 one district and two buildings. The setup file can contain many such
3179 entries for as many districts and buildings provided that the entry
3180 codes are unique.
3181
3182 <p>
3183 <table border=0>
3184 <tr>
3185 <td>
3186 <br>
3187 <pre>
3188
3189 SECTION=SAMPLE
3190 TYPE=DISTRICT
3191 DESCRIPTION="Sample City Schools"
3192 LOGICAL=EMIS_ROOT, FSA:[EMIS_SAMPLE.],CONCEALED
3193 LOGICAL=OECN$DTA, FSA:[SAMPLE]
3194 LOGICAL=OECN$FORM_DIRDEP, OECN$PAY:DIRPRT.FRM
3195
3196 SECTION=SAME
3197 TYPE=BUILDING
3198 DESCRIPTION="Sample Elementary School"
3199 PARENT=SAMPLE
3200 TABLE=SIS_SAME
3201 IDENTIFIER=SIS_SAME
3202
3203 SECTION=SAMH
3204 TYPE=BUILDING
3205 DESCRIPTION="Sample High School"
3206 PARENT=SAMPLE
3207 TABLE=SIS_SAMH
3208 IDENTIFIER=SIS_SAMH
3209
3210 SECTION=$RESET_DISTRICT
3211 LOGICAL=EMIS_ROOT
3212 LOGICAL=OECN$DTA
3213 LOGICAL=OECN$FORM_DIRDEP
3214 </pre>
3215 </table>
3216
3217 <p>
3218 In this example, the buildings point to the district using the PARENT
3219 attribute. This creates the appropriate relationship. When the user
3220 selects one of the buildings, the corresponding logicals from the
3221 district entry will also be set.
3222
3223 <p>
3224 Also notice that the district entry uses LOGICAL's to define the
3225 individual logicals. But the building entries use shared logical tables
3226 created outside of SETUPENV.
3227
3228 <p>
3229 The special $RESET_DISTRICT section is provided to ensure that the
3230 district logical get reset appropriately prior to setting an entry.
3231
3232 <a name="heading_11.4.3"><h2>11.4.3 Special "APPLICATION" Entries</h2></a>
3233
3234 <p>
3235 If an entry is defined with one or more APPLICATION attributes, then
3236 SETUPENV will search for an entry named "$APP_app", where "app" is the
3237 application code. This allows logicals, symbols or tables that are
3238 common for an application to be grouped into shared entries. Consider
3239 the following example:
3240
3241 <p>
3242 <table border=0>
3243 <tr>
3244 <td>
3245 <br>
3246 <pre>
3247 SECTION=DISTRICT_A
3248 TYPE=DISTRICT
3249 APPLICATION=USAS
3250 LOGICAL=DISTRICT_ROOT,CONCEAL,DISK1:[DISTRICT_A.]
3251
3252 SECTION=DISTRICT_B
3253 TYPE=DISTRICT
3254 APPLICATION=USAS
3255 LOGICAL=DISTRICT_ROOT,CONCEAL,DISK1:[DISTRICT_B.]
3256
3257 SECTION=DISTRICT_C
3258 TYPE=DISTRICT
3259 LOGICAL=DISTRICT_ROOT,CONCEAL,DISK1:[DISTRICT_C.]
3260
3261 SECTION=$APP_USAS
3262 LOGICAL=OECN$DTA,DISTRICT_ROOT:[DATA]
3263 </pre>
3264 </table>
3265
3266 <p>
3267 In this example, the DISTRICT_ROOT logical would be defined for all
3268 three districts. However, OECN$DTA would only be defined for DISTRICT_A
3269 and DISTRICT_B because they have APPLICATION=USAS. DISTRICT_C does not
3270 have the application attribute and so would not invoke the $APP_USAS
3271 entry.
3272
3273 <p>
3274 <center>
3275 <table border=0 width=75%>
3276 <tr>
3277 <td><center><font size=+2><strong>Note</strong></font></center><hr
3278 size=1 noshade>
3279 Note: The above is for example only. In practice, OECN$DTA might be
3280 more efficiently defined as a system logical. </td>
3281 </tr>
3282 </table>
3283 </center>
3284
3285 <p>
3286 Application entries do not have a corresponding "reset" section.
3287 Logicals defined in this manner may need to be included in the
3288 appropriate "$RESET_type" section to ensure they are reset.
3289
3290 <a name="heading_11.4.4"><h2>11.4.4 Special "INCLUDE" Section</h2></a>
3291
3292 <p>
3293 A special section may be specified in any INI file called $INCLUDE.
3294 This section may specify other INI files to be included and processed
3295 with the primary INI file. The $INCLUDE section may only contain "FILE"
3296 attributes to indicate the file(s) to be included.
3297
3298 <p>
3299 The $INCLUDE section permits INI files to be split into manageable
3300 segments or for INI files to be generated automatically. For example,
3301 you might create one INI file for each district and it's associated
3302 buildings. Or a separate utility may have information for creating
3303 subsets of the INI file. For example, the primary OECN$SETUP.INI might
3304 have:
3305
3306 <p>
3307 <table border=0>
3308 <tr>
3309 <td>
3310 <br>
3311 <pre>
3312 SECTION=$INCLUDE
3313 FILE=OECN$CUSTOM:DISTRICT_A.INI
3314 FILE=OECN$CUSTOM:DISTRICT_B.INI
3315 FILE=OECN$CUSTOM:DISTRICT_C.INI
3316 </pre>
3317 </table>
3318
3319 <p>
3320 Each INI file may also have an $INCLUDE section to indicate other files
3321 to be included. There is a maximum of 100 files that may be included
3322 throughout all INI files.
3323
3324 <p>
3325 <center>
3326 <table border=0 width=75%>
3327 <tr>
3328 <td><center><font size=+2><strong>Note</strong></font></center><hr
3329 size=1 noshade>
3330 There is a performance penalty incurred for splitting INI files into
3331 many parts. SETUPENV must read the primary and all included files each
3332 time it is invoked. </td>
3333 </tr>
3334 </table>
3335 </center>
3336
3337 <p>
3338 Duplicate entries are handled by merging the entries together. For
3339 example, if two included files both contain an entry for DISTRICT_A,
3340 then the attributes (e.g. LOGICAL attributes ) from both sections will
3341 be combined into a single entry. If duplicate entries specify
3342 attributes that only occur once per entry, then the last INI file to be
3343 loaded supercedes the previous value.
3344
3345 <p>
3346 The INI files are NOT processed as they are encountered in the file.
3347 Rather they represent a list of INI files that need to be processed.
3348 SETUPENV will complete processing of the current file prior to begin
3349 processing the next file. Therefore, included INI files will always be
3350 processed after the file that included it (although perhaps not
3351 immediately after). In general, you should not depend on files being
3352 processed in any particular order.
3353
3354 <a name="heading_11.4.5"><h2>11.4.5 Limits</h2></a>
3355
3356 <p>
3357 Certain limits which apply to the OECN$SETUP.INI file are shown in the
3358 table below. Limits are 'per entry' unless otherwise noted. <p>
3359
3360 <table border=3>
3361 <caption><a name="Table_11-1"><strong>Table 11-1 wide</strong></a></caption>
3362 <tr>
3363 <th align=center>Attribute </th>
3364 <th align=center>Maximum Length </th>
3365 <th align=center>Limit </th>
3366 </tr>
3367 <tr>
3368 <td>
3369 FILE (in $INCLUDE section)
3370 </td>
3371 <td>
3372 50
3373 </td>
3374 <td>
3375 100 total in all files
3376 </td>
3377 </tr>
3378 <tr>
3379 <td>
3380 SECTION
3381 </td>
3382 <td>
3383 12
3384 </td>
3385 <td>
3386 500 total in all files
3387 </td>
3388 </tr>
3389 <tr>
3390 <td>
3391 DESC
3392 </td>
3393 <td>
3394 40
3395 </td>
3396 <td>
3397 1
3398 </td>
3399 </tr>
3400 <tr>
3401 <td>
3402 TYPE
3403 </td>
3404 <td>
3405 12
3406 </td>
3407 <td>
3408 1
3409 </td>
3410 </tr>
3411 <tr>
3412 <td>
3413 IRN
3414 </td>
3415 <td>
3416 6
3417 </td>
3418 <td>
3419 1
3420 </td>
3421 </tr>
3422 <tr>
3423 <td>
3424 CATEGORIES
3425 </td>
3426 <td>
3427 40
3428 </td>
3429 <td>
3430 1
3431 </td>
3432 </tr>
3433 <tr>
3434 <td>
3435 APPLICATIONS
3436 </td>
3437 <td>
3438 10
3439 </td>
3440 <td>
3441 15 (five per line)
3442 </td>
3443 </tr>
3444 <tr>
3445 <td>
3446 ARCHIVE
3447 </td>
3448 <td>
3449 6
3450 </td>
3451 <td>
3452 20
3453 </td>
3454 </tr>
3455 <tr>
3456 <td>
3457 ARCHIVE (tables)
3458 </td>
3459 <td>
3460 32
3461 </td>
3462 <td>
3463 3 per archive
3464 </td>
3465 </tr>
3466 <tr>
3467 <td>
3468 PROMPT
3469 </td>
3470 <td>
3471 40
3472 </td>
3473 <td>
3474 1
3475 </td>
3476 </tr>
3477 <tr>
3478 <td>
3479 IDENTIFIERS
3480 </td>
3481 <td>
3482 80
3483 </td>
3484 <td>
3485 unlimited *
3486 </td>
3487 </tr>
3488 <tr>
3489 <td>
3490 LOGICAL (name)
3491 </td>
3492 <td>
3493 50
3494 </td>
3495 <td>
3496 unlimited *
3497 </td>
3498 </tr>
3499 <tr>
3500 <td>
3501 LOGCIAL (value)
3502 </td>
3503 <td>
3504 80
3505 </td>
3506 <td>
3507 4 per logical
3508 </td>
3509 </tr>
3510 <tr>
3511 <td>
3512 SYMBOL (name)
3513 </td>
3514 <td>
3515 24
3516 </td>
3517 <td>
3518 unlimited *
3519 </td>
3520 </tr>
3521 <tr>
3522 <td>
3523 SYMBOL (value)
3524 </td>
3525 <td>
3526 50
3527 </td>
3528 <td>
3529 1 per symbol
3530 </td>
3531 </tr>
3532 <tr>
3533 <td>
3534 TABLE
3535 </td>
3536 <td>
3537 50
3538 </td>
3539 <td>
3540 unlimited *
3541 </td>
3542 </tr>
3543 <tr>
3544 <td>
3545 GROUP
3546 </td>
3547 <td>
3548 Octal Value
3549 </td>
3550 <td>
3551 1
3552 </td>
3553 </tr>
3554 <tr>
3555 <td>
3556 PARENT
3557 </td>
3558 <td>
3559 12
3560 </td>
3561 <td>
3562 1
3563 </td>
3564 </tr>
3565 </table>
3566
3567 <p>
3568 <center>
3569 <table border=0 width=75%>
3570 <tr>
3571 <td><center><font size=+2><strong>Note</strong></font></center><hr
3572 size=1 noshade>
3573 * = Attributes which are "unlimited" are limited by virtual memory
3574 available to the user. Very large INI files with large numbers of
3575 logicals or symbols may exhaust virtual memory. </td>
3576 </tr>
3577 </table>
3578 </center>
3579
3580 <a name="heading_11.5"><h1>11.5 EMIS_SELECT Compatibility</h1></a>
3581
3582 <p>
3583 The /EMIS qualifier provides functional compatibility with the
3584 EMIS_SELECT.COM procedure. In this mode, SETUPENV will read the
3585 existing OECN$EMIS_DBS file and convert it to equivalent setup entries.
3586 The primary advantage of using SETUPENV over EMIS_SELECT is it's
3587 ability to use the /NEXT qualifier to process databases sequentially.
3588 SETUPENV also provides a slightly improved user interface over the DCL
3589 version.
3590
3591 <p>
3592 <center>
3593 <table border=0 width=75%>
3594 <tr>
3595 <td><center><font size=+2><strong>Note</strong></font></center><hr
3596 size=1 noshade>
3597 SETUPENV/EMIS can be used even if the DAS has not created an
3598 OECN$SETUP.INI file. </td>
3599 </tr>
3600 </table>
3601 </center>
3602
3603 <p>
3604 When SETUPENV/EMIS reads the OECN$EMIS_DBS, it creates a special entry
3605 which is equavalent to:
3606
3607 <p>
3608 <table border=0>
3609 <tr>
3610 <td>
3611 <br>
3612 <pre>
3613 SECTION=$EMIS_dbscode
3614 DESCRIPTION=description from DBS
3615 CATEGORIES=RP_x FY_fy flags ! See below
3616 LOGICAL=OECN$EMIS$DTA,dev:[dir] ! From DBS line
3617 IDENTIFIER=OECN_SYSMAN ! If the DBS line contained "HIDE"
3618 </pre>
3619 </table>
3620
3621 <p>
3622 The CATEGORIES is constructed based on the optional reporting period
3623 and flags parameter from the DBS line. The CATAGORIES value will always
3624 be in the format "RP_x FY_fy flags". Where x is the reporting period
3625 and "fy" is the fiscal year from the EMIS configuration. If the DBS
3626 included any additional flags (other than HIDE), they will also be
3627 included in the categories.
3628
3629 <p>
3630 One implication of the above is that the /CATEGORIES qualifier can be
3631 used to select specific reporting periods. For example:
3632
3633 <p>
3634 <table border=0>
3635 <tr>
3636 <td>
3637 <br>
3638 <pre>
3639 $ SETUPENV/EMIS/NEXT/CATEGORIES="*RP_N*"
3640 </pre>
3641 </table>
3642
3643 <p>
3644 Would select the next EMIS database for reporting period N.
3645
3646 <p>
3647 <center>
3648 <table border=0 width=75%>
3649 <tr>
3650 <td><center><font size=+2><strong>Note</strong></font></center><hr
3651 size=1 noshade>
3652 SETUPENV will invoke the DA Site's EMIS_SELECT_EPILOGUE procedure if it
3653 exists. However, the EMIS_SELECT_PROLOGUE is not supported. DA Sites
3654 that depend on the prologue procedure should contact the SSDT for a
3655 work around. </td>
3656 </tr>
3657 </table>
3658 </center>
3659
3660 <a name="heading_11.5.1"><h2>11.5.1 Converting OECN$EMIS_DBS to OECN$SETUP</h2></a>
3661
3662 <p>
3663 It is possible to completely convert from using the OECN$EMIS_DBS file
3664 to corresponding entries in OECN$SETUP.INI. To do so, simply create
3665 sections in the OECN$SETUP file as shown in the previous section. The
3666 entry code must be prefixed with "$EMIS_". The corresponding code
3667 should be removed from OECN$EMIS_DBS, otherwise they will both be
3668 processed.
3669
3670 <p>
3671 To retain compatibility with EMIS_SELECT, you should be certain to
3672 define the CATEGORIES attribute in the same format as shown. When
3673 entries are stored in the OECN$SETUP file, SETUPENV will not access the
3674 EMIS database to retrieve the fiscal year, therefore you should
3675 explicitly include FY_fy in the CATEGORIES attribute.
3676
3677 <p>
3678 One advantage of converting DBS entries into OECN$SETUP is that the
3679 entry definitions are not limited to defining a single logical
3680 (OECN$EMIS$DTA). The $EMIS_ entries can contain any other valid
3681 attribute types, including TABLE, APPLICATION, SYMBOL, etc.
3682
3683 <p>
3684 <center>
3685 <table border=0 width=75%>
3686 <tr>
3687 <td><center><font size=+2><strong>Note</strong></font></center><hr
3688 size=1 noshade>
3689 At the time of this writing, the original EMIS_SELECT.COM procedure is
3690 still invoked by the EMIS_SELECT menu option. Therefore, if you wish to
3691 switch to SETUPENV immediately, you would have to modify the EMIS menu
3692 or customize the EMIS_SELECT.COM procedure. In the future,
3693 EMIS_SELECT.COM will be modified by the SSDT to use SETUPENV/EMIS
3694 instead of the current DCL procedure. </td>
3695 </tr>
3696 </table>
3697 </center>
3698
3699 <a name="heading_11.6"><h1>11.6 NOACSC Compatiblity</h1></a>
3700
3701 <p>
3702 SETUPENV is similar to the USE, BUNNY, and FROG utilities provided by
3703 NOACSC. In some respects SETUPENV is based on these utilities. While
3704 SETUPENV is not 100% compatible with these utilities, it does attempt
3705 to simulate most of the behaviors and should be able to co-exist with
3706 them.
3707
3708 <p>
3709 To provide an easier transition for sites who are using NOACSC's
3710 utilities, SETUPENV also provides command line compatibility with the
3711 utilities. The following sections provide information regarding
3712 compatibility with each of the utilities.
3713
3714 <p>
3715 Symbols may be established for each of the utilities to invoke SETUPENV
3716 in the appropriate compatibility mode:
3717
3718 <p>
3719 <table border=0>
3720 <tr>
3721 <td>
3722 <br>
3723 <pre>
3724 USE :== $OECN$:SETUPENV/USE
3725 BUNNY :== $OECN$:SETUPENV/BUNNY
3726 FROG :== $OECN$:SETUPENV/FROG
3727 </pre>
3728 </table>
3729
3730 <p>
3731 This should allow SETUPENV to be used without modifying any existing
3732 command procedures.
3733
3734 <a name="heading_11.6.1"><h2>11.6.1 USE Compatibliity</h2></a>
3735
3736 <p>
3737 If /USE is specified as the first qualifier to SETUPENV, then the
3738 original USE qualifiers are accepted. The table below lists the USE
3739 qualifiers and the corresponding qualifier/behavor for SETUPENV.
3740 /PROMPT is the default for /USE.
3741
3742 <p>
3743 The SETUPENV /PRINTER qualifier is the default. However, instead of
3744 defining SYS$PRINT, LCL$PRINT is defined to point the queue from the
3745 owner field.
3746
3747 <table border=3>
3748 <tr>
3749 <th align=center>Qualifier </th>
3750 <th align=center>SETUPENV Implementation </th>
3751 </tr>
3752 <tr>
3753 <td>
3754 /OUTPUT
3755 </td>
3756 <td>
3757 Not implemented
3758 </td>
3759 </tr>
3760 <tr>
3761 <td>
3762 /ARCHIVE=nnnn
3763 </td>
3764 <td>
3765 /ARCHIVE=nnnn
3766 </td>
3767 </tr>
3768 <tr>
3769 <td>
3770 /HOME
3771 </td>
3772 <td>
3773 /RESET
3774 </td>
3775 </tr>
3776 <tr>
3777 <td>
3778 /PRIMARY_RUN
3779 </td>
3780 <td>
3781 /LOGIN=(SIS,INFOHIO,USERNAME=2)/NOPROMPT
3782 </td>
3783 </tr>
3784 </table>
3785
3786 <h2>Notable Differences:</h2>
3787
3788 <ul>
3789 <li>The USE default for /ARCHIVE is provided by the .CLD file (which is
3790 changed annually to provide a new default). SETUPENV's default is the
3791 first ARCHIVE for the entry. Therefore, to remain compatible with USE,
3792 archives should be placed with the most recent year first in the
3793 entry's section.
3794 <li>USE determines which logicals to set based on the security
3795 identfiers held by the user (e.g. OECN$EIS$DTA is only set if OECN_EIS
3796 is held). SETUPENV sets all logicals specified for the entry regardless
3797 of security identifiers.
3798 <li>SETUPENV does not set PMDF_SIGNATURE. Sites depending on this
3799 should add the following line to SYLOGIN:
3800
3801 <p>
3802 <table border=0>
3803 <tr>
3804 <td>
3805 <br>
3806 <pre>
3807
3808 $ if f$search("SYS$LOGIN:PMDF_SIGNATURE.DOC").nes."" -
3809 then define PMDF_SIGNATURE "@SYS$LOGIN:PMDF_SIGNATURE.DOC"
3810
3811 </pre>
3812 </table>
3813
3814 </ul>
3815
3816 <a name="heading_11.6.2"><h2>11.6.2 BUNNY Compatibility</h2></a>
3817
3818 <p>
3819 If /BUNNY is specified as the first qualifier to SETUPENV, then the
3820 original BUNNY qualifiers are accepted.
3821
3822 <p>
3823 The SETUPENV defaults when /BUNNY is specified are:
3824
3825 <p>
3826 <table border=0>
3827 <tr>
3828 <td>
3829 <br>
3830 <pre>
3831 $ SETUPENV/BUNNY/PROMPT/EMIS=NORESTRICT_IRNS
3832 </pre>
3833 </table>
3834
3835 <p>
3836 These defaults are affected by the original BUNNY qualifiers per the
3837 following table.
3838 <p>
3839
3840 <table border=3>
3841 <tr>
3842 <th align=center>Qualifier </th>
3843 <th align=center>SETUPENV Implementation </th>
3844 </tr>
3845 <tr>
3846 <td>
3847 /ARCHIVE=nnnn
3848 </td>
3849 <td>
3850 /ARCHIVE=nnnn
3851 </td>
3852 </tr>
3853 <tr>
3854 <td>
3855 /CURRENT_BUILDING
3856 </td>
3857 <td>
3858 not implemented
3859 </td>
3860 </tr>
3861 <tr>
3862 <td>
3863 /EMIS
3864 </td>
3865 <td>
3866 not implemented (logicals defined by entry)
3867 </td>
3868 </tr>
3869 <tr>
3870 <td>
3871 /INFOHIO
3872 </td>
3873 <td>
3874 /LOGIN=INFOHIO
3875 </td>
3876 </tr>
3877 <tr>
3878 <td>
3879 /PRIMARY_RUN
3880 </td>
3881 <td>
3882 /LOGIN=(SIS,INFOHIO)/NOPROMPT
3883 </td>
3884 </tr>
3885 <tr>
3886 <td>
3887 /LOGICAL_ONLY
3888 </td>
3889 <td>
3890 /NOPROMPT
3891 </td>
3892 </tr>
3893 <tr>
3894 <td>
3895 /RESTRICT_IRNS
3896 </td>
3897 <td>
3898 EMIS=RESTRICT_IRNS
3899 </td>
3900 </tr>
3901 <tr>
3902 <td>
3903 /SCHEDULE_BUILDER
3904 </td>
3905 <td>
3906 Chains to SIS$EXE:SISMENU_CMSB.EXE
3907 </td>
3908 </tr>
3909 </table>
3910
3911 <p>
3912 For interactive processes, if neither /PRIMARY_RUN nor /LOGICALS_ONLY
3913 is specified then SETUPENV/BUNNY chains to SISMENU.EXE, unless
3914 overridden by /SCHEDULE_BUILDER.
3915
3916 <h2>Notable Differences:</h2>
3917
3918 <ul>
3919 <li>SETUPENV does not define the ESC, PROFF or T80. These symbols
3920 cannot be placed in the OECN$SETUP SYMBOL attributes because they
3921 contain non-printable characters (not supported). Therefore, these
3922 symbols must be placed in a SYLOGIN procedure.
3923 <li>/CURRENT_BUILDING is not supported. SETUPENV does not have ability
3924 to set an entry based on the value of an existing logical.
3925 <li>If /ARCHIVE is specified without a value, the default is the first
3926 ARCHIVE attribute for the selected entry.
3927 </ul>
3928
3929 <a name="heading_11.6.3"><h2>11.6.3 FROG Compatibility</h2></a>
3930
3931 <p>
3932 If /FROG is specified as the first qualifier to SETUPENV, then the
3933 original FROG qualifiers are accepted.
3934
3935 <p>
3936 The SETUPENV defaults when /BUNNY is specified are:
3937
3938 <p>
3939 <table border=0>
3940 <tr>
3941 <td>
3942 <br>
3943 <pre>
3944 $ SETUPENV/FROG/PROMPT
3945 </pre>
3946 </table>
3947
3948 <p>
3949 These defaults are affected by the original BUNNY qualifiers per the
3950 following table.
3951
3952 <table border=3>
3953 <tr>
3954 <th align=center>Qualifier </th>
3955 <th align=center>SETUPENV Implementation </th>
3956 </tr>
3957 <tr>
3958 <td>
3959 /CURRENT_BUILDING
3960 </td>
3961 <td>
3962 Not implemeneted
3963 </td>
3964 </tr>
3965 <tr>
3966 <td>
3967 /LOGICALS_ONLY
3968 </td>
3969 <td>
3970 /NOPROMPT
3971 </td>
3972 </tr>
3973 <tr>
3974 <td>
3975 /PRIMARY_RUN
3976 </td>
3977 <td>
3978 LOGIN=INFOHIO
3979 </td>
3980 </tr>
3981 <tr>
3982 <td>
3983 /PRINTER
3984 </td>
3985 <td>
3986 /PRINTER (see below)
3987 </td>
3988 </tr>
3989 <tr>
3990 <td>
3991 /OPAC=RESTRICTED
3992 </td>
3993 <td>
3994 Chains to "@LIS_MGR:OPAC"
3995 </td>
3996 </tr>
3997 <tr>
3998 <td>
3999 /OPAC=UNRESTRICTED
4000 </td>
4001 <td>
4002 Chains to "@LIS_MGR:OPAC R"
4003 </td>
4004 </tr>
4005 </table>
4006
4007 <p>
4008 For interactive processes, if neither /PRIMARY_RUN nor /LOGICALS_ONLY
4009 is specified then SETUPENV/FROG chains to "@LIS_MGR:LISMENU SYSADM.M".,
4010 unless overridden by /OPAC
4011
4012 <h2>Notable Differences:</h2>
4013
4014 <ul>
4015 <li>/PRINTER behaves the same as SETUPENV's /PRINT qualifier, except
4016 that /FROG/PRINTER attempts to find a queue named entry$PRINT where
4017 "entry" is the selected entry. If found, entry$PRINT is assigned to
4018 SYS$PRINT. If the user has a queue definition in their SYSUAF Owner
4019 field, it overrides the entry$PRINT queue.
4020 <li>For non-DAS staff, SYS$PRINT is unconditionally assigned to
4021 LCL$PRINT as a job logical (which might be occluded).
4022 <li>SETUPENV/FROG does not attempt to define the large number of
4023 symbols created by FROG. These should either be placed in an
4024 $APP_INFOHIO entry, or moved to a global login procedure. Symbols
4025 containing non-printable characters (e.g. CLEAR) must be moved to a
4026 global procedure.
4027 </ul>
4028
4029 <p>
4030
4031 <a name="heading_11.7"><h1>11.7 OECN$SETUPENV API</h1></a>
4032 SETUPENV provides a callable API which can be used by programs to
4033 select entries. The API parallels the qualifier functions and syntax.
4034
4035 <a name="heading_11.7.1"><h2>11.7.1 Working Storage Field(s)</h2></a>
4036
4037 <p>
4038 <center>
4039 <table border=0 width=75%>
4040 <tr>
4041 <td><center><font size=+2><strong>Note</strong></font></center><hr
4042 size=1 noshade>
4043 Picture for string field are maximum sizes that will be used by
4044 OECN$SETUPENV. The string fields are based by descriptor, so the field
4045 sizes are not required to be the exact size. </td>
4046 </tr>
4047 </table>
4048 </center>
4049
4050 <p>
4051 <table border=0>
4052 <tr>
4053 <td>
4054 <br>
4055 <pre>
4056
4057 01 WS-FUNCTION PIC S9(4) COMP VALUE 0.
4058 88 SET-DB VALUE 0.
4059 88 NEXT-DB VALUE 1.
4060 88 RESET-DB VALUE 2.
4061 88 MENU-SELECTION VALUE 3.
4062 88 LOOKUP-DB VALUE 4.
4063 88 LOGIN-DEFAULTS VALUE 5.
4064 01 WS-FLAGS.
4065 03 WS-SIS-DEFAULT PIC X.
4066 03 WS-INFOHIO-DEFAULT PIC X.
4067 03 WS-BY-ACCESS PIC X.
4068 03 WS-BY-USERNAME PIC X.
4069 03 WS-EMIS-RESTRICT PIC X.
4070 03 WS-EMIS-SELECT PIC X.
4071 03 FILLER PIC X(26).
4072 01 WS-SELECTED-DB PIC X(40).
4073 01 WS-SEL-TYPE PIC X(25).
4074 01 WS-SEL-CATEGORIES PIC X(40).
4075 01 WS-SEL-APPLICATION PIC X(10).
4076 01 WS-SEL-ARCHIVE PIC X(6).
4077 01 WS-TYPE PIC X(25).
4078 01 WS-DESC PIC X(40).
4079 01 WS-IRN PIC X(6).
4080 01 WS-CATEGORIES PIC X(40).
4081 01 WS-APPLICATIONS PIC X(80).
4082 01 WS-PROMPT-STRING PIC X(40).
4083 01 WS-ARCHIVE PIC X(6).
4084 01 WS-STATUS PIC S9(9) COMP.
4085 88 OECN__NORMAL VALUE EXTERNAL OECN__NORMAL.
4086 88 OECN__NOMORE VALUE EXTERNAL OECN__NOMORE.
4087 88 OECN__NOTFOUND VALUE EXTERNAL OECN__NOTFOUND.
4088 01 WS-RELATIONSHIPS.
4089 03 WS-RELATION-COUNT PIC S9(4) COMP.
4090 03 WS-RELATIONSHIP
4091 OCCURS 0 TO 40 TIMES DEPENDING
4092 ON WS-RELATION-COUNT.
4093 05 WS-RELATION-TYPE PIC X.
4094 88 WS-RELATION-PARENT VALUE "P".
4095 88 WS-RELATION-SIBLING VALUE "S".
4096 88 WS-RELATION-CHILD VALUE "C".
4097 05 WS-RELATION-ENTRY PIC X(12).
4098 </pre>
4099 </table>
4100
4101 <p>
4102
4103 <a name="heading_11.7.2"><h2>11.7.2 COBOL Call Arguments</h2></a>
4104
4105 <table border=0>
4106 <tr>
4107 <td>
4108 <br>
4109 <pre>
4110 CALL "OECN$SETUPENV"
4111 USING
4112 WS-FUNCTION
4113 BY DESCRIPTOR WS-FLAGS
4114 BY DESCRIPTOR WS-SELECTED-DB
4115 BY DESCRIPTOR WS-SEL-TYPE
4116 BY DESCRIPTOR WS-SEL-CATEGORIES
4117 BY DESCRIPTOR WS-SEL-APPLICATION
4118 BY DESCRIPTOR WS-SEL-ARCHIVE
4119 BY DESCRIPTOR WS-TYPE
4120 BY DESCRIPTOR WS-DESC
4121 BY DESCRIPTOR WS-IRN
4122 BY DESCRIPTOR WS-CATEGORIES
4123 BY DESCRIPTOR WS-APPLICATIONS
4124 BY DESCRIPTOR WS-RELATIONSHIPS
4125 BY DESCRIPTOR WS-PROMPT-STRING
4126 BY DESCRIPTOR WS-ARCHIVE
4127 GIVING WS-STATUS.
4128 </pre>
4129 </table>
4130
4131 <p>
4132 <center>
4133 <table border=0 width=75%>
4134 <tr>
4135 <td><center><font size=+2><strong>Note</strong></font></center><hr
4136 size=1 noshade>
4137 The arguments passed by descriptor may be OMITTED if the return value
4138 is not desired. However, the argument list must not be shortened, that
4139 is, the caller should explictly include the OMITTED keyword. </td>
4140 </tr>
4141 </table>
4142 </center>
4143
4144 <a name="heading_11.7.3"><h2>11.7.3 Argument Descriptions:</h2></a>
4145
4146 <blockquote>
4147 <strong>WS-FUNCTION (read)</strong>
4148
4149 <blockquote>
4150 Indicates the function to perform. Behavior matches the corresponding
4151 DCL qualifiers.
4152 <br>The LOOKUP-DB function is specific to the API and not implemented
4153 via the DCL command. LOOKUP-DB returns the information about the
4154 specified entry without actually setting the logicals. This allows a
4155 program to retrieve information about an entry without switching
4156 contexts.
4157 </blockquote>
4158 <br>
4159 <br><strong>WS-FLAGS</strong>
4160
4161 <blockquote>
4162 List of one character flags which modify the behavior of the API.
4163 Unless noted otherwise, the flags should either contain a spaces or a
4164 "Y" if the flag is on.
4165 <br>The following flags are applicable when the LOGIN-DEFAULTS function
4166 is requested:
4167 </blockquote>
4168
4169 <p>
4170 <table border=0>
4171 <tr>
4172 <td>
4173 <br>
4174 <pre>
4175 WS-SIS-DEFAULT Same as /LOGIN=SIS
4176 WS-INFOHIO-DEFAULT Same as /LOGIN=INFOHIO
4177 WS-BY-ACCESS Same as /LOGIN=BY_ACCESS
4178 WS-BY-USERNAME If set, just contain
4179 an ascii numeric value indicating
4180 the number of characters to use
4181 from the username as the entry
4182 code. e.g. Placing "2" in
4183 this flag, is the same as
4184 /LOGIN=USERNAME=2
4185 WS-EMIS-RESTRICT Same as /RESTRICT_IRNS
4186 WS-EMIS-SELECT is the same as /EMIS
4187 </pre>
4188 </table>
4189
4190 <br>
4191 <br><strong>WS-SELECT-DB (modify, by descriptor)</strong>
4192
4193 <blockquote>
4194 Entry(s) from INI file to select. Optional if MENU or NEXT functions
4195 are being performed. The actual entry selected is also returned in this
4196 parameter.
4197 </blockquote>
4198 <br>
4199 <br><strong>WS-SEL-TYPE (read, by descriptor)</strong>
4200 <br>
4201 <br><strong>WS-SEL-CATEGORIES (read, by descriptor)</strong>
4202
4203 <blockquote>
4204 Values to restrict entries by type and/or categories.
4205 <br>Same as /TYPE and /CATEGORIES qualifiers.
4206 </blockquote>
4207 <br>
4208 <br><strong>WS-SEL-APPLICATION (read, by descriptor)</strong>
4209
4210 <blockquote>
4211 Value to select by application. Same as /APPLICATION qualifier.
4212 </blockquote>
4213 <br>
4214 <br><strong>WS-TYPE (write, by descriptor)</strong>
4215 <br>
4216 <br><strong>WS-DESC (write, by descriptor)</strong>
4217 <br>
4218 <br><strong>WS-IRN (write, by descriptor)</strong>
4219 <br>
4220 <br><strong>WS-CATEGORIES (write, by descriptor)</strong>
4221
4222 <blockquote>
4223 Return values which describe the entry. Same values that are also
4224 placed in the OECN$SETUP_CURRENT Logical.
4225 </blockquote>
4226 <br>
4227 <br><strong>WS-APPLICATIONS (write, by descriptor)</strong>
4228
4229 <blockquote>
4230 Space delimited list of appliations associated with the current entry.
4231 </blockquote>
4232 <br>
4233 <br><strong>WS-PROMPT-STRING (write, by descriptor)</strong>
4234
4235 <blockquote>
4236 The string SETUPENV would use to create the DCL and Menu prompt if
4237 /PROMPT is specified. Note: The API never sets the prompt. The calling
4238 routine may use this string to set the prompts, if desired.
4239 </blockquote>
4240 <br>
4241 <br><strong>WS-RELATIONSHIPS (write, by descriptor)</strong>
4242
4243 <blockquote>
4244 A structure that describes the selected entries relationship to other
4245 entries based on the PARENT attributes. Currently three types of
4246 relationships are defined: Parent, sibling or children. The types of
4247 entries returned in this table will vary depending on the entry
4248 selected.
4249
4250 <p>
4251 <center>
4252 <table border=0 width=75%>
4253 <tr>
4254 <td><center><font size=+2><strong>Note</strong></font></center><hr
4255 size=1 noshade>
4256 Calling routines should not assume that only these three types of
4257 relationships exist. Future versions of the API may return other
4258 relationships. </td>
4259 </tr>
4260 </table>
4261 </center>
4262 <br>
4263 <br><strong>WS-ARCHIVE</strong>
4264
4265 <blockquote>
4266 Contains code of archive if one was selected.
4267 </blockquote>
4268 </blockquote>
4269
4270 <a name="heading_11.7.4"><h2>11.7.4 Return Status</h2></a>
4271
4272 <p>
4273 OECN$SETUP returns one of the following conditions:
4274
4275 <table border=3>
4276 <tr>
4277 <td>
4278 OECN__NORMAL
4279 </td>
4280 <td>
4281 =
4282 </td>
4283 <td>
4284 Function completed successfully (Item selected or reset)
4285 </td>
4286 </tr>
4287 <tr>
4288 <td>
4289 OECN__NOMORE
4290 </td>
4291 <td>
4292 =
4293 </td>
4294 <td>
4295 When using "next" function, no more matching entries were found.
4296 </td>
4297 </tr>
4298 <tr>
4299 <td>
4300 OECN__NOTFOUND
4301 </td>
4302 <td>
4303 =
4304 </td>
4305 <td>
4306 Specified entry was not found.
4307 </td>
4308 </tr>
4309 <tr>
4310 <td>
4311 OECN__INVNEXT
4312 </td>
4313 <td>
4314 =
4315 </td>
4316 <td>
4317 Invalid combination of TYPE and current entry for NEXT function. Must
4318 specify a starting entry or valid select type.
4319 </td>
4320 </tr>
4321 </table>
4322
4323 <a name="heading_11.7.5"><h2>11.7.5 Description</h2></a>
4324
4325 <p>
4326 The OECN$SETUPENV routine does basically everything that the SETUPENV
4327 DCL interface does; however, there are some notable exceptions. Here is
4328 a list that the callable interface does NOT provide:
4329
4330 <ol start=1 >
4331 <li>Does not simulate /USE, /BUNNY or /FROG behaviors. Those qualifiers
4332 are handled by the SETUPENV utility and are not exposed to the callable
4333 interface.
4334 <li>Does not modify the Menu or DCL prompts (a string is returned for
4335 setting the prompt if desired).
4336 <li>Does not invoke OECN_LOGIN or EMIS_SWITCH_FY to ensure that the
4337 correct state software logicals are defined based on the version of the
4338 data files. If the calling program depends on files/programs in any of
4339 the OECN$x logicals, it should take it's own action to ensure the
4340 correct version is selected (or contact the SSDT if this is important).
4341 <li>Does not implement the function of /PRINTER
4342 </ol>
4343
4344 <p>
4345
4346 <hr size=5>
4347 <a name="sysman_ump_chap"><h1>Chapter 12<br>Installing and Using UMP - User Mail Profile System</h1></a>
4348
4349 <a name="heading_12.1"><h1>12.1 Overview</h1></a>
4350
4351 <p>
4352 The UMP package provides a means for DA-sites to maintain user e-mail
4353 profiles in a standard way. This will provides an efficient means of
4354 sending mail to a large variety of users across the state. It will also
4355 allows for the creation of an electronic "white pages phone directory"
4356 which permits an easy way to lookup an e-mail address for any user on
4357 the OECN network.
4358
4359 <a name="heading_12.1.1"><h2>12.1.1 Feature List</h2></a>
4360
4361 <p>
4362 UMP provides the following features:
4363
4364 <ul>
4365 <li>Ability to add/modify user profiles.
4366 <li>Allows end-user to modify their own profile.
4367 <li>Permits 'group managers' to manage other user profiles within their
4368 group
4369 <li>Imports an existing distribution list and creates a basic user
4370 profile (NM or PMDF style distribution lists).
4371 <li>Ability to provide complete 'centralized naming' facility for both
4372 local and remote addresses, including ability to create user aliases
4373 independent of username or mailbox address.
4374 <li>Exports user profiles into the following formats:
4375
4376 <blockquote>
4377 - NM
4378 <br>- PMDF style distribution lists
4379 <br>- PMDF DIRECTORY DAEMON format
4380 </blockquote>
4381 <li>Handles OECN standard distribution lists and allows local
4382 distribution lists to be added.
4383 <li>Includes a utility to create distribution lists based on VMS
4384 identifiers.
4385 <li>Includes a utility to check UMP profiles against SYSUAF.
4386 <li>Includes a utility to run during login to determine if user has
4387 modified their own profile.
4388 <li>Includes a utility to transmit UMP data into the CSO white pages
4389 directory.
4390 <li>Tracks whether the user has modified/updated their own profile.
4391 Optionally, users who have not updated their own profile will be asked
4392 if they wish to update their user mail profile during login.
4393 </ul>
4394
4395 <a name="heading_12.1.2"><h2>12.1.2 Web Attachments for OECN state-wide mail</h2></a>
4396
4397 <p>
4398 A special feature of the OECN state-wide lists is the ability to
4399 "web-ify" attachments send to the OECN lists. As messages addressed to
4400 the OECN lists pass through the central OECN mail server, they are
4401 inspected for certain attachment types. If a suitable attachment type
4402 is discovered, it is placed on a public web site and the original
4403 attachment is replaced by a web link (URL) pointing to the documents
4404 location. Thus, only a single copy of each attachment must be stored on
4405 the OECN web server and will not be delivered to each user's mailbox.
4406
4407 <p>
4408 Each user subscribed to UMP has the option of receiving the original
4409 message with the attachments or the version containing web links
4410 instead of attachments. Most users will benefit from receiving web
4411 links instead of attachments (reduced local storage, shorter download
4412 times and reduce risk of viruses. However, some users may prefer the
4413 original attachments, especially if they download their mail for
4414 disconnected (off-line) reading.
4415
4416 <p>
4417 The benefit of web attachments to DA Sites can be signficant. Without
4418 web attachments, any message containing a large attachment must be
4419 delivered to each user's mailbox separately consuming considerable disk
4420 space and computer resources to deliver.
4421
4422 <p>
4423 However, each DA Site may decide how, and if, to implement OECN web
4424 attachments for their users. Converting existing users to web
4425 attachments may cause confusion or concerns. Therefore, DA Sites are
4426 encouraged not to switch existing users to web attachments without
4427 training or notification.
4428
4429 <a name="heading_12.1.2.1"><h3>12.1.2.1 Enabling Web Attachments</h3></a>
4430
4431 <p>
4432 Web attachments are only enabled for each DA Site upon request. If you
4433 wish your users to have the ability to request web attachments, you
4434 must set ENABLE_OECN_WEBATTACH to "YES" and send mail to
4435 listmaster@oecn.k12.oh.us. The listmaster will verify the correct
4436 configuration of your UMP configuration and enable web attachments if
4437 appropriate. Your request may be denied if you have a non-standard UMP
4438 configuration. In that case, the listmaster will explain the problem(s)
4439 with your configuration.
4440
4441 <p>
4442 To see if web attachments are enabled for your site, look for the SITE
4443 command in OECN$UMP_STANDARD.INI and see if the "webatt" parameter is
4444 set for your domain. If this parameter is set, then web attachments are
4445 already enabled. Note: You can not change OECN$UMP_STANDARD.INI
4446 yourself. Only the OECN listmaster can make the change that affects the
4447 OECN mail server.
4448
4449 <a name="heading_12.1.3"><h2>12.1.3 Files</h2></a>
4450
4451 <p>
4452 The following sections describe the files used and produced by the UMP
4453 system.
4454 <p>
4455 <strong>Files and Procedures Used</strong>
4456 <br>
4457
4458 <table border=3>
4459 <tr>
4460 <th align=center>File/Procedure </th>
4461 <th align=center>Use </th>
4462 </tr>
4463 <tr>
4464 <td>
4465 OECN$UMP_LOCAL.INI
4466 </td>
4467 <td>
4468 Contains A-site specific information and list codes.
4469 </td>
4470 </tr>
4471 <tr>
4472 <td>
4473 OECN$UMP_STANDARD.INI
4474 </td>
4475 <td>
4476 Contains OECN_wide list codes and definitions.
4477 </td>
4478 </tr>
4479 <tr>
4480 <td>
4481 IMPORT_NM_LISTS.COM
4482 </td>
4483 <td>
4484 Used to import data from NM style distribution lists into user profiles.
4485 </td>
4486 </tr>
4487 <tr>
4488 <td>
4489 IMPORT_PMDF_LISTS.COM
4490 </td>
4491 <td>
4492 Used to import data from PMDF style distribution lists into user
4493 profiles.
4494 </td>
4495 </tr>
4496 <tr>
4497 <td>
4498 EXPORT_LISTS.COM
4499 </td>
4500 <td>
4501 Used to generate both NM and PMDF style distribution lists.
4502 </td>
4503 </tr>
4504 <tr>
4505 <td>
4506 EXPORT_DD.COM
4507 </td>
4508 <td>
4509 Used to generate a file suitable for loading into a PMDF DIRECTORY
4510 DAEMON database.
4511 </td>
4512 </tr>
4513 <tr>
4514 <td>
4515 UMP_SEND_CSO.COM
4516 </td>
4517 <td>
4518 Used to transmit UMP data to the CSO white pages directory.
4519 </td>
4520 </tr>
4521 </table>
4522 <p>
4523 <strong>Files Created</strong>
4524 <br>
4525
4526 <p>
4527 The table below describes the files created by UMP. Unless otherwise
4528 specified, the files are created in OECN$UMP:.
4529
4530 <table border=3>
4531 <tr>
4532 <th align=center>File </th>
4533 <th align=center>Description </th>
4534 </tr>
4535 <tr>
4536 <td>
4537 MAIL_*_A.DIS
4538 </td>
4539 <td>
4540 One file for each distribution list. This file contains addresses of
4541 users who have requested to receive original attachments sent to an
4542 OECN list..
4543 </td>
4544 </tr>
4545 <tr>
4546 <td>
4547 MAIL_*_W.DIR
4548 </td>
4549 <td>
4550 One file for each distribution list. This file contains addresses of
4551 user who have requested web links to attachments sent to the an OECN
4552 lists.
4553 </td>
4554 </tr>
4555 <tr>
4556 <td>
4557 MAIL_ALIASES.DAT
4558 </td>
4559 <td>
4560 Alias file defining aliases for UMP generated lists. This file is
4561 intended to be loaded into the PMDF alias database or included into the
4562 PMDF alias file.
4563 </td>
4564 </tr>
4565 <tr>
4566 <td>
4567 USER_ALIASES.TXT
4568 </td>
4569 <td>
4570 Alias file defining aliases for UMP remote users to create centralized
4571 naming. This file is intended to be loaded into the PMDF alias database.
4572 </td>
4573 </tr>
4574 <tr>
4575 <td>
4576 USER_RESERVE.TXT
4577 </td>
4578 <td>
4579 File containing reversing entries for users to create centralized
4580 naming. This file is intended to be loaded into the PMDF reverse
4581 database.
4582 </td>
4583 </tr>
4584 </table>
4585
4586 <a name="heading_12.2"><h1>12.2 UMP Menu and Profile Screen</h1></a>
4587
4588 <p>
4589 The program may be executed by typing:
4590
4591 <p>
4592 <table border=0>
4593 <tr>
4594 <td>
4595 <br>
4596 <pre>
4597 $RUN OECN$:UMP
4598 </pre>
4599 </table>
4600
4601 <p>
4602 at the $ prompt or from the menu system, type:
4603
4604 <p>
4605 <table border=0>
4606 <tr>
4607 <td>
4608 <br>
4609 <pre>
4610 Menu&gt;UMP
4611 </pre>
4612 </table>
4613
4614 <p>
4615 <strong>The Main UMP Menu</strong>
4616 <br>
4617
4618 <p>
4619 The following menu will appear:
4620
4621 <p>
4622 <table border=0>
4623 <tr>
4624 <td>
4625 <br>
4626 <pre>
4627
4628
4629 ___________________________________________________________________
4630 | |
4631 | UMP - User Mail Profile Maintenance |
4632 | ------------------------------------------------------------- |
4633 | 1. PERSONAL - Modify Personal Profile |
4634 | 2. MAINTAIN - Maintain User Profiles |
4635 | 3. EXIT - Exit program |
4636 | |
4637 | |
4638 | |
4639 | |
4640 | |
4641 | |
4642 | |
4643 | |
4644 | Menu: UMP Option&gt; |
4645 | |
4646 | XXX Accept XX Help XX Exit XXX Next |
4647 |_________________________________________________________________|
4648
4649
4650
4651 </pre>
4652 </table>
4653
4654 <p>
4655 <strong>Profile Screen</strong>
4656 <br>
4657
4658 <p>
4659 When you execute the UMP program and select the MAINTAIN option, a User
4660 Mail Profile screen similar to the following will appear:
4661
4662 <p>
4663 <table border=0>
4664 <tr>
4665 <td>
4666 <br>
4667 <pre>
4668
4669
4670 ___________________________________________________________________________
4671 | |
4672 | Updated 12-DEC-1995 16:26 |
4673 | |
4674 | Username DOE Group Node NWOCAC User Type STAFF |
4675 | Internet Host/Mailbox NWOCA.ORG |
4676 | Name Doe, John Phone |
4677 | Title NBEC/NWOCA SSDT Documentalist/Supp Fax |
4678 | Position Code Cell/Pager |
4679 | Alternate |
4680 | District IRN |
4681 | Building IRN |
4682 | County Henry |
4683 | District/Organization NBEC/NWOCA |
4684 | Street Address |
4685 | City, State, Zip |
4686 | Comment |
4687 | URL |
4688 | Site information |
4689 | Management Groups |
4690 | |
4691 | |
4692 | UMP: User Mail Profile for OECN Users |
4693 | XX Top XXX Find XXX Lockmode |
4694 | XX Help XXX Add XXX Set Defaults |
4695 | XX Exit XXX Delete XXX Email Lists |
4696 | XXX Next XXX Modify |
4697 |_________________________________________________________________________|
4698
4699
4700 </pre>
4701 </table>
4702
4703 <p>
4704 <strong>EMAIL Lists</strong>
4705 <br>
4706
4707 <p>
4708 In order to view the Email lists you currently subscribe to, press the
4709 <kbd>[Email Lists]</kbd> key. A screen similar to the following will
4710 appear giving both OECN statewide and local distribution lists.
4711
4712 <p>
4713 <table border=0>
4714 <tr>
4715 <td>
4716 <br>
4717 <pre>
4718
4719 ___________________________________________________________________________
4720 | User DOE Name Doe, John |
4721 | Subscribe by name _________________ |
4722 | Receive OECN attachments as web links? Y |
4723 |Subscribed? -- Subscribed Distribution Lists -- |
4724 | -- OECN lists -- |
4725 | Y MAIL_STAFF DAS Staff [Restricted] |
4726 | Y MAIL_SUPT_PUB Superintendents-Pub [Restricted] |
4727 | Y MAIL_TREAS Treasuere [Restricted] |
4728 | -- NWOCA lists -- |
4729 | Y MAIL_SSDT SSDT Staff |
4730 | Y MAIL_STAFF_EMIS EMIS Staff |
4731 | Y MAIL_STAFF_FIS Fiscal Staff |
4732 | |
4733 | |
4734 | |
4735 | |
4736 | |
4737 | Press &lt;Show All Lists&gt; to see all available lists |
4738 | |
4739 | UMP: E-mail Distribution Lists 1 of 1 |
4740 | XXX Accept (Resort) XX Cancel XX Prev Screen |
4741 | XX First Screen XXX Last Screen XX Next Screen |
4742 | XX Help XXX Show All Lists |
4743 | XX Exit Dist Lists XXX Exit Dist Lists |
4744 | |
4745 |_________________________________________________________________________|
4746
4747 </pre>
4748 </table>
4749
4750 <p>
4751 The field "Receive OECN attachments as web links?" indicates if the
4752 user wishes to receive links, instead of attachments, for files sent to
4753 the OECN state-wide lists.
4754
4755 <p>
4756 You may subscribe or unsubscribe to any unrestricted list by entering
4757 the name of the list in the indicated field at the top of the screen
4758 and pressing the <kbd>[Accept]</kbd> key.
4759 <p>
4760 <strong>Table of Email Distribution Lists</strong>
4761 <br>
4762
4763 <p>
4764 In order to see the available distribution lists, press the <kbd>[Show
4765 All Lists]</kbd> key. A set of screens such as the following will
4766 appear:
4767
4768 <p>
4769 <table border=0>
4770 <tr>
4771 <td>
4772 <br>
4773 <pre>
4774
4775
4776 ___________________________________________________________________________
4777 | |
4778 | User DOE Name Doe, John |
4779 | Subscribe by name _________________ |
4780 | Receive OECN attachments as web links? Y |
4781 | Subscribed? -- All Available Distribution Lists -- |
4782 | -- OECN lists -- |
4783 | MAIL_CSTAFF C-site staff (obsolete) |
4784 | MAIL_EMIS EMIS Coordinators [Restricted] |
4785 | _ MAIL_LIBRARIAN Librarian |
4786 | MAIL_PRINC_NONPUB Principals-Nonpublic [Restricted] |
4787 | MAIL_PRINC_PUB Principals-Public [Restricted] |
4788 | MAIL_PRINC_ELEM Principals-Elementary [Restricted] |
4789 | MAIL_PRINC_SEC Principals-Secondary [Restricted] |
4790 | _ MAIL_SPECED Special Education |
4791 | Y MAIL_STAFF DAS Staff [Restricted] |
4792 | MAIL_SUPT_NONPUB Superintendents-Nonpublic [Restricted] |
4793 | Y MAIL_SUPT_PUB Superintendents-Pub [Restricted] |
4794 | MAIL_SUPT_CITY Superintendents-City [Restricted] |
4795 | MAIL_SUPT_COUNTY Superintendents-County [Restricted] |
4796 | This is the first screen |
4797 | |
4798 | UMP: E-mail Distribution Lists 1 of 6 |
4799 | XXX Accept (Resort) XX Cancel XX Prev Screen |
4800 | XX First Screen XXX Last Screen XX Next Screen |
4801 | XX Help XXX Show Subscribed |
4802 | XX Exit Dist Lists XXX Exit Dist Lists |
4803 |_________________________________________________________________________|
4804
4805
4806 </pre>
4807 </table>
4808
4809 <a name="heading_12.3"><h1>12.3 Startup Procedure</h1></a>
4810
4811 <p>
4812 Follow the steps below to install UMP on your system:
4813
4814 <ol start=1 >
4815 <li>Create the system logical OECN$UMP to point to the device and
4816 directory where profile and distribution lists will be created. You
4817 should NOT use the same directory as your NM: or OECN$MAIL directories.
4818 You should create a new directory to contain these files.
4819 <li>Use OECN_INSTALL and INSTALL PACKAGE as usual to install the OECN
4820 package.
4821 <li>If installing for the first time, copy OECN$UMP_LOCAL.INI to
4822 OECN$UMP with world:read protection.
4823 <br>
4824 <br> Modify OECN$UMP_LOCAL.INI to contain A-site specific information.
4825 You must specify A-site name, DECnet node, and internet host names,
4826 etc. See the .INI file for more information.
4827 <li>Run the UMP.EXE program and choose the MAINTAIN option. Then exit
4828 the program. This will create empy .IDX files in OECN$UMP. Set the
4829 protections on the *.IDX files to W:RW.
4830 </ol>
4831
4832 <p>
4833
4834 <a name="heading_12.4"><h1>12.4 Loading Initial Data</h1></a>
4835 Load existing distribution lists. If using NM style distribution lists,
4836 then use:
4837 <br>
4838 $ @OECN$:IMPORT_NM_LISTS
4839
4840 <p>
4841 If using PMDF style lists created by SWOCA's PUBDOM OECNMAIL utilities,
4842 then use:
4843 <br>
4844 $ @OECN$:IMPORT_PMDF_LISTS
4845
4846 <p>
4847 Then run OECN$:UMP/MAINTAIN to review the user profiles. It should have
4848 set, at least, the username, DECnet node, and host/domain. If the NM
4849 lists were loaded, it will also have the name, district and county from
4850 the NM lists. If a user was on more than one list, the user profile
4851 will have multiple list codes.
4852
4853 <p>
4854 After running the import, the protection on the UMP*.IDX files should
4855 be set to W:RW.
4856
4857 <p>
4858 You may, if desired, import from both the NM and PMDF style lists.
4859 Unique usernames will only be added once, and a user will not be
4860 assigned to the same list more than once. Running both imports
4861 essentially "merges" the NM and PMDF lists. This might be useful if you
4862 are uncertain which of your lists is more correct.
4863
4864 <a name="heading_12.5"><h1>12.5 Importing Other Lists</h1></a>
4865
4866 <p>
4867 The IMPORT_NM_LISTS.COM and IMPORT_PMDF_LISTS.COM only import the
4868 standard NM lists or lists created by SWOCA's OECN$MAIL utilities. If
4869 you have other local lists which contain users you want to assign to a
4870 list (either a standard list or a local list), you can use the
4871 UMPIMPORT.EXE utility directly.
4872
4873 <p>
4874 The UMPIMPORT utiltiy can read an existing list (either NM or PMDF
4875 format) and assign the users to the distribution list code you specify.
4876 The UMPIMPORT utility takes three parameters in the following form:
4877 <br>
4878
4879 <p>
4880 <table border=0>
4881 <tr>
4882 <td>
4883 <br>
4884 <pre>
4885 $ UMPIMPORT :== $OECN$:UMPIMPORT
4886 $ UMPIMPORT {NM|PMDF} {code} {file}
4887 </pre>
4888 </table>
4889
4890 <p>
4891 The first parameter indicates if the list to be imported is a NM list
4892 or a PMDF list. NM style lists must contain at least the DECnet
4893 address. PMDF style lists must contain internet addresses. The second
4894 parameter is the distribution list code to assign to the users. The
4895 code must be defined in either OECN$UMP_STANDARD.INI or
4896 OECN$UMP_LOCAL.INI. The final parameter is the file to import. See
4897 either IMPORT_NM_LISTS.COM or IMPORT_PMDF_LISTS.COM for examples of
4898 using UMPIMPORT.EXE.
4899 <p>
4900
4901 <a name="heading_12.6"><h1>12.6 INI File Commands</h1></a>
4902 The following INI commands are used in either the OECN$UMP_LOCAL.INI or
4903 the OECN$UMP_STANDARD.INI files. The following is a summary of these
4904 commands. See either of these files for more examples of their use. <p>
4905
4906 <table border=3>
4907 <caption><a name="Table_12-1"><strong>Table 12-1 Table of INI File Commands</strong></a></caption>
4908 <tr>
4909 <th align=center>&nbsp;</th>
4910 <th align=center>Command </th>
4911 <th align=center>&nbsp;</th>
4912 <th align=center>Fields </th>
4913 <th align=center>Explanation </th>
4914 </tr>
4915 <tr>
4916 <td>
4917 *
4918 </td>
4919 <td>
4920 SET_ASITE
4921 </td>
4922 <td>
4923 =
4924 </td>
4925 <td>
4926 "{Asite}"
4927 </td>
4928 <td>
4929 A-site acronym. Required field.
4930 </td>
4931 </tr>
4932 <tr>
4933 <td>
4934 *
4935 </td>
4936 <td>
4937 SET_NODE
4938 </td>
4939 <td>
4940 =
4941 </td>
4942 <td>
4943 "{Node}"
4944 </td>
4945 <td>
4946 Default DECnet node, cluster prefered. Required field.
4947 </td>
4948 </tr>
4949 <tr>
4950 <td>
4951 *
4952 </td>
4953 <td>
4954 SET_DOMAIN
4955 </td>
4956 <td>
4957 =
4958 </td>
4959 <td>
4960 "{Domain}"
4961 </td>
4962 <td>
4963 Default domain. Used as default for user profile and PMDF aliases. For
4964 example, SET_DOMAIN = "NWOCA.ORG". Required field.
4965 </td>
4966 </tr>
4967 <tr>
4968 <td>
4969 *
4970 </td>
4971 <td>
4972 SET_USER_TYPE
4973 </td>
4974 <td>
4975 =
4976 </td>
4977 <td>
4978 "{Code}"
4979 </td>
4980 <td>
4981 Default for "User Type" field.
4982 </td>
4983 </tr>
4984 <tr>
4985 <td>
4986 *
4987 </td>
4988 <td>
4989 LOCAL_LIST_PREFIX
4990 </td>
4991 <td>
4992 =
4993 </td>
4994 <td>
4995 "{Prefix}"
4996 </td>
4997 <td>
4998 Alias prefix for local distribution lists. Example, LOCAL_LIST_PREFIX =
4999 "Local_". May be null if local lists are not to be prefixed.
5000 </td>
5001 </tr>
5002 <tr>
5003 <td>
5004 &nbsp;
5005 </td>
5006 <td>
5007 LOCAL_HOST
5008 </td>
5009 <td>
5010 =
5011 </td>
5012 <td>
5013 "{hostname}"
5014 </td>
5015 <td>
5016 This parameter defines host name(s) which should be considered "local"
5017 to the current system. You may include multiple LOCAL_HOST lines if
5018 needed. If a users "internet mailbox/host" field contins a local
5019 address, then a user alias will not be created for them. Use this
5020 parameter if you change the domain specified by SET_DOMAIN but you
5021 still have user profiles which refer to the old address. Without this
5022 parameter, UMP will consider profiles with the old domain to be remote
5023 users and will create aliases for them.
5024 </td>
5025 </tr>
5026 <tr>
5027 <td>
5028 *
5029 </td>
5030 <td>
5031 PROCESS_CHANNEL
5032 </td>
5033 <td>
5034 =
5035 </td>
5036 <td>
5037 "{process_channel_name}"
5038 </td>
5039 <td>
5040 This parameter may be used to set the name of the reprocess channel to
5041 be used for processing UMP distribution lists. By default, UMPEXPORT
5042 will assume the reprocess channel is named reprocess.domain_name where
5043 domain_name is the domain from the SET_DOMAIN parameter.
5044 </td>
5045 </tr>
5046 <tr>
5047 <td>
5048 *
5049 </td>
5050 <td>
5051 DIRECTORY_DOMAIN
5052 </td>
5053 <td>
5054 =
5055 </td>
5056 <td>
5057 "{directory_daemon_domain}"
5058 </td>
5059 <td>
5060 This parameter may be used to specifically set the name of the
5061 directory daemon domain, if any. If this parameter is not specified
5062 then UMPEXPORT will assume that the directory daemon is named
5063 PO.domain_name where domain_name is the deomain from the SET_DOMAIN
5064 parameter.
5065 </td>
5066 </tr>
5067 <tr>
5068 <td>
5069 &nbsp;
5070 </td>
5071 <td>
5072 REWRITE
5073 </td>
5074 <td>
5075 =
5076 </td>
5077 <td>
5078 "{user@host}","{To_Domain}"
5079 </td>
5080 <td>
5081 Used by the UMPEXPORT to rewrite a particular domain to a
5082 "pseudo_domain" for public use in the CSO (White Pages) and for address
5083 reverals. The pseudo_domain may be name of your directory channel or an
5084 alias for the local host. For example, REWRITE = *,"po.nwoca.org". In
5085 this example, the command would cause all of NWOCA's users to have an
5086 email address of "username@po.nwoca.org" regardless of their real host
5087 name. In this way, remote users will not learn the real host name
5088 (which may change). REWRITE supports full wildcarding on the "From"
5089 domain portion of the parameter. The user@host may be a wildcard
5090 pattern which matches user email address from the UMP profiles. The
5091 new_host is the domain that the address will be rewritten to. This
5092 parameter allows you better control over how addresses are published in
5093 the CSO database (OECN White Pages) and address reversal
5094 </td>
5095 </tr>
5096 <tr>
5097 <td>
5098 &nbsp;
5099 </td>
5100 <td>
5101 CSO_REWRITE
5102 </td>
5103 <td>
5104 =
5105 </td>
5106 <td>
5107 Synonym for REWRITE
5108 </td>
5109 <td>
5110 &nbsp;
5111 </td>
5112 </tr>
5113 <tr>
5114 <td>
5115 *
5116 </td>
5117 <td>
5118 ERRORS_TO
5119 </td>
5120 <td>
5121 =
5122 </td>
5123 <td>
5124 "{Email_Address}"
5125 </td>
5126 <td>
5127 Address for "errors-to" parameter on mailing lists. If not preset, the
5128 "errors_to" address defaults to "postmaster".
5129 </td>
5130 </tr>
5131 <tr>
5132 <td>
5133 *
5134 </td>
5135 <td>
5136 EMPTY_ADDRESS
5137 </td>
5138 <td>
5139 =
5140 </td>
5141 <td>
5142 "{Email_Address}"
5143 </td>
5144 <td>
5145 Email address to place in any empty distribution list to prevent
5146 bounces to mail sent to an empty list. Defaults to "empty@bitbucket"
5147 which is suitable if the default "bitbucket" channel is defined.
5148 </td>
5149 </tr>
5150 <tr>
5151 <td>
5152 *
5153 </td>
5154 <td>
5155 ENABLE_OECN_WEBATTACH
5156 </td>
5157 <td>
5158 =
5159 </td>
5160 <td>
5161 {YES|NO}
5162 </td>
5163 <td>
5164 Enables users to request and receive "web attachments" sent to the OECN
5165 lists. Default is "YES". Set to "NO" to prevent users from requesting
5166 web attachments.
5167 </td>
5168 </tr>
5169 <tr>
5170 <td>
5171 *
5172 </td>
5173 <td>
5174 OECN_WEBATTACH_DEFAULT
5175 </td>
5176 <td>
5177 =
5178 </td>
5179 <td>
5180 {YES|NO}
5181 </td>
5182 <td>
5183 Specifies the "web attachment" default for new users. By default, new
5184 users will receive web links instead of attachments. Set this to NO if
5185 you wish new users to recieve the original attachments.
5186 </td>
5187 </tr>
5188 <tr>
5189 <td>
5190 *
5191 </td>
5192 <td>
5193 ALLOW_USER_ALIAS
5194 </td>
5195 <td>
5196 =
5197 </td>
5198 <td>
5199 {YES|NO}
5200 </td>
5201 <td>
5202 Indicates whether the 'Alias' and 'From' fields should be activated.
5203 When set to NO (the default), the alias and from fields will be
5204 disabled. When set to YES, the fields will be active. Note: When set to
5205 YES, the DAS must customize thier procedures to load the
5206 USER_ALIASES.TXT and USER_REVERSE.TXT file into the appropriate PMDF
5207 database.
5208 </td>
5209 </tr>
5210 <tr>
5211 <td>
5212 &nbsp;
5213 </td>
5214 <td>
5215 LISTPARMS
5216 </td>
5217 <td>
5218 =
5219 </td>
5220 <td>
5221 "{named parameter}"
5222 </td>
5223 <td>
5224 Specifies named parameter(s) to added to the MAIL_ and local aliases
5225 created by UMP. Multiple named parameters may be specified using
5226 multiple LISTPARMS lines. The named parameters will be included on all
5227 MAIL_* and local UMP aliases. See the PMDF Managers Guide for
5228 information about named parameters. Note: Too many named parameters may
5229 prevent the alias from fitting in the PMDF Alias database. In that
5230 case, the MAIL_ALIASES.DAT file must be included into the PMDF alias
5231 file and the configuration compiled nightly.
5232 </td>
5233 </tr>
5234 <tr>
5235 <td>
5236 *
5237 </td>
5238 <td>
5239 PROTECT_SITE_INFO
5240 </td>
5241 <td>
5242 =
5243 </td>
5244 <td>
5245 [YES|NO]
5246 </td>
5247 <td>
5248 Protect "Site Info" field in UMP. The default is "YES".
5249 </td>
5250 </tr>
5251 <tr>
5252 <td>
5253 &nbsp;
5254 </td>
5255 <td>
5256 TYPE
5257 </td>
5258 <td>
5259 =
5260 </td>
5261 <td>
5262 {Type},"{Description}"
5263 </td>
5264 <td>
5265 Defines a distribution list type. Types 01---0z are reserved for OECN
5266 use. Types 10---zz are available for DAS use. Types must be defined
5267 prior to using a DEFINE_CODE line.
5268 </td>
5269 </tr>
5270 <tr>
5271 <td>
5272 &nbsp;
5273 </td>
5274 <td>
5275 DEFINE_CODE
5276 </td>
5277 <td>
5278 =
5279 </td>
5280 <td>
5281 [Type-],{Code},"{Description}", {List_Name},[User_Modifiable],
5282 [Master_Code]
5283 </td>
5284 <td>
5285 Type is a two digit no., considered above. Code is a 1 to 8 character
5286 code used in the UMP maintenance program. List_Name is the file name
5287 suffix used to create the distribution list filename. User_Modifiable
5288 (Y,N) allows the user to subscribe or unsubscribe to the list. The
5289 default is "NO", which means that the list is restricted. Master_Code
5290 contains the master list code to which a sublist refers. In the case of
5291 a master list, this field also contains the master list code. See the
5292 section, Defining Local Distribution Lists, for more details.
5293 <p>The default list type for codes in the OECN - wide file is 01. e.g.
5294 in the OECN$UMP_STANDARD.INI file, DEFINE_CODE=COUN,... is equivalent
5295 to DEFINE_CODE=01-COUN,...
5296 <p>If the first character of the distribution codes is a hyphen (--),
5297 the distribution list is obsolete and should be phased out. This means
5298 that the export routines will not force creation of an alias pointing
5299 to empty distribution lists and will not assign these empty lists as a
5300 sub-list of a master list.
5301 </td>
5302 </tr>
5303 <tr>
5304 <td>
5305 &nbsp;
5306 </td>
5307 <td>
5308 TYPE_RESTRICT
5309 </td>
5310 <td>
5311 =
5312 </td>
5313 <td>
5314 {Type},{Method},{Value}
5315 </td>
5316 <td>
5317 For example, TYPE_RESTRICT= 02,SUBSCRIBED,01-STF, restricts type 02
5318 lists to users who are also subscribed to the list 01-STF. See the
5319 section below on Restricting Types, for more information and kinds of
5320 restrictions.
5321 </td>
5322 </tr>
5323 <tr>
5324 <td>
5325 &nbsp;
5326 </td>
5327 <td>
5328 CONVERT
5329 </td>
5330 <td>
5331 =
5332 </td>
5333 <td>
5334 {From_Code},{To_Code}
5335 </td>
5336 <td>
5337 This command will automatically convert an "old" distribution list code
5338 to a "new" one. For example, CONVERT = 01-PM,02-PM. The "From_Code" is
5339 the old (original) distribution list code, and "To_Code" is the new
5340 distribution list code. Note, that codes must specify both the type and
5341 code (e.g. 01-PM). You should NOT rely on the default prefix when
5342 specifying conversions. See the section below for more information on
5343 conversions.
5344 </td>
5345 </tr>
5346 <tr>
5347 <td>
5348 &nbsp;
5349 </td>
5350 <td>
5351 NM_MAP
5352 </td>
5353 <td>
5354 =
5355 </td>
5356 <td>
5357 {From_Code},{To_Code}
5358 </td>
5359 <td>
5360 The command causes codes to be mapped to produce a single old-style NM
5361 distribution list for compatibility with NM_SEARCH.
5362 </td>
5363 </tr>
5364 <tr>
5365 <td>
5366 &nbsp;
5367 </td>
5368 <td>
5369 SITE
5370 </td>
5371 <td>
5372 =
5373 </td>
5374 <td>
5375 "{Domain}",{CSO_ID}
5376 </td>
5377 <td>
5378 This command defines the OECN DAS host name. Each SITE in this section
5379 will be included in the OECN_xxxx distribution lists. It also specifies
5380 each site's CSO white pages identifiers. A range of CSO ids has been
5381 allocated to each site. These fields should not be modified. This
5382 command should not be placed in the OECN$UMP_LOCAL.INI file.
5383 </td>
5384 </tr>
5385 </table>
5386 <hr>
5387 <blockquote>
5388 * This command can appear at most one time in the Local INI file.
5389 </blockquote>
5390 <hr>
5391 <p>
5392
5393 <a name="heading_12.7"><h1>12.7 Export NM and PMDF Style Lists</h1></a>
5394 A procedure called OECN$:EXPORT_LISTS.COM to is used to create the NM
5395 and PMDF style distribution lists and associated aliases. It is
5396 recommended that each DAS write a custom DCL procedure which invokes
5397 EXPORT_LIST.COM which also contains any local commands to add aliases,
5398 etc. This procedure should be scheduled to run nightly to keep the
5399 aliases and distributions lists up to date. See <a href="oecn10_sysman_handbook_full.html#exam_build_proc">Section 12.18</a> for an
5400 example procedure which takes advantage of most of UMP's features.
5401
5402 <p>
5403 To run the procedure:
5404 <br>
5405
5406 <p>
5407 <table border=0>
5408 <tr>
5409 <td>
5410 <br>
5411 <pre>
5412 $ @OECN$:EXPORT_LISTS "{options}"
5413 </pre>
5414 </table>
5415
5416 <p>
5417 The P1 parameter should specify one or more of the following options
5418 separated by commas:
5419
5420 <table border=3>
5421 <tr>
5422 <th align=center>Option </th>
5423 <th align=center>Description </th>
5424 </tr>
5425 <tr>
5426 <td>
5427 REBUILD
5428 </td>
5429 <td>
5430 Rebuild the PMDF alias database from scratch using the alias file(s)
5431 from UMPEXPORT. Use REBUILD if you allow UMP to control all the aliases
5432 in your database, or if you add additional aliases after
5433 EXPORT_LISTS.COM is executed.
5434 </td>
5435 </tr>
5436 <tr>
5437 <td>
5438 MERGE
5439 </td>
5440 <td>
5441 (Default) Merge the UMP aliases with the existing PMDF_ALIAS_DATABASE.
5442 Use this option if you control/rebuild the alias files prior to
5443 executing EXPORT_LISTS.COM Note: If this option is used then UMP will
5444 always add aliases and old UMP aliases will not be deleted unless you
5445 are rebuilding the database yourself elsewhere.
5446 </td>
5447 </tr>
5448 <tr>
5449 <td>
5450 &nbsp;
5451 </td>
5452 <td>
5453 Note: REBUILD and MERGE are mutually exclusive.
5454 </td>
5455 </tr>
5456 <tr>
5457 <td>
5458 USER
5459 </td>
5460 <td>
5461 Indicates that the USER_ALIASES.TXT and USER_REVERSE.TXT should be
5462 loaded into PMDF_ALIAS_DATABASE and PMDF_REVERSE_DATABASE,
5463 respectively. This should option should be specified if the DAS is
5464 using remote addresses or user alias features of UMP.
5465 </td>
5466 </tr>
5467 <tr>
5468 <td>
5469 DEFER
5470 </td>
5471 <td>
5472 Defers placing updated PMDF databases back into the PMDF production
5473 directories. This permits the DAS procedure to add additional aliases
5474 to the database before being used by PMDF. If this option is specified
5475 then the DAS's procedures are responsible for moving the databases back
5476 into the PMDF production directories. The PMDF database files created
5477 are: OECN$UMP:ALIASES.DAT (Alias database) OECN$UMP:REVERSE.DAT
5478 (reverse database).
5479 </td>
5480 </tr>
5481 </table>
5482
5483 <p>
5484 If you are using UMP as your only source of PMDF database aliases, you
5485 should specify REBUILD. This will ensure that any old or obsolete
5486 aliases are not retained in your database.
5487
5488 <p>
5489 However, if you have other aliases which you are building into your
5490 local PMDF alias database, you must take local action to periodically
5491 rebuild the PMDF alias database using your own aliases. This is
5492 necessary to ensure that old aliases are not retained in your PMDF
5493 alias database.
5494
5495 <p>
5496 If you are unfamilar with how aliases work in PMDF and how the alias
5497 database (PMDF_ALIAS_DATABASE) and the alias file (PMDF_ALIAS_FILE)
5498 interact, we recommend that you do the following:
5499
5500 <ul>
5501 <li>Allow UMP's EXPORT_LISTS.COM to rebuild the alias database from
5502 scratch (by specifying the REBUILD option). This will give UMP complete
5503 control over the aliases and ensure that no obsolete aliases are
5504 retained.
5505 <li>Place any local aliases (those not created by UMP) in your
5506 PMDF_ALIAS_FILE. This file is not used by UMP and will allow you to
5507 create local aliases without them being wiped out by UMP.
5508 Alternatively, you can specify the DEFER option in EXPORT_LIST and
5509 write procedure which adds additional aliases prior to moving the
5510 databases into PMDF_TABLE:.
5511 </ul>
5512
5513 <a name="heading_12.7.1"><h2>12.7.1 Centralized Naming</h2></a>
5514
5515 <p>
5516 This section describes several ways in which UMP can be used to provide
5517 centrialized naming in a PMDF configuration. Centralized naming
5518 provides means to provide stable user email addresses regardless of
5519 where the users mail is actually being delivered. This section assumes
5520 you are already familar with the basic concepts of centralized naming
5521 in PMDF.
5522
5523 <a name="heading_12.7.1.1"><h3>12.7.1.1 Remote Mail Boxes</h3></a>
5524
5525 <p>
5526 UMP can provide centralized naming for users who have "remote"
5527 mailboxes. Using UMP's centralized naming, a user can have an address
5528 such as USER@das.org even if thier mail is being delivered to a
5529 different address (mailbox), regardless of where that mailbox resides.
5530 The centralized naming may be used to deliver mail to remote systems on
5531 behalf of the user, or simply as a means of forwarding mail without
5532 resorting to VMS Mail forwarding.
5533
5534 <p>
5535 Examples of "remote" users include:
5536
5537 <ul>
5538 <li>Users who wish to have thier OECN mail delivered to a different
5539 account (e.g. on the same system or on a third-party ISP)
5540 <li>Users who's mailbox exists on a school district mail server or
5541 another DAS mail server.
5542 <li>Users who's mailbox is in PMDF popstore
5543 </ul>
5544
5545 <p>
5546 The primary benefit of centralized naming is that it permits a user to
5547 have a stable mailing address even if the actual mailbox changes in the
5548 future. Everyone with an DAS can have the same host name in thier
5549 address regardless of where the mailbox reside.
5550
5551 <p>
5552 UMP determines if a user requires an alias based on the "Internet
5553 Host/Mailbox" field on the profile. If the "Internet Host/Mailbox"
5554 field contains a different mailbox or a "remote" hostname, then the
5555 user is considered "remote" and an alias is generated. The definition
5556 of "remote" is if the host name portion of the address does not match
5557 the value of SET_DOMAIN or any LOCAL_HOST in the OECN$UMP_LOCAL.INI.
5558 For each user which UMP determines requires an alias, an line is
5559 written to USER_ALIASES.TXT. A line is also written to
5560 USER_REVERSE.TXT. USER_REVERSE.TXT contains the appropriate "address
5561 reversal" entry which allows PMDF to adjust the user's "From:" address
5562 for outgoing mail.
5563
5564 <p>
5565 Both USER_ALIASES.TXT and USER_REVERSE.TXT are suitable for loading
5566 into the PMDF_ALIAS_DATABASE and PMDF_REVERSE_DATABASE, respectively.
5567 The use of these files is optional and is up to each DAS to determine
5568 if they are useful in their configuration. EXPORT_LIST will not load
5569 the files into PMDF by default. You must either set the USER option in
5570 EXPORT_LISTS or write a custom procedure to load these files after
5571 EXPORT_LISTS is executed.
5572
5573 <p>
5574 Please note, the USER_REVERSE.TXT is only effective if mail sent by the
5575 user is routed through your system. For remote systems running mailers
5576 which send internet mail directly (such as a remote VMS system running
5577 PMDF), you must use that system's mechanisms for rewriting "From"
5578 address lines. For instance, on a remote PMDF system, adding a REVERSE
5579 mapping to the PMDF_MAPPING_FILE may be appropriate. Alternatively, you
5580 could take steps to ensure that all outgoing mail is routed through the
5581 system containing the UMP reversing entries.
5582
5583 <p>
5584 When exporting CSO, the user's real mailbox will be exported by
5585 default. You can control this by using the REWRITE line in the local
5586 INI file to rewrite addresses to either the DAS domain, a host alias,
5587 or the directory channel. If you do this, be sure that you are loading
5588 the appropriate file into either PMDF_ALIAS_DATABASE or your directory
5589 channel. An address rewritten in this manner will be rewritten back to
5590 the username or alias on the UMP profile (not the username in the
5591 mailbox field).
5592
5593 <a name="heading_12.7.1.2"><h3>12.7.1.2 User Aliases</h3></a>
5594
5595 <p>
5596 UMP provides the ability to create a user-specific alias independent of
5597 the username or actual mailbox. For example, a username of
5598 "SMITH@nwoca.org" could have an alias of "dave.smith@nwoca.org".
5599 Furthermore, the user alias may optionally be used as the user's
5600 backward pointing (From:) address. This permits the user to have an
5601 easier to remember address as well as obscuring the actual username for
5602 security purposes.
5603
5604 <p>
5605 The user aliases in UMP are implemented as two fields on the UMP
5606 profile called "Alias" and "From". The alias is a 32 character field
5607 which may consist of letters, digits or dots (.). The alias is required
5608 to have a least one dot to avoid duplicates with VMS usernames. The
5609 'From' field is a flag indicating if the alias should be used as the
5610 profile's official "From:" address. If the "From" flag is set to 'N',
5611 then the alias is merely an alternative address for the user and will
5612 be published in the CSO (White Pages). If the flag is set to 'Y', then
5613 an entry will be added into the USER_REVERSE.TXT to reverse the
5614 backward pointing addresses for any mail sent by the user.
5615
5616 <p>
5617 The 'Alias' and 'From' fields may only be modified by a system or group
5618 manager. That is, end-users cannot specify thier own alias or reversal.
5619 This allows the appropriate manager to control the alias standards. It
5620 also prevents users from changing thier alias or 'From:' address
5621 frequently without understanding the implications or attempting to
5622 forge mail messages.
5623
5624 <p>
5625 Group managers are required to specify an "alias prefix" which matches
5626 one of the group codes they are responsible for. For example, if a
5627 group manager is responsible for the groups "AA,AB", then they may only
5628 specify aliases beginning with "aa." or "ab.". This helps ensure
5629 uniqueness in the mailbox namespace when multiple group managers are
5630 responsbile for different groups of profiles.
5631
5632 <p>
5633 Since the DAS must take additional configuration steps in PMDF to
5634 implement aliases and address reversal, the 'Alias' and 'From' fields
5635 are disabled by default. The DAS must take explicit action (see below)
5636 to implement this feature.
5637
5638 <a name="heading_12.7.1.2.1"><h4>12.7.1.2.1 Implementing User Aliases</h4></a>
5639
5640 <p>
5641 The following steps must be performed in order to activate the user
5642 alias and address reversal using UMP:
5643
5644 <ol start=1 >
5645 <li>Configure PMDF to use the 'reverse database' on the appropriate
5646 channels. This feature is enabled by default in a standard PMDF
5647 configuration. See the PMDF documentation for more information.
5648 <li>Set ALLOW_USER_ALIAS to YES in OECN$UMP_LOCAL.INI. This flag
5649 enables the 'Alias' and 'From' fields in UMP.
5650 <li>Invoke EXPORT_LISTS.COM using the USER option to cause the
5651 USER_ALIASES.TXT and USER_REVERSE.TXT files to be loaded into the
5652 appropriate database. See <a href="oecn10_sysman_handbook_full.html#exam_build_proc">Section 12.18, Example Procedure for Periodic Rebuilds</a> for an example procedure which
5653 invokes EXPORT_LISTS.COM.
5654 </ol>
5655
5656 <a name="heading_12.8"><h1>12.8 Distribution List Codes</h1></a>
5657
5658 <p>
5659 Each distribution list code has a "type" prefix. The type value allows
5660 distribution lists to be organized into subsets independent of the
5661 list's name and allows restrictions to be placed on lists so users only
5662 see lists that may apply to them. The type codes also ensure that lists
5663 defined by the OECN do not conflict with those created by the DAS.
5664
5665 <p>
5666 This version uses an 8 character code in the following format:
5667 <br>
5668 TT-CCCCCC
5669
5670 <p>
5671 Where TT is the distribution list "type" (or category) and CCCCCC is
5672 the distribution list code. The following types are predefined by UMP:
5673
5674 <table border=3>
5675 <tr>
5676 <td>
5677 &nbsp;
5678 </td>
5679 <td>
5680 01
5681 </td>
5682 <td>
5683 OECN-wide user distribution lists
5684 </td>
5685 </tr>
5686 <tr>
5687 <td>
5688 &nbsp;
5689 </td>
5690 <td>
5691 02
5692 </td>
5693 <td>
5694 OECN DAS staff-only lists
5695 </td>
5696 </tr>
5697 <tr>
5698 <td>
5699 &nbsp;
5700 </td>
5701 <td>
5702 10
5703 </td>
5704 <td>
5705 Default type for lists defined by DAS
5706 </td>
5707 </tr>
5708 </table>
5709
5710 <p>
5711 Types beginning with "0" are reserved for OECN use. All other types
5712 (any type not starting with "0) are available for use by the DAS.
5713 Currently, a maximum of 100 types can be defined.
5714
5715 <p>
5716 Type 10 is predefined and available for DAS use. To add additional
5717 types add a line to the local ini file, like:
5718 <br>
5719 TYPE=tt,"description"
5720
5721 <p>
5722 For example:
5723 <br>
5724 TYPE=11,"NWOCA Staff Lists"
5725
5726 <p>
5727 Once a type has been defined, you may use the type in subsequent
5728 DEFINE_CODE lines, for example:
5729 <br>
5730 DEFINE_CODE = 11-STFRCP, "Staff Recipes", STAFF_RECIPIES
5731 <br>
5732 DEFINE_CODE = 11-STFJOK, "Staff Jokes", STAFF_JOKES
5733
5734 <p>
5735 This creates two lists called MAIL_STAFF_RECIPIES and MAIL_STAFF_JOKES.
5736 When displayed in UMP, they will be sorted and displayed under a
5737 subheading called "NWOCA Staff lists".
5738 <p>
5739 <strong>Restricting Types to Particular Users</strong>
5740 <br>
5741
5742 <p>
5743 Using types allows you to organize your lists into categories for
5744 presentation to the user. But it may also be useful to restrict
5745 categories of lists to particular types of users. UMP allows you to
5746 apply several types of restrictions based on the user's profile
5747 information.
5748
5749 <p>
5750 Note that type restrictions do NOT affect whether or not a user can
5751 subscribe or unsubscribe from a given list. Each DEFINE_CODE line
5752 determines whether a list is user-subscribable. The type restrictions
5753 only limit whether the user can see a list or not.
5754
5755 <p>
5756 Please note that the type restrictions are not intended as rigid
5757 security. Since some of the criteria is based on user modifiable
5758 fields, it is possible for a user to enter incorrect information and
5759 get assigned to the wrong lists. For example, a user might enter
5760 another district's IRN which allows them to subscribe to another
5761 districts lists. However, if the user changes the IRN back to the
5762 correct value, UMP will remove them from any incorrectly assigned lists.
5763
5764 <p>
5765 To apply a restriction to a type value, use one of the following
5766 commands in the local ini file:
5767 <br>
5768
5769 <table border=3>
5770 <tr>
5771 <td>
5772 TYPE_RESTRICT=tt,SUBSCRIBED,tt-cccccc
5773 </td>
5774 <td>
5775 Restricts type tt to users who are also subscribed to list tt-ccccc.
5776 </td>
5777 </tr>
5778 <tr>
5779 <td>
5780 TYPE_RESTRICT=tt,IRN,nnnnnn
5781 </td>
5782 <td>
5783 Restrict type to users who have a district or building IRN matching
5784 nnnnnn
5785 </td>
5786 </tr>
5787 <tr>
5788 <td>
5789 TYPE_RESTRICT=tt,TYPE,xxxx
5790 </td>
5791 <td>
5792 Restrict type to users with a 'user type' field matching xxxxx.
5793 </td>
5794 </tr>
5795 <tr>
5796 <td>
5797 TYPE_RESTRICT=tt,COUNTY,xxxx
5798 </td>
5799 <td>
5800 Restrict type to users with a 'county' field matching xxxx.
5801 </td>
5802 </tr>
5803 <tr>
5804 <td>
5805 TYPE_RESTRICT=tt,USERNAME,wildcard
5806 </td>
5807 <td>
5808 Restrict type to users with a 'username' field matching wildcard mask.
5809 </td>
5810 </tr>
5811 </table>
5812
5813 <p>
5814 Multiple TYPE_RESTRICT lines may be added for a single list type. In
5815 this case, the restrictions form a logical OR operation. That is, if
5816 the user matches any one of the criteria, they will have access to the
5817 type.
5818
5819 <p>
5820 For example, to restrict the type 11 lists (from the example in the
5821 previous section) to DAS staff members, the following restriction could
5822 be applied:
5823 <br>
5824
5825 <p>
5826 <table border=0>
5827 <tr>
5828 <td>
5829 <br>
5830 <pre>
5831 TYPE_RESTRICT=11, SUBSCRIBED, 01-STF
5832 </pre>
5833 </table>
5834
5835 <p>
5836 This will restrict all type 11 lists to users who are also subscribed
5837 to the standard DAS staff list.
5838
5839 <a name="heading_12.9"><h1>12.9 Auto Conversion of Distribution List Codes (Optional)</h1></a>
5840
5841 <p>
5842 Because of the features provided by the distribution list types, it may
5843 be desirable for DAS's to change their existing distribution list
5844 codes. By default, during the conversion, all distribution list codes
5845 in the LOCAL INI file are prefixed with type 10. For instance, if a DAS
5846 has defined several "staff" lists, you may wish to separate these into
5847 a separate type and restrict them to staff members only.
5848
5849 <p>
5850 To help facilitate this, an optional command is available for the LOCAL
5851 INI file called CONVERT. The CONVERT command takes the following form:
5852 <br>
5853 <em>CONVERT={old_code},{new_code}</em>
5854
5855 <p>
5856 For example, to convert an existing code of 10-SEM (Staff EMIS) to
5857 11-STFEMS, place the following line in the LOCAL.INI:
5858 <br>
5859 CONVERT=10-SEM, 11-STFEMS
5860
5861 <p>
5862 Note that the prefix is required even if you did not use the prefix
5863 when defining the code originally. Remember that any codes defined by
5864 the local ini file default to type 10, so if a code was defined without
5865 a type, it's type is 10.
5866
5867 <p>
5868 When changing a existing code using a CONVERT line, you should change
5869 the DEFINE_CODE line to reflect the new code at the time you add the
5870 CONVERT line. You should not reuse old codes until you are certain they
5871 no longer exist in the UMDDAT file. After you are certain the old code
5872 no longer exists in the UMDDAT file, you may remove the CONVERT line
5873 from your INI file.
5874
5875 <p>
5876 Adding the CONVERT line and revising the DEFINE_CODE line, is all that
5877 must be done to convert an existing list. UMP and it's utilities will
5878 automatically convert the code as needed "on-the-fly". If you look at
5879 the UMDDAT.IDX file after making a conversion, you may notice that some
5880 users have the new code and others still have the old code. This is the
5881 expected behavior. The new code will not be physically written to the
5882 file until the record is changed with UMP's Modify function.
5883
5884 <p>
5885 If you are creating locally written programs to update or report on
5886 user's distribution list codes, it may be confusing to have both the
5887 old and new codes on file. In this case, you may run the UMPUPDATE
5888 program to force the conversion on all records.
5889
5890 <a name="heading_12.10"><h1>12.10 Defining Local Distribution Lists</h1></a>
5891
5892 <p>
5893 To define a local distribution list, you need to add several additional
5894 lines to the OECN$UMP_LOCAL.INI file.
5895
5896 <p>
5897 You will probally need to use the ini commands:
5898 <br>
5899 LOCAL_LIST_PREFIX, TYPE, TYPE_RESTRICT, DEFINE_CODE
5900 <p>
5901 <strong>Example 1</strong>
5902 <br>
5903
5904 <p>
5905 The following example illustrates how to define a local distribution
5906 list for payroll clerks.
5907
5908 <p>
5909 Add the following lines to the OECN$UMP_LOCAL.INI file:
5910
5911 <p>
5912 <table border=0>
5913 <tr>
5914 <td>
5915 <br>
5916 <pre>
5917 TYPE = 12,"Local Payroll Clerks"
5918 DEFINE_CODE = 12-PAYCLK,"Payroll Clerks",PAYROLL_CLERK
5919 </pre>
5920 </table>
5921
5922 <p>
5923 In order to actually subscribe to this distribution list, a user or DAS
5924 person, will have to access the user's UMP profile, bring up the list
5925 of available distribution lists, and subscribe the person.
5926 <p>
5927 <strong>Example 2</strong>
5928 <br>
5929
5930 <p>
5931 As another example, suppose you wish to set up a distribution list for
5932 staff jokes, restrict the list to just those users who have access to
5933 DAS staff lists, create sublists for fiscal, programming, and EMIS
5934 jokes, and set a prefix for local lists.
5935
5936 <p>
5937 Add the following lines to the OECN$UMP_LOCAL.INI file:
5938
5939 <p>
5940 <table border=0>
5941 <tr>
5942 <td>
5943 <br>
5944 <pre>
5945
5946 LOCAL_LIST_PREFIX = "local_"
5947 TYPE = 11, "Local Staff Lists"
5948 TYPE_RESTRICT = 11,SUBSCRIBED,01-STF
5949 DEFINE_CODE = 11-STFJOK,"Staff Jokes",STAFF_JOKES,Y,11-STFJOK
5950 DEFINE_CODE = 11-FISJOK,"Fiscal Jokes",FISCAL_JOKES,Y,11-STFJOK
5951 DEFINE_CODE = 11-PRGJOK,"Programmer Jokes",PROGRAMMER_JOKES,Y,11-STFJOK
5952 DEFINE_CODE = 11-EMSJOK,"EMIS Jokes",EMIS_JOKES,Y,11-STFJOK
5953 </pre>
5954 </table>
5955
5956 <p>
5957 Then those users who are subscribed to the 01-STF list will see the
5958 following entry when they access the table of available lists in the
5959 UMP program.
5960 <br>
5961 -- LOCAL STAFF LISTS --
5962 <br>
5963 ---LOCAL_STAFF_JOKES Staff Jokes
5964 <br>
5965 ---LOCAL_FISCAL_JOKES Fiscal Jokes
5966 <br>
5967 ---LOCAL_PROGRAMER_JOKES Programmer Jokes
5968 <br>
5969 ---LOCAL_EMIS_JOKES EMIS Jokes
5970 <br>
5971
5972 <p>
5973 Users who are not subscrbed to the list 01-STF would see not entries
5974 for "Local Staff Lists" including the heading itself.
5975
5976 <p>
5977 Note that the three sublists point to the master list, 11-STFJOK in the
5978 DEFINE_CODE lines. This makes these sublists, so that mail addressed to
5979 one of these sublists will be delivered to anyone on this list and
5980 anyone on the master list, but not to users on any of the other
5981 sublists. Also, mail addressed to the master list will be delivered to
5982 everyone on any of the sublists.
5983
5984 <a name="heading_12.11"><h1>12.11 Profile Group Management</h1></a>
5985
5986 <p>
5987 UMP provides the ability to segregate profiles into <strong>management
5988 groups</strong> and delegate responsibility for the groups to selected
5989 individuals. Once delegated, the group manager has nearly complete
5990 control over the content of the profiles in the groups they are
5991 responsible for. They may add, change or delete profiles within their
5992 group and assign profiles to unrestricted distribution lists.
5993
5994 <p>
5995 <center>
5996 <table border=0 width=75%>
5997 <tr>
5998 <td><center><font size=+2><strong>Note</strong></font></center><hr
5999 size=1 noshade>
6000 Group managers may not add or remove profiles from the restricted
6001 distribution lists. These lists (MAIL_STAFF, MAIL_SUPT_PUB, etc.) are
6002 the responsibility of the DA-site and may not be delegated. </td>
6003 </tr>
6004 </table>
6005 </center>
6006
6007 <p>
6008 User profiles are assigned to groups simply by placing a value in the
6009 'Group' field on the UMP profile. If desired, the field may be massed
6010 changed using Datatrieve by modifying the GRP field in the UMP_HEADER
6011 domain or UMP view. This value is a protected field and may only be
6012 changed by DAS personnel or a group manager associated with the group.
6013
6014 <p>
6015 A user may be granted management rights to one or more groups by
6016 entering a comma separated list of groups in the 'Management Groups'
6017 field. A limit of ten comma separated groups may be included. The
6018 following standard wildcards are supported in the management groups
6019 field:
6020
6021 <table border=3>
6022 <tr>
6023 <td>
6024 *
6025 </td>
6026 <td>
6027 Any sequence of zero or more characters
6028 </td>
6029 </tr>
6030 <tr>
6031 <td>
6032 %
6033 </td>
6034 <td>
6035 Exactly one character
6036 </td>
6037 </tr>
6038 <tr>
6039 <td>
6040 #
6041 </td>
6042 <td>
6043 Exactly one numeric character
6044 </td>
6045 </tr>
6046 <tr>
6047 <td>
6048 @
6049 </td>
6050 <td>
6051 Exactly one alphabetic character
6052 </td>
6053 </tr>
6054 </table>
6055
6056 <p>
6057 The user with any value in the 'Management Groups' field will be
6058 permitted access to the MAINTAIN option in UMP. No special security
6059 identifiers are required. The user will be able to view any profile on
6060 the system, but will only be permitted to modify or delete profiles
6061 associated with one of their groups. If a group manager adds a profile,
6062 they must enter a group which matches their group management field.
6063
6064 <p>
6065 The value of the group field is entirely arbitrary. The DAS may assign
6066 the groups in any fashion desirable. Most likely, a group would be
6067 created for all users in a district and one or more group managers
6068 would be assigned to manage that district's profiles. However, groups
6069 could be further defined by building, or perhaps by classes of users
6070 (teachers, administrators, etc.). Since wildcards are supported, it is
6071 possible to devise complex hierarchies of groups which permit different
6072 users various levels of access.
6073
6074 <p>
6075 Group managers should be carefully instructed regarding local
6076 conventions for the various UMP fields. In particular, if the DAS uses
6077 the USER_ALIAS.TXT to route mail to remote mailboxes, then proper use
6078 of the UMP 'Internet Host/Mailbox' field is critical to ensure proper
6079 mail delivery. Likewise, if the DAS uses the 'User Type' field to
6080 control which profiles are sent to the OECN White Pages, then the
6081 correct values must be provided to the group manager.
6082
6083 <a name="heading_12.12"><h1>12.12 Export DIRECTORY DAEMON File (optional)</h1></a>
6084
6085 <p>
6086 You have the option of exporting to a DIRECTORY DAEMON database.
6087 Executing the EXPORT_DD.COM file will produce a file suitable for
6088 loading into a PMDF DIRECTORY-DAEMON data file. The procedure only
6089 produces a DIRECTORY-DAEMON.TXT file in the OECN$UMP directory. You
6090 must execute the appropriate PMDF CRDB command to create the indexed
6091 file database and place it in the PMDF_ROOT:[DIRECTORY] with the
6092 appropriate filename for your pseudo-domain.
6093
6094 <p>
6095 EXPORT_DD creates several aliases for each user. For example, the
6096 following aliases would be created for username "SMITH" and a profile
6097 name "Dave Smith":
6098
6099 <table border=3>
6100 <tr>
6101 <td>
6102 SMITH
6103 </td>
6104 <td>
6105 SMITH@nwoca.org
6106 </td>
6107 </tr>
6108 <tr>
6109 <td>
6110 dave.smith
6111 </td>
6112 <td>
6113 SMITH@po.NWOCA.ORG
6114 </td>
6115 </tr>
6116 <tr>
6117 <td>
6118 smith.dave
6119 </td>
6120 <td>
6121 SMITH@po.NWOCA.ORG
6122 </td>
6123 </tr>
6124 <tr>
6125 <td>
6126 d.smith
6127 </td>
6128 <td>
6129 SMITH@po.NWOCA.ORG
6130 </td>
6131 </tr>
6132 <tr>
6133 <td>
6134 smith.d
6135 </td>
6136 <td>
6137 SMITH@po.NWOCA.ORG
6138 </td>
6139 </tr>
6140 </table>
6141
6142 <p>
6143 Notice that the first alias (the username alias) sends directly to the
6144 user's "real" address. The other aliases (dotted names) send to the
6145 username at the directory channel. Since the username should be unique,
6146 the first alias should never cause a bounce. The other addresses may
6147 cause a bounce if they are not unique (the sender is notified of the
6148 duplicates and their addresses). Since only dotted names and their
6149 addresses are returned to the sender, the sender never learns the
6150 "real" address. This helps isolate remote users from knowning the real
6151 host names of the recipient.
6152
6153 <p>
6154 The directory channel for the DAS is assumed to be "po." plus the value
6155 of the SET_DOMAIN line from the OECN$UMP_LOCAL.INI file. For instance,
6156 for nwoca.org, the directory channel is assumed to be po.nwoca.org. If
6157 the DAS is using a different name for the directory channel, you may
6158 place the following line in the OECN$UMP_LOCAL.INI file:
6159 <br>
6160 <em>DIRECTORY_DOMAIN=pseudo.domain</em>
6161
6162 <p>
6163 See the PMDF System Adminstrators Guide for more information about the
6164 directory daemon, channels and pseudo-domains.
6165
6166 <a name="heading_12.13"><h1>12.13 Submit UMP Data to OECN CSO Database</h1></a>
6167
6168 <p>
6169 The CSO nameserver is a public domain software system which allows a
6170 single database to be built containing name and address information.
6171 The CSO is much flexible and allows client/server access to the
6172 database anywhere on the network. Users can use GOPHER, LYNX or other
6173 web browsers to perform queries. A utility called PH is also available
6174 to perform direct queries against the central database.
6175
6176 <p>
6177 To transmit UMP data for loading into the CSO database, each DAS should
6178 run the UMP_SEND_CSO.COM command procedure once per week. This command
6179 procedure will extract the UMP database into CSO format and send it to
6180 NWOCA.ORG for loading into CSO.
6181
6182 <p>
6183 Unless instructed otherwise, please do not routinely run UMP_SEND_CSO
6184 more than once per week. In general, a single weekly run is sufficient
6185 to keep the OECN White Pages up to date. However, situations will arise
6186 where an extra run of UMP_SEND_CSO is necessary or desirable. For
6187 example, if you change domain names, or load a large number of new
6188 users or make significant changes to the the profiles. In these cases,
6189 feel free to make a special run of UMP_SEND_CSO.
6190
6191 <p>
6192 NWOCA's system will run an update routine at approximately midnight
6193 each night to load any files submitted during the day. Therefore, the
6194 CSO data on file at the server will be updated the day after you run
6195 UMP_SEND_CSO. This schedule means that your CSO data will be at most
6196 one week behind when compared to your current UMP database.
6197
6198 <p>
6199 If you are also using EXPORT_DD.COM to build a DIRECTORY-DAEMON
6200 database, you may wish to have the email addresses in the CSO database
6201 reflect your directory daemon address, rather than your user's real
6202 addresses. In this case, you may add the following line to your
6203 OECN$UMP_LOCAL.INI file:
6204
6205 <p>
6206 <table border=0>
6207 <tr>
6208 <td>
6209 <br>
6210 <pre>
6211 REWRITE=*,"pseudo_domain"
6212 </pre>
6213 </table>
6214
6215 <p>
6216 Where "pseudo_domain" is the domain name of your directory channel, for
6217 example, NWOCA uses the following line:
6218
6219 <p>
6220 <table border=0>
6221 <tr>
6222 <td>
6223 <br>
6224 <pre>
6225 REWRITE=*,"po.nwoca.org"
6226 </pre>
6227 </table>
6228
6229 <p>
6230 This line would cause all of NWOCA's users to have an email address of
6231 username@po.nwoca.org regardless of their real host. In this way,
6232 remote users will not learn the real host name (which may change).
6233
6234 <a name="heading_12.14"><h1>12.14 Master List/Sub-list Handling</h1></a>
6235
6236 <p>
6237 Starting with the 29-Aug-95 version of UMPEXPORT, the master lists are
6238 handled differently than in the past. Previously, there were master
6239 lists which pointed to the respective sub-lists. But this caused
6240 duplicate messages if the user was on more than one sub-list. With this
6241 version, the master lists will contain the actual email addresses of
6242 the users who are on the master list or any of the sub-lists.
6243
6244 <p>
6245 There were also "compatibility" codes which were used for the original
6246 NM distribution list codes. This proved too cumbersome and confusing.
6247 Therefore, a new method of handling the master lists was implemented
6248 which essentially combines the master lists with the NM-compatibilty
6249 lists.
6250
6251 <p>
6252 The codes PRN, SPT and TRS were previously indicated as "Obsolete-NM"
6253 codes. This is no longer the case. These codes are now "master list"
6254 codes (and indicated as such on the UMP help screen). If a user is
6255 coded as having a "master list" code, they will placed on the master
6256 list _and_ will also be placed on _all_ of the sub-lists for that code.
6257
6258 <p>
6259 If a user is coded on one of the sub-lists, they will be placed on that
6260 sub-list and the corresponding master list.
6261
6262 <p>
6263 These changes provides two advantages:
6264
6265 <ol start=1 >
6266 <li>It provides a simple way of placing a single user on all sub-lists
6267 using a single code. For example, if a DAS staff member wishes to be
6268 placed on all the MAIL_TREAS_xxx lists, they may simply be given the
6269 TRS master code. This will cause them to be placed on the master list
6270 and all of TRS's sub-lists.
6271 <li>Users which have not yet been recoded to one of the more specific
6272 lists will automatically be placed on the master and all sub-lists.
6273 This ensures that users who have not been recoded to the appropriate
6274 list will still receive mail sent to any of the lists.
6275 </ol>
6276
6277 <p>
6278 <center>
6279 <table border=0 width=75%>
6280 <tr>
6281 <td><center><font size=+2><strong>Note</strong></font></center><hr
6282 size=1 noshade>
6283 This change means that it is somewhat less important to get your users
6284 migrated off of the old distribution list codes. However, if you leave
6285 users on the master list codes, they may receive mail that was not
6286 intended for them. For example, if mail is sent to mail_supt_jvsd, it
6287 will be received by all users who are on the SPT or SJV lists. </td>
6288 </tr>
6289 </table>
6290 </center>
6291
6292 <a name="heading_12.15"><h1>12.15 UMPCHECK - Verifying UMP Profiles against SYSUAF (Optional)</h1></a>
6293
6294 <p>
6295 UMPCHECK is a utility which reads the UMP profiles and compares the
6296 usernames to the SYSUAF file. It reports usernames which do not exist,
6297 have been disusered or dismailed. Optionally, UMPCHECK can delete
6298 profiles for such usernames. By default, UMPCHECK only checks profiles
6299 when the user's DECnet node name matches the values of the SYS$NODE or
6300 SYS$CLUSTER_NODE logicals. Other users are considered to be remote
6301 users and are not verified against the current node's SYSUAF. UMPCHECK
6302 must be run as a foreign command and accepts the following syntax:
6303 <br>
6304 <em>$ UMPCHECK {CHECK|DELETE|DELETE/CONFIRM} [nodes,...]</em>
6305
6306 <p>
6307 The first parameter is the function to perform:
6308
6309 <table border=3>
6310 <tr>
6311 <td>
6312 CHECK
6313 </td>
6314 <td>
6315 --
6316 </td>
6317 <td>
6318 Verify the UMP profiles against the SYSUAF and report usernames which
6319 are invalid, disusered or dismailed.
6320 </td>
6321 </tr>
6322 <tr>
6323 <td>
6324 DELETE
6325 </td>
6326 <td>
6327 --
6328 </td>
6329 <td>
6330 Unconditionally deletes local usernames which are invalid, disusered or
6331 dismailed.
6332 </td>
6333 </tr>
6334 <tr>
6335 <td>
6336 DELETE/
6337 <br> CONFIRM
6338 </td>
6339 <td>
6340 --
6341 </td>
6342 <td>
6343 Same as DELETE but prompts whether each username should be deleted or
6344 not.
6345 </td>
6346 </tr>
6347 </table>
6348
6349 <p>
6350 <center>
6351 <table border=0 width=75%>
6352 <tr>
6353 <td><center><font size=+2><strong>Note</strong></font></center><hr
6354 size=1 noshade>
6355 The function must be specified exactly as shown above without
6356 abbreviation and there may not be spaces between DELETE and /CONFIRM.
6357 </td>
6358 </tr>
6359 </table>
6360 </center>
6361
6362 <p>
6363 The second parameter indicates the node names of the users to be
6364 validated against the current SYSUAF. By default, the node names used
6365 are the current values of the SYS$NODE and SYS$CLUSTER_NODE logicals.
6366 <p>
6367
6368 <a name="heading_12.16"><h1>12.16 UMP_LOGIN - To Prompt Users to Enter Profiles During Login (Optional)</h1></a>
6369 UMP_LOGIN.COM may be run during login to determine if the user has ever
6370 modified their own profile. If they have not entered their profile,
6371 UMP_LOGIN will ask them if they would like to do so immediately and
6372 place them in the UMP profile.
6373
6374 <p>
6375 You may invoke UMP_LOGIN.COM at any point during login when appropriate
6376 for your users. For example, SYLOGIN or other procedure appropriate for
6377 your system. If you want UMP_LOGIN to be invoked automatically by
6378 OECN_LOGIN, you may create a file in OECN$CUSTOM called
6379 OECN_LOGIN_EPILOGUE.COM and execute OECN$:UMP_LOGIN from there.
6380
6381 <p>
6382 If you use UMP_LOGIN.COM you may wish to use the VMS INSTALL utility to
6383 install OECN$:UMPMODIFIED.EXE as a known image to speed up the login
6384 process.
6385
6386 <a name="heading_12.17"><h1>12.17 UMPID2DIS - Creating Distribution Lists from VMS Identifiers (Optional)</h1></a>
6387
6388 <p>
6389 UMPID2DIS.EXE is an optional utility which builds PMDF style
6390 distribution lists containing all users who hold a specified
6391 identifier. This may be used by sites who wish to build distribution
6392 lists for all users of a given package. These distribution lists are
6393 not standard OECN-wide lists.
6394
6395 <p>
6396 UMPID2DIS will only work correctly on your system if your UIC's are
6397 unique. That is, each user (holder of an identifier) has their own
6398 unique UIC. If two users hold the same UIC identifier, only one of them
6399 will be output to the lists.
6400
6401 <p>
6402 To create a distribution list for users holding a given identifier, use
6403 the following commands:
6404 <br>
6405 $ ID2DIS :== $OECN$:UMPID2DIS
6406 <br>
6407 $ ID2DIS {identifier},... {distribution_list_file}
6408
6409 <blockquote>
6410 where "identifier" is the identifier. If you specify an OECN_
6411 identifier, users who hold the standard identifier or the _RO and _GM
6412 variants will be included in the list. You may specify multiple
6413 identifiers separated by commas (no spaces). If a user holds more than
6414 one of the identifiers, they will only be included on the list once.
6415 <br>
6416 <br> "distribution_list_file" is the filename to contain the
6417 distribution list. If a device and extention are not included, the
6418 default is OECN$UMP:.DIS.
6419 </blockquote>
6420
6421 <p>
6422 Only users that meet the following criteria will be output to the list:
6423
6424 <table border=3>
6425 <tr>
6426 <td>
6427 &nbsp;
6428 </td>
6429 <td>
6430 1)
6431 </td>
6432 <td>
6433 The user holds one or more of the specified identifiers.
6434 </td>
6435 </tr>
6436 <tr>
6437 <td>
6438 &nbsp;
6439 </td>
6440 <td>
6441 2)
6442 </td>
6443 <td>
6444 The UAF flags DISUSER and DISMAIL are not set.
6445 </td>
6446 </tr>
6447 <tr>
6448 <td>
6449 &nbsp;
6450 </td>
6451 <td>
6452 3)
6453 </td>
6454 <td>
6455 The username has a valid UMP profile.
6456 </td>
6457 </tr>
6458 </table>
6459
6460 <p>
6461 Note that UMPID2DIS does NOT create the PMDF alias to point to the
6462 distribution list. If aliases are desired for the list you must use
6463 PMDF CRDB or PMDF DB to create the PMDF aliases.
6464
6465 <p>
6466 For example, NWOCA could use the following commands to create a
6467 distribution list for all NWOCA USPS users:
6468 <br>
6469 $ ID2DIS := $OECN$:UMPID2DIS
6470 <br>
6471 $
6472 <br>
6473 $ ID2DIS OECN_USPS NWOCA_USPS
6474 <br>
6475 $
6476 <br>
6477 $ PMDF DB
6478 <br>
6479 open pmdf_alias_database
6480 <br>
6481 override on
6482 <br>
6483 add "nwoca_usps" "nwoca_usps-list@reprocess.nwoca.org"
6484 <br>
6485 add "nwoca_usps-list" "&lt;oecn$ump:nwoca_usps.dis,*,*,postmaster,*,
6486 USPS"
6487 <br>
6488 $ EXIT
6489
6490 <a name="exam_build_proc"><h1>12.18 Example Procedure for Periodic Rebuilds</h1></a>
6491
6492 <p>
6493 Periodically, each site should run EXPORT_LISTS.COM to update the
6494 distribution lists from the UMP data. Most likely you will want to run
6495 EXPORT_LISTS nightly. You should also run it anytime that you recreate
6496 your PMDF alias database from scratch or make significant modifications
6497 to the UMP profiles.
6498
6499 <p>
6500 If you have PMDF's directory channel configured, you should run
6501 EXPORT_DD.COM and build a new directory daemon database. You may also
6502 to use UMPID2DIS to create distribution lists based on VMS identifiers.
6503
6504 <p>
6505 You will most likely want to write a DCL command procedure to execute
6506 all of the appropriate steps in a single batch job, and then schedule
6507 it with DECscheduler. Attached is a sample of such a procedure which is
6508 currently in use at NWOCA. You may wish to use this as a starting point
6509 for your own procedure.
6510
6511 <p>
6512 <table border=0>
6513 <tr>
6514 <td>
6515 <br>
6516 <pre>
6517
6518
6519 $!+
6520 $! NWOCA_EXPORT_UMP.COM
6521 $!
6522 $! This procedure run the UMP routines to export distribution list, build
6523 $! aliases, etc.
6524 $!
6525 $! -
6526 $!
6527 $ SET PROC/PRIV=(BYPASS,SYSPRV,SYSNAM,SYSLCK)
6528 $ SET VERIFY
6529 $ SET DEFAULT OECN$UMP
6530 $!+
6531 $! Temporarily suspend mail processing while lists are being
6532 $! created and datbases rebuilt.
6533 $!-
6534 $ STOP/QUEUE/NEXT MAIL$BATCH
6535 $!+
6536 $! Export distribution lists and rebuild PMDF databases.
6537 $!-
6538 $ @OECN$:EXPORT_LISTS "REBUILD,USER,DEFER" STAFFR
6539 $ !
6540 $ ! Merge aliases for mail addressed to former MAVCA users.
6541 $ ! May be removed after MAVCA.OHIO.GOV goes away.
6542 $ !
6543 $ pmdf crdb /long/nofast/nodup/strip OECN$UMP:MAVCA_ALIASES.DAT oecn$ump:aliases.dat
6544 $
6545 $!+
6546 $! Create directory daemon text file.
6547 $!-
6548 $ @OECN$:EXPORT_DD
6549 $!+
6550 $! Build new directory daemon database. Build into a temp file in case
6551 $! someone attempts to use database while in progress.
6552 $!-
6553 $ pmdf crdb/duplicate/stat oecn$ump:directory_daemon.txt -
6554 oecn$ump:directory_daemon.tmp
6555 $ copy oecn$ump:directory_daemon.tmp -
6556 pmdf_root:[directories]PO$NWOCA$ORG.DAT
6557 $ set prot=w:re pmdf_root:[directories]PO$NWOCA$ORG.DAT
6558 $ purge pmdf_root:[directories]PO$NWOCA$ORG.DAT
6559 $ delete/nolog oecn$ump:directory_daemon.tmp;*
6560 $!
6561 $! Build distribution list based on VMS identifiers
6562 $!
6563 $ ID2DIS := $OECN$:UMPID2DIS
6564 $
6565 $ ID2DIS OECN_USPS,OECN_SYSMAN NWOCA_USPS NM_USPS.DIS
6566 $ ID2DIS OECN_PPS,OECN_SYSMAN NWOCA_PPS NM_PPS.DIS
6567 $ ID2DIS OECN_USAS,OECN_SYSMAN NWOCA_USAS NM_USAS.DIS
6568 $ ID2DIS OECN_EMIS,OECN_EMIS_STU,OECN_EMIS_STF,OECN_EMIS_SFU,OECN_EMIS_GEN,OECN_EMIS_FIN,OECN_SYSMAN NWOCA_EMIS NM_EMIS_USERS.DIS
6569 $ ID2DIS OECN_EIS,OECN_SYSMAN NWOCA_EIS NM_EIS.DIS
6570 $ ID2DIS OECN_VIS,OECN_SYSMAN NWOCA_VIS NM_VIS.DIS
6571 $ ID2DIS OECN_SECIMS,OECN_SYSMAN NWOCA_SECIMS NM_SECIMS.DIS
6572 $ ID2DIS NWOCA_INFOHIO NWOCA_INFOHIO NM_INFOHIO.DIS
6573 $ COPY OECN$UMP:nm_*.dis/sinc NM:/PROT=W:R
6574 $
6575 $! Create aliases for NWOCA's identifier lists
6576 $ PMDF DB
6577 open oecn$ump:aliases.dat
6578 override on
6579 add "mail_hs_counselors" "mail_counselor_sec"
6580
6581 add "nwoca_usps" "nwoca_usps-list@reprocess.nwoca.org"
6582 add "nwoca_usps-list" "&lt;oecn$ump:nwoca_usps.dis,*,*,postmaster,*, USPS"
6583
6584 add "nwoca_PPS" "nwoca_PPS-list@reprocess.nwoca.org"
6585 add "nwoca_PPS-list" "&lt;oecn$ump:nwoca_PPS.dis,*,*,postmaster,*, PPS"
6586
6587 add "nwoca_USAS" "nwoca_USAS-list@reprocess.nwoca.org"
6588 add "nwoca_USAS-list" "&lt;oecn$ump:nwoca_USAS.dis,*,*,postmaster,*, USAS"
6589
6590 add "nwoca_EMIS" "nwoca_EMIS-list@reprocess.nwoca.org"
6591 add "nwoca_EMIS-list" "&lt;oecn$ump:nwoca_EMIS.dis,*,*,postmaster,*, EMIS"
6592
6593 add "nwoca_EIS" "nwoca_EIS-list@reprocess.nwoca.org"
6594 add "nwoca_EIS-list" "&lt;oecn$ump:nwoca_EIS.dis,*,*,postmaster,*, EIS"
6595
6596 add "nwoca_VIS" "nwoca_VIS-list@reprocess.nwoca.org"
6597 add "nwoca_VIS-list" "&lt;oecn$ump:nwoca_VIS.dis,*,*,postmaster,*, VIS"
6598
6599 add "nwoca_SECIMS" "nwoca_SECIMS-list@reprocess.nwoca.org"
6600 add "nwoca_SECIMS-list" "&lt;oecn$ump:nwoca_SECIMS.dis,*,*,postmaster,*, SECIMS"
6601
6602 add "nwoca_INFOHIO" "nwoca_INFOHIO-list@reprocess.nwoca.org"
6603 add "nwoca_INFOHIO-list" "&lt;oecn$ump:nwoca_INFOHIO.dis,*,*,postmaster,*, INFOhio"
6604 $
6605 $!+
6606 $! Create VMS Mail forwarding addresses for same aliases
6607 $!-
6608 $ mail := mail
6609 $ mail
6610 set forward/user=nwoca_usps in%nwoca_usps
6611 set forward/user=nwoca_pps in%nwoca_pps
6612 set forward/user=nwoca_usas in%nwoca_usas
6613 set forward/user=nwoca_emis in%nwoca_emis
6614 set forward/user=nwoca_eis in%nwoca_eis
6615 set forward/user=nwoca_vis in%nwoca_vis
6616 set forward/user=nwoca_secims in%nwoca_secims
6617 set forward/user=nwoca_infohio in%nwoca_infohio
6618 $
6619 $
6620 $!+
6621 $! Create a MAIL_ALL distribution list. Will contain all user profiles
6622 $! which are subscribed to one or more distribution list (non-duplicated
6623 $! addresses).
6624 $!-
6625 $ delete /nolog/noconfirm mail_all.*;*
6626 $ append mail_*.dis/sinc mail_all.tmp/new
6627 $ sort/nodupli mail_all.tmp mail_all.dis
6628 $ set prot=w:r mail_all.dis;*
6629 $
6630 $ PMDF DB
6631 open oecn$ump:aliases.dat
6632 override on
6633 add "mail_all" "mail_all-list@reprocess.nwoca.org"
6634 add "mail_all-list" "&lt;oecn$ump:mail_all.dis,*,*,postmaster,*, All NWOCA users"
6635 $ mail := mail
6636 $ mail
6637 set forward/user=mail_all in%mail_all
6638 $
6639 $ purge oecn$ump:*.*
6640 $
6641 $!+
6642 $! All local aliases have been added to databases.
6643 $! Place the new databases back into PMDF production
6644 $! directory.
6645 $!-
6646 $ copy/nolog oecn$ump:aliases.dat PMDF_ALIAS_DATABASE
6647 $ set file pmdf_alias_database/prot=w:re
6648 $ purge/keep=3/nolog pmdf_alias_database
6649 $
6650 $ copy/nolog oecn$ump:reverse.dat PMDF_REVERSE_DATABASE
6651 $ set file pmdf_reverse_database/prot=w:re
6652 $ purge/keep=3/nolog pmdf_reverse_database
6653 $
6654 $!+
6655 $! All done. Restart dispatcher to ensure services open
6656 $! the fresh databases.
6657 $ PMDF RESTART DISPATCHER
6658 $ START/QUEUE MAIL$BATCH
6659 $
6660 $ EXIT
6661
6662
6663 </pre>
6664 </table>
6665
6666 <p>
6667
6668 <a name="heading_12.19"><h1>12.19 Multiple Non-Clustered Systems</h1></a>
6669 DAS's with a single VMS system, or a single VMS cluster, need not be
6670 concerned with this section.
6671
6672 <p>
6673 The UMP system is currently designed assuming that each A-site will
6674 have a single set of UMP files regardless of how many independent
6675 (non-VMSclustered) systems. This provides a single point of
6676 adminstration for DAS personnel and makes building the PMDF
6677 distribution lists and aliases easier. At present, there are no plans
6678 to implement multiple UMP files on multiple systems while still being
6679 able to produce a single set of distribution lists for the entire DAS.
6680 This may be added in the future if a well defined need arises.
6681
6682 <p>
6683 However, it would be useful if remote users could modify their own user
6684 profiles without having to log into the system which contains the UMP
6685 files. This section describes a secure way of providing remote users
6686 access to their own UMP profiles.
6687
6688 <p>
6689 Use the following procedure to establish remote access to the UMP
6690 system.
6691
6692 <ol start=1 >
6693 <li>Choose a system to contain the UMP files. This would normally be
6694 your cluster or the system primarily responsible for mail delivery.
6695 This will be called the "server" system.
6696 <li>Put UMP on the server normally as described in the "Setup" section.
6697 Users on this system will use the UMP program directly from this system.
6698 <li>Create a username on the server called UMP_SERVER. This should be
6699 non-prived, network-only access. The login directory for this account
6700 can be the OECN$UMP directory, or it can have a separate login
6701 directory.
6702 <li>On the server define the OECN$UMP logical as normal.
6703 <li>On the server use AUTHORIZE to define network proxies into the
6704 server for each remote system. For example:
6705 <br>
6706 UAF&gt; ADD/PROXY node::* UMP_SERVER <br> Where "node" is the DECnet
6707 node name of the remote node. <br> This will give any user on one of
6708 your non-server nodes proxy access to the UMP_SERVER.
6709 <li>On each node (client) that you want to have access to the server,
6710 define OECN$UMP as follows (assuming MAIN:: is the server):
6711 <br>
6712 $ DEFINE OECN$UMP "MAIN""UMP_SERVER""::OECN$UMP:" <br> Also, copy the
6713 UMP.EXE file to the OECN$: directory on the client node. Set up the
6714 users to run the local copy of the .EXE.
6715 <li>Copy the *.INI files from the server to the client system. and
6716 define the following logicals:
6717 <br>
6718 $ DEFINE OECN$UMP_STANDARD dev:[dir]OECN$UMP_STANDARD.INI
6719 <br>
6720 $ DEFINE OECN$UMP_LOCAL dev:[dir]OECN$UMP_LOCAL.INI <br> Modify the
6721 OECN$UMP_LOCAL.INI file to contain the local system's DECnet node name
6722 and internet host. This will ensure that each user's profile is built
6723 using the local system's node names.
6724 </ol>
6725
6726 <p>
6727 If you do the above, each node will appear to have local access to the
6728 UMP files, and you will end up with a central DAS-wide database to
6729 build your distribution lists from. The server node will be the only
6730 one that needs to run the EXPORT_LISTS.COM to produce the mail_ and
6731 oecn_ for your DAS.
6732
6733 <a name="heading_12.20"><h1>12.20 Programming Considerations</h1></a>
6734
6735 <p>
6736 DAS programmers may wish to use DTR, COBOL or other high level language
6737 to query or manipulate the UMP data files. This section contains a
6738 brief description of the UMP data files and special considerations. DTR
6739 and COBOL definitions are provided with the software release for this
6740 purpose. The COBOL definitions are contained in UMPDAT.LIB and
6741 UMDDAT.LIB in OECN$LIB. The DTR definitions are in the domains
6742 OECN$CDD_OECN.UMP_HEADER and OECN$CDD_OECN.UMP_DIST. OECN$CDD_UMP.UMPS
6743 is a view which joins the header and distribution list code.
6744
6745 <p>
6746 The UMP data is stored in two files in OECN$UMP:
6747
6748 <table border=3>
6749 <tr>
6750 <td>
6751 UMPDAT.IDX
6752 </td>
6753 <td>
6754 Contains profile information. Keys:
6755 <ul>
6756 <li>Primary: Group + Username
6757 <li>Secondary: Username (no duplicates)
6758 <li>Secondary: Alias (no duplicates)
6759 </ul>
6760 </td>
6761 </tr>
6762 <tr>
6763 <td>
6764 UMDDAT.IDX
6765 </td>
6766 <td>
6767 Contains the distribution lists the user is subscribed to. Each record
6768 represents a single distribution list assignment. The distribution
6769 lists are stored as a code value defined by the OECN$UMP_STANDARD.INI
6770 or OECN$UMP_LOCAL.INI files. Primary key: Username +
6771 Distribution_list_code
6772 </td>
6773 </tr>
6774 </table>
6775
6776 <a name="heading_12.20.1"><h2>12.20.1 Field Requirements</h2></a>
6777
6778 <p>
6779 Some fields in UMP may display to the user differently than is
6780 physically stored in the file. Other fields have specific requirements.
6781 Please note the following:
6782
6783 <ul>
6784 <li>The ALIAS field must always contain a value. If the user does not
6785 have a specific alias, then the ALIAS must be set equal to the USERNAME
6786 field.
6787 <li>A number of fields are calculated by UMP as needed and may or may
6788 not be stored physically in the field. For example, if the ORGANIZATION
6789 field is blank, but the DISTRICT_IRN is not, then UMP will calculate
6790 the ORGANIZATION name using the OEDS file. However, UMP will not
6791 necessarily store the calculated value. If you are developing programs
6792 which depend on these values being stored on the file, you may run
6793 UMPUPDATE.EXE prior to your program. UMPUPDATE will calculate the files
6794 and store them on the file.
6795 <li>Distribution list codes are always stored in internal format
6796 (ttxxxx) as defined by the INI files. In order to manipulate
6797 distribution codes, you must know the lists internal value.
6798 <li>The LAST_UPDATE field is a VMS quadword date.
6799 <li>MODIFIED_FLAG contains "Y" if the user has modified their own
6800 profile. Any other value indicates the profile is new and has not been
6801 modified by the user.
6802 </ul>
6803
6804 <p>
6805
6806 <hr size=5>
6807 <a name="vfc2pdf_chap"><h1>Chapter 13<br>VFC2PDF - Converting Text Files to PDF Format</h1></a>
6808
6809 <p>
6810 VFC2PDF converts VFC or plain text files into PDF (Portable Document
6811 Format) files. After a report is converted to PDF format, it can be
6812 transferred to a PC or a MAC. It can also be viewed or printed using
6813 the Adobe Acrobat viewer. By using this utility, it becomes much easier
6814 to publish documents on public Internet web sites, CDrom, etc.
6815 <h3>accessing the program</h3>
6816 <blockquote>
6817 <br>
6818 <br>
6819
6820 <p>
6821 The program may be executed by typing:
6822
6823 <p>
6824 <table border=0>
6825 <tr>
6826 <td>
6827 <br>
6828 <pre>
6829 Menu&gt;VFC2PDF
6830
6831 </pre>
6832 </table>
6833
6834 <p>
6835 at the Menu or from the $ prompt by typing:
6836
6837 <p>
6838 <table border=0>
6839 <tr>
6840 <td>
6841 <br>
6842 <pre>
6843 $ VFC2PDF/[qual 1]/.../[qual n] {input_file} [output_file])
6844
6845 </pre>
6846 </table>
6847
6848 </blockquote>
6849
6850 <p>
6851 By executing from the Menu, you have no control over the default
6852 formatting options.
6853
6854 <p>
6855 By executing from the $ prompt, you can control the output, including
6856 the use of wildcards. By default, VFC2PDF will attempt to choose
6857 appropriate orientation, font sizes and margins based on the record
6858 length of the input file. However, these values may be controlled by
6859 using qualifiers as given below.
6860
6861 <p>
6862 <center>
6863 <table border=0 width=75%>
6864 <tr>
6865 <td><center><font size=+2><strong>Note</strong></font></center><hr
6866 size=1 noshade>
6867 A foreign command must be defined for VFC2PDF, such as:
6868 <br>
6869 ($ VFC2PDF :== $OECN$:VFC2PDF). </td>
6870 </tr>
6871 </table>
6872 </center>
6873 <p>
6874 <strong>Syntax</strong>
6875 <br>
6876
6877 <p>
6878 <table border=0>
6879 <tr>
6880 <td>
6881 <br>
6882 <pre>
6883
6884
6885 VFC2PDF {input_file} [output_file]
6886
6887 /ORIENTATION={PORTAIT|LANDSCAPE}
6888 /FONT_SIZE={points}
6889 /FONT_STYLE=([NORMAL],[BOLD],[ITALIC])
6890 /VERTICAL_SPACING={points}
6891 /TOP_MARGIN={points}
6892 /LEFT_MARGIN={points}
6893 /LOG
6894 /PAGE_LENGTH={max_lines_per_page}
6895 /LINE_WIDTH={characters_per_line} (defaults to record size)
6896 /INFORMATION=([AUTHOR="author"],
6897 [CREATOR="creator (defaults to username)"],
6898 [TITLE="title (defaults to filename)"],
6899 [SUBJECT="subject"])
6900 /[NO]COMPRESS
6901
6902
6903 </pre>
6904 </table>
6905
6906 <p>
6907 <strong>Defaults</strong>
6908 <br>
6909
6910 <p>
6911 <table border=0>
6912 <tr>
6913 <td>
6914 <br>
6915 <pre>
6916
6917
6918 PORTRAIT: /FONT_SIZE=11 /VERTICAL_SPACING=11 /LEFT_MARGIN=45
6919 /PAGE_LENGTH=66
6920 LANDSCAPE: /FONT_SIZE=9 /VERTICAL_SPACING=9 /LEFT_MARGIN=30
6921 /PAGE_LENGTH=66
6922 If /LINE_WIDTH is greater than 132:
6923 /FONT_SIZE=7 /VERTICAL_SPACING=9 /LEFT_MARGIN=30
6924
6925
6926 </pre>
6927 </table>
6928
6929 <p>
6930 <strong>Notes</strong>
6931 <br>
6932
6933 <p>
6934 <table border=0>
6935 <tr>
6936 <td>
6937 <br>
6938 <pre>
6939
6940
6941 - Wildcards are supported in the input specification. If wildcards
6942 are used, the output_file may be omitted or must not include a file
6943 name. Output files will be written to the default directory unless
6944 the second parameter contains an output directory.
6945
6946 - All qualifiers are optional. If /ORIENTATION is omitted, then
6947 it will be selected automatically based on the record length of the
6948 input file. Line lengths over 80 characters will be printed in LANDSCAPE,
6949 otherwise PORTRAIT will be used.
6950
6951 Note: Record size determination is based on the MRS (Maximum Record
6952 Size) in the RMS header. For formats where MRS is not set,
6953 VFC2PDF will assume 80 characters.
6954
6955
6956 </pre>
6957 </table>
6958
6959 <h3>transfer options</h3>
6960 <blockquote>
6961 <br>
6962
6963 <p>
6964 There are several methods available to transfer the PDF formated file
6965 to a PC or MAC.
6966
6967 <p>
6968 One method is to use some FTP utility.
6969
6970 <p>
6971 Another procedure, which seems to work well in Netscape, is to specify
6972 an FTP URL as:
6973
6974 <p>
6975 <table border=0>
6976 <tr>
6977 <td>
6978 <br>
6979 <pre>
6980
6981 ftp://username@host.org/
6982
6983
6984 </pre>
6985 </table>
6986
6987 <p>
6988 Netscape will prompt you for a password and connect with an
6989 authenticated FTP.
6990
6991 <p>
6992 A second simple method is to mail the file(s) to yourself as follows:
6993
6994 <p>
6995 <table border=0>
6996 <tr>
6997 <td>
6998 <br>
6999 <pre>
7000
7001 EMAIL&gt;send/file/noedit/nocc/subj="PDF Files" filename.pdf
7002
7003
7004 </pre>
7005 </table>
7006
7007 <p>
7008 or for multiple PDF files:
7009
7010 <p>
7011 <table border=0>
7012 <tr>
7013 <td>
7014 <br>
7015 <pre>
7016
7017 EMAIL&gt;send/file/noedit/nocc/subj="PDF Files" *.pdf
7018
7019
7020 </pre>
7021 </table>
7022
7023 <p>
7024 For the above, "noedit" means No Edit feature, and "nocc" means No
7025 Carbon Copy desired.
7026
7027 <p>
7028 Once the files are sent, the user can open the message with their
7029 browser, or WEB-Mail, or some other client, and then save it to their
7030 desktop or print from there.
7031 </blockquote>
7032 <p>
7033 <table border=2>
7034 <tr>
7035 <td width=150 align=center><a href="oecn10_sysman_handbook_full_contents.html">Contents</a></td>
7036 </tr>
7037 </table>
7038 </body>
7039 </html>