Mercurial > public > html2wiki
changeset 4:22ed6d93442c
Start modifying transformers to Confluence wiki syntax
author | smith@nwoca.org |
---|---|
date | Tue, 25 Jan 2011 21:59:31 -0500 |
parents | 4417b025157e |
children | d34f4d408ef9 |
files | src/org/nwoca/ssdt/tools/html2wiki/ChapterTransformer.java src/org/nwoca/ssdt/tools/html2wiki/Html2Wiki.java src/org/nwoca/ssdt/tools/html2wiki/ReplaceTransformer.java src/org/nwoca/ssdt/tools/html2wiki/TagTransformer.java test/org/nwoca/ssdt/tools/html2wiki/Html2WikiTest.java test/resources/sysman_handbook.html |
diffstat | 6 files changed, 205 insertions(+), 184 deletions(-) [+] |
line wrap: on
line diff
--- a/src/org/nwoca/ssdt/tools/html2wiki/ChapterTransformer.java Tue Jan 25 17:08:12 2011 -0500 +++ b/src/org/nwoca/ssdt/tools/html2wiki/ChapterTransformer.java Tue Jan 25 21:59:31 2011 -0500 @@ -18,8 +18,7 @@ boolean first = true; while (matcher.find( 0 )) { buffer.replace(matcher.start(),matcher.end(), - "<chapter>" + matcher.group(1) +"</chapter>\n__TOC__" + - (category == null ? "" : "\n[[Category:" + category + "]]")); + "<chapter>" + matcher.group(1) + "</chapter>\n{panel}{toc}{panel}"); first = false; }
--- a/src/org/nwoca/ssdt/tools/html2wiki/Html2Wiki.java Tue Jan 25 17:08:12 2011 -0500 +++ b/src/org/nwoca/ssdt/tools/html2wiki/Html2Wiki.java Tue Jan 25 21:59:31 2011 -0500 @@ -36,32 +36,47 @@ public Html2Wiki(String html) { buffer = new StringBuffer(html); transformers = new ArrayList<Transformer>(); - transformers.add(new PreTagTransformer()); - transformers.add(new DeleteTransformer("^\\s",true)); +// transformers.add(new PreTagTransformer()); +// transformers.add(new DeleteTransformer("^\\s",true)); transformers.add(new DeleteTransformer("<html>|</html>|<body>|</body>")); transformers.add(new DeleteTransformer("<!--.*-->(\\n|\\r)*",true)); transformers.add(new DeleteTransformer("<a .*?>|</a>")); transformers.add(new DeleteTransformer("(?m)^\\*")); - transformers.add(new DeleteTransformer("<blockquote>|</blockquote>")); +// transformers.add(new DeleteTransformer("<blockquote>|</blockquote>")); transformers.add(new DeleteTransformer("<p>")); transformers.add(new DeleteTransformer("(?m)<br>$")); transformers.add(new DeleteTransformer("<font .*?>|</font>")); - transformers.add(new CloseTagTransformer("<li>","(\n|\r)*(<li>|</ul>|</ol>|<ul>|<ol>)","\n</li>")); + transformers.add(new CloseTagTransformer("<li>","(\n|\r)*(<li>|</ul>|</ol>|<ul>|<ol>)","</li>")); transformers.add(new BadTableDataTransformer()); transformers.add(new BadTableRowTransformer()); - transformers.add(new ReplaceTransformer("</td>","\n</td>")); +// transformers.add(new ReplaceTransformer("</td>","\n</td>")); + transformers.add(new ReplaceTransformer("\\{","\\{")); + transformers.add(new ReplaceTransformer("\\}","\\}")); +// transformers.add(new ReplaceTransformer("\\[","\\[")); +// transformers.add(new ReplaceTransformer("\\]","\\]")); + transformers.add(new ReplaceTransformer("<br>","\\\\")); + transformers.add(new ReplaceTransformer("<table.*?>|</table>","{table}")); + transformers.add(new ReplaceTransformer("<tr>|</tr>","{tr}")); + transformers.add(new ReplaceTransformer("<td>|</td>","{td}")); + transformers.add(new ReplaceTransformer("<th>|</th>","{th}")); + transformers.add(new ReplaceTransformer("<ol.*?>|</ol>","{ol}")); + transformers.add(new ReplaceTransformer("<ul.*?>|</ul>","{ul}")); + transformers.add(new ReplaceTransformer("<li>","{li}")); + transformers.add(new ReplaceTransformer("</li>","{li}\n")); transformers.add(new ChapterTransformer(category)); - transformers.add(new TagTransformer("<em>(.*?)</em>", "''")); - transformers.add(new TagTransformer("<strong>(.*?)</strong>", "'''")); - transformers.add(new TagTransformer("(?s)<kbd>(.*?)</kbd>", "<tt>", "</tt>")); - transformers.add(new TagTransformer("<h1>(.*)</h1>", "== ", " ==")); - transformers.add(new TagTransformer("<h2>(.*)</h2>", "=== ", " ===")); - transformers.add(new TagTransformer("<h3>(accessing the program|sample run|sample screens?|sample reports?)</[h|H]3>","=== ", " ===")); - transformers.add(new TagTransformer("<h3>(.*)</H3>", "", "")); - transformers.add(new TagTransformer("<h3>(.*)</h3>", "==== ", " ====")); - transformers.add(new TagTransformer("<h4>(.*)</h4>", "===== ", " =====")); - transformers.add(new TagTransformer("<h5>(.*)</h5>", "====== ", " ======")); - transformers.add(new TagTransformer("<h6>(.*)</h6>", "======= ", " =======")); + transformers.add(new TagTransformer("<pre>(.*?)</pre>", true, "{code}","{code}")); + transformers.add(new TagTransformer("<center>(.*?)</center>", true, "{center}","{center}")); + transformers.add(new TagTransformer("<em>(.*?)</em>", "*","*")); + transformers.add(new TagTransformer("<strong>(.*?)</strong>", "*","*")); + transformers.add(new TagTransformer("(?s)<kbd>(.*?)</kbd>", "{{", "}}")); + transformers.add(new TagTransformer("<h1>(.*)</h1>", "h1. ", "")); + transformers.add(new TagTransformer("<h2>(.*)</h2>", "h2. ", "")); + transformers.add(new TagTransformer("<h3>(accessing the program|sample run|sample screens?|sample reports?)</[h|H]3>","h3.", "")); + transformers.add(new TagTransformer("<h3>(.*)</H3>", "h3. ", "")); + transformers.add(new TagTransformer("<h3>(.*)</h3>", "h3. ", "")); + transformers.add(new TagTransformer("<h4>(.*)</h4>", "h4. ", "")); + transformers.add(new TagTransformer("<h5>(.*)</h5>", "h5. ", "")); + transformers.add(new TagTransformer("<h6>(.*)</h6>", "h6. ", "")); transformers.add(new DeleteTransformer("(?s)<hr.*?>")); } @@ -123,7 +138,7 @@ } public static String generateFilename(String input) { - return input.replaceAll("\\\\|/|:|\\(|\\)","-"); + return input.replaceAll("\\\\|/|:|\\(|\\)","-").replace("<br>", ""); } public String getWikiText() {
--- a/src/org/nwoca/ssdt/tools/html2wiki/ReplaceTransformer.java Tue Jan 25 17:08:12 2011 -0500 +++ b/src/org/nwoca/ssdt/tools/html2wiki/ReplaceTransformer.java Tue Jan 25 21:59:31 2011 -0500 @@ -16,11 +16,10 @@ Matcher matcher = replace.matcher(buffer); boolean first = true; - while (matcher.find(first ? 0 : matcher.end())) { + while (matcher.find(first ? 0 : matcher.start() + replacement.length())) { buffer.replace(matcher.start(),matcher.end(),replacement); first = false; - } - + } } public String toString() {
--- a/src/org/nwoca/ssdt/tools/html2wiki/TagTransformer.java Tue Jan 25 17:08:12 2011 -0500 +++ b/src/org/nwoca/ssdt/tools/html2wiki/TagTransformer.java Tue Jan 25 21:59:31 2011 -0500 @@ -3,33 +3,41 @@ import java.util.regex.*; class TagTransformer implements Transformer { + private Pattern tagPattern; private String replacementBegin; private String replacementEnd; - + public TagTransformer(String regexp, String replacementBegin, String replacementEnd) { - tagPattern = Pattern.compile(regexp); + this(regexp, false, replacementBegin, replacementEnd); + } + + public TagTransformer(String regexp, boolean multiline, String replacementBegin, String replacementEnd) { + tagPattern = multiline + ? Pattern.compile(regexp, Pattern.MULTILINE + Pattern.DOTALL) + : Pattern.compile(regexp); + this.replacementBegin = replacementBegin; this.replacementEnd = replacementEnd; - + } + public TagTransformer(String regexp, String replacement) { - this(regexp,replacement,replacement); + this(regexp, replacement, replacement); } - + public void apply(StringBuffer buffer) { Matcher matcher = tagPattern.matcher(buffer); - + boolean first = true; while (matcher.find(first ? 0 : matcher.start())) { - buffer.replace(matcher.start(),matcher.end(),replacementBegin + matcher.group(1) + replacementEnd); + buffer.replace(matcher.start(), matcher.end(), replacementBegin + matcher.group(1) + replacementEnd); first = false; } - - } - - public String toString() { - return "Replace: " + tagPattern.pattern() + " with " +replacementBegin + "..." + replacementEnd; + } -} \ No newline at end of file + public String toString() { + return "Replace: " + tagPattern.pattern() + " with " + replacementBegin + "..." + replacementEnd; + } +}
--- a/test/org/nwoca/ssdt/tools/html2wiki/Html2WikiTest.java Tue Jan 25 17:08:12 2011 -0500 +++ b/test/org/nwoca/ssdt/tools/html2wiki/Html2WikiTest.java Tue Jan 25 21:59:31 2011 -0500 @@ -36,29 +36,29 @@ return suite; } - public void testChapterParsing() throws Exception { - - File f = new File(path, "sysman_handbook.html"); - - Html2Wiki converter = new Html2Wiki(FileUtils.readFileToString(f, null)); - - Html2Wiki.WikiChapter[] chapters = converter.getWikiChapters(); - - assertTrue( chapters.length > 0); - for (Html2Wiki.WikiChapter c : chapters) { - System.out.println(c); - } - } +// public void testChapterParsing() throws Exception { +// +// File f = new File(path, "sysman_handbook.html"); +// +// Html2Wiki converter = new Html2Wiki(FileUtils.readFileToString(f, null)); +// +// Html2Wiki.WikiChapter[] chapters = converter.getWikiChapters(); +// +// assertTrue( chapters.length > 0); +// for (Html2Wiki.WikiChapter c : chapters) { +// System.out.println(c); +// } +// } /** * Test of main method, of class org.nwoca.ssdt.tools.html2wiki.Html2Wiki. // */ -// public void testMain() throws Exception { + public void testMain() throws Exception { // System.out.println("main"); // // File path = new File(Html2WikiTest.class.getResource("/resources").toURI()); // System.out.println(path); -// Html2Wiki.main(new String[]{path.toString(), "OECN System Managers Handbook"}); + Html2Wiki.main( new String[] {path.toString(), "OECN System Managers Handbook"}); // -// } + } }
--- a/test/resources/sysman_handbook.html Tue Jan 25 17:08:12 2011 -0500 +++ b/test/resources/sysman_handbook.html Tue Jan 25 21:59:31 2011 -0500 @@ -1,7 +1,7 @@ <html> <a name="first_page"></a> -<!-- This file created using DECdocument Version V3.3h on 25-JAN-2011 16:09:07.97 --> +<!-- This file created using DECdocument Version V3.3h on 25-JAN-2011 20:18:10.51 --> <!-- TAG definitions version: V3.3h --> <!-- The SDML doctype is: SOFTWARE.REFERENCE --> <!-- The output destination was: HTML --> @@ -68,7 +68,7 @@ <p> <hr size=5> -<a name="menu_intro"><h1>Chapter 1<br>Introduction</h1></a> +<a name="menu_intro"><h1>Introduction</h1></a> <p> The OECN Menu processor provides a flexible user menu interface to @@ -77,7 +77,7 @@ for all state software programs. Individual A-sites will be able to add customized menus to the default menu system provided. -<a name="menu_features_head"><h1>1.1 Features</h1></a> +<a name="menu_features_head"><h1>Features</h1></a> <p> The Menu processor provides the following features: @@ -118,7 +118,7 @@ <p> <hr size=5> -<a name="menu_theory"><h1>Chapter 2<br>Theory</h1></a> +<a name="menu_theory"><h1>Theory</h1></a> <p> The basic theory behind the Menu processor is fairly simple. The menu @@ -126,14 +126,14 @@ flexible enough to allow creation of menus containing any combination of DCL commands, programs and information. -<a name="menu_terms_head"><h1>2.1 Definition of Terms</h1></a> +<a name="menu_terms_head"><h1>Definition of Terms</h1></a> <p> First, it will be helpful to define some terms that will be used throughout the rest of this document. <p> <table border=3> - <caption><a name="menu_terms_tab"><strong>Table 2-1 Menu System Terms</strong></a></caption> + <caption><a name="menu_terms_tab"><strong> Menu System Terms</strong></a></caption> <tr> <th align=center>Term </th> <th align=center>Meaning </th> @@ -222,14 +222,14 @@ </tr> </table> -<a name="menu_files_theory"><h1>2.2 How Menu Files Create a Menu System</h1></a> +<a name="menu_files_theory"><h1>How Menu Files Create a Menu System</h1></a> <p> <a href="oecn10_sysman_handbook_full.html#menu_system_fig">Figure 2-1</a> displays a graphical representation of a possible menu system. <a name="menu_system_fig"></a> <p> -<strong>Figure 2-1 Conceptual View of a Menu system</strong> +<strong>Conceptual View of a Menu system</strong> <hr> <p> @@ -291,7 +291,7 @@ for VAX/VMS System Manager manual for more information about security and the OSA utility. -<a name="menu_specs_head"><h1>2.3 Menu Specifications</h1></a> +<a name="menu_specs_head"><h1>Menu Specifications</h1></a> <p> Throughout this document there are references to <strong>menu @@ -383,7 +383,7 @@ </tr> </table> -<a name="alias_file_head"><h1>2.4 The Alias File</h1></a> +<a name="alias_file_head"><h1>The Alias File</h1></a> <p> Each menu system may have exactly one <strong>alias file</strong>. An @@ -402,7 +402,7 @@ The alias file is built automatically by the MENUUTL program. See <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. -<a name="option_exec_sect"><h1>2.5 Option execution</h1></a> +<a name="option_exec_sect"><h1>Option execution</h1></a> <p> By default, the menu processor does <em>not</em> spawn subprocesses to @@ -413,7 +413,7 @@ optimal response time for smaller VAX processors, particularly machines with small memory configurations. -<a name="heading_2.5.1"><h2>2.5.1 Spawning Options</h2></a> +<a name="heading_2.5.1"><h2>Spawning Options</h2></a> <p> Another mode that may be chosen by the system manager is "spawn and @@ -467,7 +467,7 @@ SSDT that need the "DP" item type was the DETPRT option of the LOCAL menu. All other SSDT menu items may be executed in a subprocess. -<a name="heading_2.5.2"><h2>2.5.2 Selecting Execution Mode</h2></a> +<a name="heading_2.5.2"><h2>Selecting Execution Mode</h2></a> <p> To select either "terminate and execute" or "spawn and execute" mode, @@ -490,7 +490,7 @@ This logical also can be defined at the group or process level. If the logical is not defined, the default is "TERMINATE". -<a name="timeout_head"><h1>2.6 Inactivity Timeout</h1></a> +<a name="timeout_head"><h1>Inactivity Timeout</h1></a> <p> The menu processor has an optional feature that will cause it to @@ -533,7 +533,7 @@ <p> <hr size=5> -<a name="menu_implentation_chap"><h1>Chapter 3<br>Implementation</h1></a> +<a name="menu_implentation_chap"><h1>Implementation</h1></a> <p> Several steps are required in order to implement the Menu Processor on @@ -551,7 +551,7 @@ shared image. </ol> -<a name="installation_head"><h1>3.1 Installation</h1></a> +<a name="installation_head"><h1>Installation</h1></a> <p> The Menu Processor uses files from the OECN, MENU and HELP packages. @@ -559,14 +559,14 @@ information about OECN_INSTALL see OECN_INSTALL.DOC in the VAX manager documentation directory. -<a name="logicals_head"><h1>3.2 Establish OECN Logicals</h1></a> +<a name="logicals_head"><h1>Establish OECN Logicals</h1></a> <p> Several logicals are used by the Menu Processor to locate the menu files and VMS Help libraries. <p> <table border=3> - <caption><a name="logicals_tab"><strong>Table 3-1 Menu Logicals</strong></a></caption> + <caption><a name="logicals_tab"><strong> Menu Logicals</strong></a></caption> <tr> <th align=center>Logical </th> <th align=center>Purpose </th> @@ -670,7 +670,7 @@ system, group or process level. For example, the OECN$MENU logical may be defined for each user to provide a different default menu. -<a name="behavior_logical"><h2>3.2.1 Specifying options with OECN$MENU_BEHAVIOR logical</h2></a> +<a name="behavior_logical"><h2>Specifying options with OECN$MENU_BEHAVIOR logical</h2></a> <p> This section describes the commands that may be placed in the @@ -694,7 +694,7 @@ <p> <table border=3> - <caption><a name="Table_3-2"><strong>Table 3-2 Behavior Options</strong></a></caption> + <caption><a name="Table_3-2"><strong> Behavior Options</strong></a></caption> <tr> <th align=center>Command </th> <th align=center>Description </th> @@ -749,7 +749,7 @@ </pre> </table> -<a name="move_files_head"><h1>3.3 Move Files to Appropriate Directories</h1></a> +<a name="move_files_head"><h1>Move Files to Appropriate Directories</h1></a> <p> Move the menu files (OECN$ROOT:[MENU.DIST]*.DAT) to the directory @@ -774,7 +774,7 @@ <p> The users must have execute access to these files. -<a name="add_symbol_head"><h1>3.4 Add Global Symbol</h1></a> +<a name="add_symbol_head"><h1>Add Global Symbol</h1></a> <p> Add the following symbol to either your SYLOGIN.COM or each user's @@ -796,7 +796,7 @@ easier for your users to invoke a menu. These symbols will be discussed 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. -<a name="install_head"><h1>3.5 Install the Menu Processor</h1></a> +<a name="install_head"><h1>Install the Menu Processor</h1></a> <p> Although it is not necessary for proper execution of the Menu @@ -826,7 +826,7 @@ <p> <hr size=5> -<a name="invoking_chap"><h1>Chapter 4<br>Invoking the Menu Processor</h1></a> +<a name="invoking_chap"><h1>Invoking the Menu Processor</h1></a> <p> The Menu Processor must be invoked via a command procedure that is @@ -904,7 +904,7 @@ login procedure or from inside another procedure. No restrictions are placed on the method of invoking the Menu Processor. -<a name="invoke_example_head"><h1>4.1 Examples</h1></a> +<a name="invoke_example_head"><h1>Examples</h1></a> <p> For most users the following symbol definition is sufficient: @@ -965,7 +965,7 @@ <p> <hr size=5> -<a name="modifying_menus_chap"><h1>Chapter 5<br>Modifying and Creating Menu Systems</h1></a> +<a name="modifying_menus_chap"><h1>Modifying and Creating Menu Systems</h1></a> <p> The MENUEDT program is a fully functional maintenance program for @@ -974,7 +974,7 @@ such as building the alias file and reporting functions. <p> <table border=3> - <caption><a name="menu_type_tab"><strong>Table 5-1 Menu Record Types</strong></a></caption> + <caption><a name="menu_type_tab"><strong> Menu Record Types</strong></a></caption> <tr> <th align=center>Record Type </th> <th align=center>Function </th> @@ -1020,7 +1020,7 @@ menus that you modify or create should be tested thoroughly before being made available to your users. -<a name="using_edt_head"><h1>5.1 Using MENUEDT</h1></a> +<a name="using_edt_head"><h1>Using MENUEDT</h1></a> <p> When you first run the MENUEDT program it will prompt you for the name @@ -1028,7 +1028,7 @@ created. <p> <table border=3> - <caption><a name="edt_options_tab"><strong>Table 5-2 MENUEDT Main Menu Options</strong></a></caption> + <caption><a name="edt_options_tab"><strong> MENUEDT Main Menu Options</strong></a></caption> <tr> <th align=center>Option </th> <th align=center>Function </th> @@ -1109,14 +1109,14 @@ </tr> </table> -<a name="menu_type_head"><h2>5.1.1 Menu File Record Types</h2></a> +<a name="menu_type_head"><h2>Menu File Record Types</h2></a> <p> This section and the following sections show sample screens that are used by MENUEDT to modify the various record types. After each screen is a detailed explanation of each field and its purpose. -<a name="file_header_head"><h2>5.1.2 File Header Record</h2></a> +<a name="file_header_head"><h2>File Header Record</h2></a> <p> The first record in each menu file must be a File Header record and @@ -1141,7 +1141,7 @@ <p> <table border=3> - <caption><a name="file_header_fld_tab"><strong>Table 5-3 File Header Record Fields</strong></a></caption> + <caption><a name="file_header_fld_tab"><strong> File Header Record Fields</strong></a></caption> <tr> <th align=center>Field </th> <th align=center>Description </th> @@ -1177,7 +1177,7 @@ </tr> </table> -<a name="menu_header_head"><h2>5.1.3 Menu Header Record</h2></a> +<a name="menu_header_head"><h2>Menu Header Record</h2></a> <p> The Menu Header record contains information about each menu in the @@ -1207,7 +1207,7 @@ <p> <table border=3> - <caption><a name="menu_header_fld_tab"><strong>Table 5-4 Menu Header Fields</strong></a></caption> + <caption><a name="menu_header_fld_tab"><strong> Menu Header Fields</strong></a></caption> <tr> <th align=center>field </th> <th align=center>Description </th> @@ -1296,7 +1296,7 @@ </tr> </table> -<a name="menu_item_head"><h2>5.1.4 Menu Item Record</h2></a> +<a name="menu_item_head"><h2>Menu Item Record</h2></a> <p> One menu item record must be specified for each desired item on a menu. @@ -1312,7 +1312,7 @@ <p> <table border=3> - <caption><a name="item_types_tab"><strong>Table 5-5 Menu Item Types</strong></a></caption> + <caption><a name="item_types_tab"><strong> Menu Item Types</strong></a></caption> <tr> <th align=center>Item Type </th> <th align=center>Interpretation of Action Field </th> @@ -1383,7 +1383,7 @@ <p> <table border=3> - <caption><a name="menu_item_tab"><strong>Table 5-6 Menu Item Fields</strong></a></caption> + <caption><a name="menu_item_tab"><strong> Menu Item Fields</strong></a></caption> <tr> <th align=center>Field </th> <th align=center>Description </th> @@ -1503,7 +1503,7 @@ <br> <hr> -<a name="action_values_head"><h3>5.1.4.1 Values for Action Field</h3></a> +<a name="action_values_head"><h3>Values for Action Field</h3></a> <p> Much of the Menu Processor's flexibility is provided by the values that @@ -1633,7 +1633,7 @@ Description field is simply displayed on the menu without a label or an option number. -<a name="secur_id_screen_head"><h2>5.1.5 Menu Security Screen</h2></a> +<a name="secur_id_screen_head"><h2>Menu Security Screen</h2></a> <p> The <strong>Modify Security Identifier</strong> screen allows you to @@ -1710,7 +1710,7 @@ Up to 16 identifier positions have been reserved for use at the A-site level. See OECN_IDS.LIB in OECN$LIB: for instructions. -<a name="security_ids"><h3>5.1.5.1 Security Identifiers</h3></a> +<a name="security_ids"><h3>Security Identifiers</h3></a> <p> The security identifiers that appear on the Security Identifier screen @@ -1724,7 +1724,7 @@ level access to the highest. <p> <table border=3> - <caption><a name="security_level_tbl"><strong>Table 5-7 Security Access Levels</strong></a></caption> + <caption><a name="security_level_tbl"><strong> Security Access Levels</strong></a></caption> <tr> <th align=center>Access Level </th> <th align=center>Suffix </th> @@ -1792,7 +1792,7 @@ A-site specific identifiers. That is, there will also be OECN_USER1_RO and OECN_USER1_GM identifiers available for use at the A-site level. -<a name="menuutl_head"><h1>5.2 Using MENUUTL</h1></a> +<a name="menuutl_head"><h1>Using MENUUTL</h1></a> <p> The MENUUTL program provides some necessary functions for building, @@ -1805,7 +1805,7 @@ <li>Hierarchical Menu Listing </ol> -<a name="build_alias_head"><h2>5.2.1 Building the Alias File</h2></a> +<a name="build_alias_head"><h2>Building the Alias File</h2></a> <p> The first and the most important option of MENUUTL is the alias file @@ -1916,7 +1916,7 @@ </table> </center> -<a name="simulate_list_head"><h2>5.2.2 Simulated Menu Listing</h2></a> +<a name="simulate_list_head"><h2>Simulated Menu Listing</h2></a> <p> This option will read through the specified menu file and create a @@ -1925,14 +1925,14 @@ only report on one menu file at a time and will be sorted in alphabetical order by menu name. -<a name="detailed_list_head"><h2>5.2.3 Detailed Menu Listing</h2></a> +<a name="detailed_list_head"><h2>Detailed Menu Listing</h2></a> <p> The detailed menu report lists all available information about the specified menu file. This report is particularly useful for double checking the action fields and security. -<a name="hier_list_head"><h2>5.2.4 Hierarchical Listing</h2></a> +<a name="hier_list_head"><h2>Hierarchical Listing</h2></a> <p> This report will display the structure of the menu system. The menus @@ -1941,7 +1941,7 @@ to start. You need not necessarily start at the top of the entire menu system. -<a name="osa_head"><h1>5.3 OSA</h1></a> +<a name="osa_head"><h1>OSA</h1></a> <p> The OSA, OECN Security Authorization, Utility may be used in @@ -1953,7 +1953,7 @@ <p> <hr size=5> -<a name="custom_chap"><h1>Chapter 6<br>Customizing Menus from the Distribution</h1></a> +<a name="custom_chap"><h1>Customizing Menus from the Distribution</h1></a> <p> This chapter describes the recommended procedure for customizing the @@ -1991,7 +1991,7 @@ </table> </center> -<a name="local_head"><h1>6.1 Modifying a Local Menu File</h1></a> +<a name="local_head"><h1>Modifying a Local Menu File</h1></a> <p> Following is the recommend procedure for modifying one or more menu @@ -2004,7 +2004,7 @@ <li>Redefine OECN$MENU$FILES permanently </ol> -<a name="redefine_logical_head"><h2>6.1.1 Redefine the OECN$MENU$FILES logical</h2></a> +<a name="redefine_logical_head"><h2>Redefine the OECN$MENU$FILES logical</h2></a> <p> The first step is to redefine OECN$MENU$FILES as a search list. For @@ -2041,7 +2041,7 @@ </table> </center> -<a name="heading_6.1.2"><h2>6.1.2 Modify the Menu Files</h2></a> +<a name="heading_6.1.2"><h2>Modify the Menu Files</h2></a> <p> Copy the *_LCL.DAT menu files that you want to modify from the @@ -2055,7 +2055,7 @@ you're creating new menus, be sure that the users have read access to the new files. -<a name="heading_6.1.3"><h2>6.1.3 Build a New Alias File</h2></a> +<a name="heading_6.1.3"><h2>Build a New Alias File</h2></a> <p> After all desired changes have been made, use MENUUTL to rebuild the @@ -2067,7 +2067,7 @@ You may build the alias file manually by running MENUUTL, or you may use the BUILD_ALIAS.COM procedure in the OECN$ directory. -<a name="heading_6.1.4"><h2>6.1.4 Redefine OECN$MENU$FILES Permanently</h2></a> +<a name="heading_6.1.4"><h2>Redefine OECN$MENU$FILES Permanently</h2></a> <p> If you have not already done so, define the logical OECN$MENU$FILES to @@ -2076,7 +2076,7 @@ <p> At this point your users should have access to the customized menus. -<a name="heading_6.2"><h1>6.2 After a Distribution</h1></a> +<a name="heading_6.2"><h1>After a Distribution</h1></a> <p> If you modify the local menu files in this way, your changes will not @@ -2115,7 +2115,7 @@ files. See the comments in BUILD_ALIAS.COM for more information about using this procedure. -<a name="intercept_head"><h1>6.3 Intercepting Menu Actions</h1></a> +<a name="intercept_head"><h1>Intercepting Menu Actions</h1></a> <p> Sometimes it is desirable, or necessary, to redefine the action @@ -2244,9 +2244,9 @@ <p> <hr size=5> -<a name="batch_mail_chap"><h1>Chapter 7<br>Batch Mail Message System Manager Guide</h1></a> - -<a name="heading_7.1"><h1>7.1 Overview</h1></a> +<a name="batch_mail_chap"><h1>Batch Mail Message System Manager Guide</h1></a> + +<a name="heading_7.1"><h1>Overview</h1></a> <p> The command procedure BATCH_MAIL_MESSAGE.COM can be used to send a VMS @@ -2254,7 +2254,7 @@ audiences where the user does not wish to tie up their terminal for an extended period of time. -<a name="heading_7.2"><h1>7.2 Sending a Mail Message via Batch</h1></a> +<a name="heading_7.2"><h1>Sending a Mail Message via Batch</h1></a> <p> To use the command procedure for generic mail messages: @@ -2291,9 +2291,9 @@ <p> <hr size=5> -<a name="oecn_view_chap"><h1>Chapter 8<br>OECN VIEW Utility</h1></a> - -<a name="heading_8.1"><h1>8.1 Overview</h1></a> +<a name="oecn_view_chap"><h1>OECN VIEW Utility</h1></a> + +<a name="heading_8.1"><h1>Overview</h1></a> <p> The OECN_VIEW utility allows users to view text files on the screen. It @@ -2320,7 +2320,7 @@ <p> Examples of the logicals are given below: -<a name="heading_8.2"><h1>8.2 OECN_VIEW.COM</h1></a> +<a name="heading_8.2"><h1>OECN_VIEW.COM</h1></a> <p> The OECN_VIEW.COM command procedure is found in OECN$. It is used to @@ -2362,7 +2362,7 @@ </pre> </table> -<a name="heading_8.2.1"><h2>8.2.1 Customizing OECN VIEW</h2></a> +<a name="heading_8.2.1"><h2>Customizing OECN VIEW</h2></a> <p> The following sample command file shows how to customize the @@ -2405,7 +2405,7 @@ </pre> </table> -<a name="heading_8.2.2"><h2>8.2.2 Creating a DCL Command</h2></a> +<a name="heading_8.2.2"><h2>Creating a DCL Command</h2></a> <p> The VIEW utility works automatically from the MENU. However, you could @@ -2429,7 +2429,7 @@ <p> Then use the LOOK command from the $ prompt. -<a name="heading_8.2.3"><h2>8.2.3 OECN_EDIT</h2></a> +<a name="heading_8.2.3"><h2>OECN_EDIT</h2></a> <p> The OECN_VIEW utility uses a special editor called OECN_EDIT. Its @@ -2439,9 +2439,9 @@ <p> <hr size=5> -<a name="oecn_edit_chap"><h1>Chapter 9<br>OECN EDIT Utility</h1></a> - -<a name="heading_9.1"><h1>9.1 Overview</h1></a> +<a name="oecn_edit_chap"><h1>OECN EDIT Utility</h1></a> + +<a name="heading_9.1"><h1>Overview</h1></a> <p> OECN_EDIT is a foreign command replacement for the EDIT/TPU DCL @@ -2456,7 +2456,7 @@ VFC files to be viewed correctly. However, it may also be used with any TPU section file as an editor. -<a name="heading_9.2"><h1>9.2 Using OECN_EDIT</h1></a> +<a name="heading_9.2"><h1>Using OECN_EDIT</h1></a> <p> In order to use OECN_EDIT as your interface to TPU, define the @@ -2484,9 +2484,9 @@ <p> <hr size=5> -<a name="oecn_keymap_chap"><h1>Chapter 10<br>OECN KEYMAP Utility</h1></a> - -<a name="heading_10.1"><h1>10.1 Overview</h1></a> +<a name="oecn_keymap_chap"><h1>OECN KEYMAP Utility</h1></a> + +<a name="heading_10.1"><h1>Overview</h1></a> <p> The OECN_KEYMAP utility allows users to select a terminal emulator, @@ -2499,7 +2499,7 @@ to any PC key you wish in the emulator and then relabel F11 on the screen to match the PC keyboard. -<a name="heading_10.2"><h1>10.2 Using KEYMAP</h1></a> +<a name="heading_10.2"><h1>Using KEYMAP</h1></a> <p> Upon selecting the KEYMAP option from the OECN menu the user is given a @@ -2551,9 +2551,9 @@ <p> <hr size=5> -<a name="oecn_setupenv_chap"><h1>Chapter 11<br>OECN SETUPENV Utility</h1></a> - -<a name="heading_11.1"><h1>11.1 Overview</h1></a> +<a name="oecn_setupenv_chap"><h1>OECN SETUPENV Utility</h1></a> + +<a name="heading_11.1"><h1>Overview</h1></a> <p> SETUPENV is a general purpose utility for establishing or switching to @@ -2589,7 +2589,7 @@ by DA Sites, including group tables and shared logical tables. </ol> -<a name="heading_11.2"><h1>11.2 Getting Started</h1></a> +<a name="heading_11.2"><h1>Getting Started</h1></a> <p> The SETUPENV utility is very flexible allowing the capability to deal @@ -2606,7 +2606,7 @@ Starting small will give the opportunity to experiment with the utility to see how, or if, it can fit into your environment. -<a name="heading_11.2.1"><h2>11.2.1 Entity Types</h2></a> +<a name="heading_11.2.1"><h2>Entity Types</h2></a> <p> SETUPENV manages a user's context by assuming that any given process @@ -2639,7 +2639,7 @@ attribute for more information. <p> -<a name="heading_11.2.2"><h2>11.2.2 DCL Command Syntax</h2></a> +<a name="heading_11.2.2"><h2>DCL Command Syntax</h2></a> <br> <p> @@ -2853,7 +2853,7 @@ Likewise, when /EMIS is specified, EMIS_SELECT_EPILOGUE and EMIS_SWITCH_FY will be invoked after successfully selecting a database. -<a name="heading_11.3"><h1>11.3 Logicals Created By SETUPENV</h1></a> +<a name="heading_11.3"><h1>Logicals Created By SETUPENV</h1></a> <p> After successfully selecting an entry, SETUPENV establishes a series of @@ -2933,7 +2933,7 @@ Any of the logicals that do not apply to an entry will not be defined (e.g. for a parent entry, the siblings logical will not be defined). -<a name="heading_11.4"><h1>11.4 OECN$SETUP.INI</h1></a> +<a name="heading_11.4"><h1>OECN$SETUP.INI</h1></a> <p> The OECN$SETUP initialization file defines the environment for various @@ -3121,7 +3121,7 @@ </center> </ul> -<a name="heading_11.4.1"><h2>11.4.1 Special "Reset" Entries</h2></a> +<a name="heading_11.4.1"><h2>Special "Reset" Entries</h2></a> <p> Prior to setting any given entry, SETUPENV will attempt to process @@ -3171,7 +3171,7 @@ general, you should explicitly deassign any logicals in the reset section that are defined in any entry of the same type. -<a name="heading_11.4.2"><h2>11.4.2 Sample OECN$SETUP File</h2></a> +<a name="heading_11.4.2"><h2>Sample OECN$SETUP File</h2></a> <p> Below is a very simple OECN$SETUP.INI file which defines entries for @@ -3229,7 +3229,7 @@ The special $RESET_DISTRICT section is provided to ensure that the district logical get reset appropriately prior to setting an entry. -<a name="heading_11.4.3"><h2>11.4.3 Special "APPLICATION" Entries</h2></a> +<a name="heading_11.4.3"><h2>Special "APPLICATION" Entries</h2></a> <p> If an entry is defined with one or more APPLICATION attributes, then @@ -3287,7 +3287,7 @@ Logicals defined in this manner may need to be included in the appropriate "$RESET_type" section to ensure they are reset. -<a name="heading_11.4.4"><h2>11.4.4 Special "INCLUDE" Section</h2></a> +<a name="heading_11.4.4"><h2>Special "INCLUDE" Section</h2></a> <p> A special section may be specified in any INI file called $INCLUDE. @@ -3351,14 +3351,14 @@ immediately after). In general, you should not depend on files being processed in any particular order. -<a name="heading_11.4.5"><h2>11.4.5 Limits</h2></a> +<a name="heading_11.4.5"><h2>Limits</h2></a> <p> Certain limits which apply to the OECN$SETUP.INI file are shown in the table below. Limits are 'per entry' unless otherwise noted. <p> <table border=3> - <caption><a name="Table_11-1"><strong>Table 11-1 wide</strong></a></caption> + <caption><a name="Table_11-1"><strong> wide</strong></a></caption> <tr> <th align=center>Attribute </th> <th align=center>Maximum Length </th> @@ -3577,7 +3577,7 @@ </table> </center> -<a name="heading_11.5"><h1>11.5 EMIS_SELECT Compatibility</h1></a> +<a name="heading_11.5"><h1>EMIS_SELECT Compatibility</h1></a> <p> The /EMIS qualifier provides functional compatibility with the @@ -3657,7 +3657,7 @@ </table> </center> -<a name="heading_11.5.1"><h2>11.5.1 Converting OECN$EMIS_DBS to OECN$SETUP</h2></a> +<a name="heading_11.5.1"><h2>Converting OECN$EMIS_DBS to OECN$SETUP</h2></a> <p> It is possible to completely convert from using the OECN$EMIS_DBS file @@ -3696,7 +3696,7 @@ </table> </center> -<a name="heading_11.6"><h1>11.6 NOACSC Compatiblity</h1></a> +<a name="heading_11.6"><h1>NOACSC Compatiblity</h1></a> <p> SETUPENV is similar to the USE, BUNNY, and FROG utilities provided by @@ -3731,7 +3731,7 @@ This should allow SETUPENV to be used without modifying any existing command procedures. -<a name="heading_11.6.1"><h2>11.6.1 USE Compatibliity</h2></a> +<a name="heading_11.6.1"><h2>USE Compatibliity</h2></a> <p> If /USE is specified as the first qualifier to SETUPENV, then the @@ -3813,7 +3813,7 @@ </ul> -<a name="heading_11.6.2"><h2>11.6.2 BUNNY Compatibility</h2></a> +<a name="heading_11.6.2"><h2>BUNNY Compatibility</h2></a> <p> If /BUNNY is specified as the first qualifier to SETUPENV, then the @@ -3926,7 +3926,7 @@ ARCHIVE attribute for the selected entry. </ul> -<a name="heading_11.6.3"><h2>11.6.3 FROG Compatibility</h2></a> +<a name="heading_11.6.3"><h2>FROG Compatibility</h2></a> <p> If /FROG is specified as the first qualifier to SETUPENV, then the @@ -4028,11 +4028,11 @@ <p> -<a name="heading_11.7"><h1>11.7 OECN$SETUPENV API</h1></a> +<a name="heading_11.7"><h1>OECN$SETUPENV API</h1></a> SETUPENV provides a callable API which can be used by programs to select entries. The API parallels the qualifier functions and syntax. -<a name="heading_11.7.1"><h2>11.7.1 Working Storage Field(s)</h2></a> +<a name="heading_11.7.1"><h2>Working Storage Field(s)</h2></a> <p> <center> @@ -4100,7 +4100,7 @@ <p> -<a name="heading_11.7.2"><h2>11.7.2 COBOL Call Arguments</h2></a> +<a name="heading_11.7.2"><h2>COBOL Call Arguments</h2></a> <table border=0> <tr> @@ -4141,7 +4141,7 @@ </table> </center> -<a name="heading_11.7.3"><h2>11.7.3 Argument Descriptions:</h2></a> +<a name="heading_11.7.3"><h2>Argument Descriptions:</h2></a> <blockquote> <strong>WS-FUNCTION (read)</strong> @@ -4267,7 +4267,7 @@ </blockquote> </blockquote> -<a name="heading_11.7.4"><h2>11.7.4 Return Status</h2></a> +<a name="heading_11.7.4"><h2>Return Status</h2></a> <p> OECN$SETUP returns one of the following conditions: @@ -4320,7 +4320,7 @@ </tr> </table> -<a name="heading_11.7.5"><h2>11.7.5 Description</h2></a> +<a name="heading_11.7.5"><h2>Description</h2></a> <p> The OECN$SETUPENV routine does basically everything that the SETUPENV @@ -4344,9 +4344,9 @@ <p> <hr size=5> -<a name="sysman_ump_chap"><h1>Chapter 12<br>Installing and Using UMP - User Mail Profile System</h1></a> - -<a name="heading_12.1"><h1>12.1 Overview</h1></a> +<a name="sysman_ump_chap"><h1>Installing and Using UMP - User Mail Profile System</h1></a> + +<a name="heading_12.1"><h1>Overview</h1></a> <p> The UMP package provides a means for DA-sites to maintain user e-mail @@ -4356,7 +4356,7 @@ which permits an easy way to lookup an e-mail address for any user on the OECN network. -<a name="heading_12.1.1"><h2>12.1.1 Feature List</h2></a> +<a name="heading_12.1.1"><h2>Feature List</h2></a> <p> UMP provides the following features: @@ -4392,7 +4392,7 @@ if they wish to update their user mail profile during login. </ul> -<a name="heading_12.1.2"><h2>12.1.2 Web Attachments for OECN state-wide mail</h2></a> +<a name="heading_12.1.2"><h2>Web Attachments for OECN state-wide mail</h2></a> <p> A special feature of the OECN state-wide lists is the ability to @@ -4426,7 +4426,7 @@ encouraged not to switch existing users to web attachments without training or notification. -<a name="heading_12.1.2.1"><h3>12.1.2.1 Enabling Web Attachments</h3></a> +<a name="heading_12.1.2.1"><h3>Enabling Web Attachments</h3></a> <p> Web attachments are only enabled for each DA Site upon request. If you @@ -4446,7 +4446,7 @@ yourself. Only the OECN listmaster can make the change that affects the OECN mail server. -<a name="heading_12.1.3"><h2>12.1.3 Files</h2></a> +<a name="heading_12.1.3"><h2>Files</h2></a> <p> The following sections describe the files used and produced by the UMP @@ -4583,7 +4583,7 @@ </tr> </table> -<a name="heading_12.2"><h1>12.2 UMP Menu and Profile Screen</h1></a> +<a name="heading_12.2"><h1>UMP Menu and Profile Screen</h1></a> <p> The program may be executed by typing: @@ -4806,7 +4806,7 @@ </pre> </table> -<a name="heading_12.3"><h1>12.3 Startup Procedure</h1></a> +<a name="heading_12.3"><h1>Startup Procedure</h1></a> <p> Follow the steps below to install UMP on your system: @@ -4831,7 +4831,7 @@ <p> -<a name="heading_12.4"><h1>12.4 Loading Initial Data</h1></a> +<a name="heading_12.4"><h1>Loading Initial Data</h1></a> Load existing distribution lists. If using NM style distribution lists, then use: <br> @@ -4861,7 +4861,7 @@ essentially "merges" the NM and PMDF lists. This might be useful if you are uncertain which of your lists is more correct. -<a name="heading_12.5"><h1>12.5 Importing Other Lists</h1></a> +<a name="heading_12.5"><h1>Importing Other Lists</h1></a> <p> The IMPORT_NM_LISTS.COM and IMPORT_PMDF_LISTS.COM only import the @@ -4898,13 +4898,13 @@ using UMPIMPORT.EXE. <p> -<a name="heading_12.6"><h1>12.6 INI File Commands</h1></a> +<a name="heading_12.6"><h1>INI File Commands</h1></a> The following INI commands are used in either the OECN$UMP_LOCAL.INI or the OECN$UMP_STANDARD.INI files. The following is a summary of these commands. See either of these files for more examples of their use. <p> <table border=3> - <caption><a name="Table_12-1"><strong>Table 12-1 Table of INI File Commands</strong></a></caption> + <caption><a name="Table_12-1"><strong> Table of INI File Commands</strong></a></caption> <tr> <th align=center> </th> <th align=center>Command </th> @@ -5390,7 +5390,7 @@ <hr> <p> -<a name="heading_12.7"><h1>12.7 Export NM and PMDF Style Lists</h1></a> +<a name="heading_12.7"><h1>Export NM and PMDF Style Lists</h1></a> A procedure called OECN$:EXPORT_LISTS.COM to is used to create the NM and PMDF style distribution lists and associated aliases. It is recommended that each DAS write a custom DCL procedure which invokes @@ -5510,7 +5510,7 @@ databases into PMDF_TABLE:. </ul> -<a name="heading_12.7.1"><h2>12.7.1 Centralized Naming</h2></a> +<a name="heading_12.7.1"><h2>Centralized Naming</h2></a> <p> This section describes several ways in which UMP can be used to provide @@ -5520,7 +5520,7 @@ you are already familar with the basic concepts of centralized naming in PMDF. -<a name="heading_12.7.1.1"><h3>12.7.1.1 Remote Mail Boxes</h3></a> +<a name="heading_12.7.1.1"><h3>Remote Mail Boxes</h3></a> <p> UMP can provide centralized naming for users who have "remote" @@ -5590,7 +5590,7 @@ the username or alias on the UMP profile (not the username in the mailbox field). -<a name="heading_12.7.1.2"><h3>12.7.1.2 User Aliases</h3></a> +<a name="heading_12.7.1.2"><h3>User Aliases</h3></a> <p> UMP provides the ability to create a user-specific alias independent of @@ -5635,7 +5635,7 @@ are disabled by default. The DAS must take explicit action (see below) to implement this feature. -<a name="heading_12.7.1.2.1"><h4>12.7.1.2.1 Implementing User Aliases</h4></a> +<a name="heading_12.7.1.2.1"><h4>Implementing User Aliases</h4></a> <p> The following steps must be performed in order to activate the user @@ -5653,7 +5653,7 @@ invokes EXPORT_LISTS.COM. </ol> -<a name="heading_12.8"><h1>12.8 Distribution List Codes</h1></a> +<a name="heading_12.8"><h1>Distribution List Codes</h1></a> <p> Each distribution list code has a "type" prefix. The type value allows @@ -5836,7 +5836,7 @@ This will restrict all type 11 lists to users who are also subscribed to the standard DAS staff list. -<a name="heading_12.9"><h1>12.9 Auto Conversion of Distribution List Codes (Optional)</h1></a> +<a name="heading_12.9"><h1>Auto Conversion of Distribution List Codes (Optional)</h1></a> <p> Because of the features provided by the distribution list types, it may @@ -5887,7 +5887,7 @@ old and new codes on file. In this case, you may run the UMPUPDATE program to force the conversion on all records. -<a name="heading_12.10"><h1>12.10 Defining Local Distribution Lists</h1></a> +<a name="heading_12.10"><h1>Defining Local Distribution Lists</h1></a> <p> To define a local distribution list, you need to add several additional @@ -5981,7 +5981,7 @@ sublists. Also, mail addressed to the master list will be delivered to everyone on any of the sublists. -<a name="heading_12.11"><h1>12.11 Profile Group Management</h1></a> +<a name="heading_12.11"><h1>Profile Group Management</h1></a> <p> UMP provides the ability to segregate profiles into <strong>management @@ -6080,7 +6080,7 @@ control which profiles are sent to the OECN White Pages, then the correct values must be provided to the group manager. -<a name="heading_12.12"><h1>12.12 Export DIRECTORY DAEMON File (optional)</h1></a> +<a name="heading_12.12"><h1>Export DIRECTORY DAEMON File (optional)</h1></a> <p> You have the option of exporting to a DIRECTORY DAEMON database. @@ -6163,7 +6163,7 @@ See the PMDF System Adminstrators Guide for more information about the directory daemon, channels and pseudo-domains. -<a name="heading_12.13"><h1>12.13 Submit UMP Data to OECN CSO Database</h1></a> +<a name="heading_12.13"><h1>Submit UMP Data to OECN CSO Database</h1></a> <p> The CSO nameserver is a public domain software system which allows a @@ -6231,7 +6231,7 @@ username@po.nwoca.org regardless of their real host. In this way, remote users will not learn the real host name (which may change). -<a name="heading_12.14"><h1>12.14 Master List/Sub-list Handling</h1></a> +<a name="heading_12.14"><h1>Master List/Sub-list Handling</h1></a> <p> Starting with the 29-Aug-95 version of UMPEXPORT, the master lists are @@ -6289,7 +6289,7 @@ </table> </center> -<a name="heading_12.15"><h1>12.15 UMPCHECK - Verifying UMP Profiles against SYSUAF (Optional)</h1></a> +<a name="heading_12.15"><h1>UMPCHECK - Verifying UMP Profiles against SYSUAF (Optional)</h1></a> <p> UMPCHECK is a utility which reads the UMP profiles and compares the @@ -6365,7 +6365,7 @@ are the current values of the SYS$NODE and SYS$CLUSTER_NODE logicals. <p> -<a name="heading_12.16"><h1>12.16 UMP_LOGIN - To Prompt Users to Enter Profiles During Login (Optional)</h1></a> +<a name="heading_12.16"><h1>UMP_LOGIN - To Prompt Users to Enter Profiles During Login (Optional)</h1></a> UMP_LOGIN.COM may be run during login to determine if the user has ever modified their own profile. If they have not entered their profile, UMP_LOGIN will ask them if they would like to do so immediately and @@ -6383,7 +6383,7 @@ install OECN$:UMPMODIFIED.EXE as a known image to speed up the login process. -<a name="heading_12.17"><h1>12.17 UMPID2DIS - Creating Distribution Lists from VMS Identifiers (Optional)</h1></a> +<a name="heading_12.17"><h1>UMPID2DIS - Creating Distribution Lists from VMS Identifiers (Optional)</h1></a> <p> UMPID2DIS.EXE is an optional utility which builds PMDF style @@ -6487,7 +6487,7 @@ <br> $ EXIT -<a name="exam_build_proc"><h1>12.18 Example Procedure for Periodic Rebuilds</h1></a> +<a name="exam_build_proc"><h1>Example Procedure for Periodic Rebuilds</h1></a> <p> Periodically, each site should run EXPORT_LISTS.COM to update the @@ -6665,7 +6665,7 @@ <p> -<a name="heading_12.19"><h1>12.19 Multiple Non-Clustered Systems</h1></a> +<a name="heading_12.19"><h1>Multiple Non-Clustered Systems</h1></a> DAS's with a single VMS system, or a single VMS cluster, need not be concerned with this section. @@ -6730,7 +6730,7 @@ one that needs to run the EXPORT_LISTS.COM to produce the mail_ and oecn_ for your DAS. -<a name="heading_12.20"><h1>12.20 Programming Considerations</h1></a> +<a name="heading_12.20"><h1>Programming Considerations</h1></a> <p> DAS programmers may wish to use DTR, COBOL or other high level language @@ -6773,7 +6773,7 @@ </tr> </table> -<a name="heading_12.20.1"><h2>12.20.1 Field Requirements</h2></a> +<a name="heading_12.20.1"><h2>Field Requirements</h2></a> <p> Some fields in UMP may display to the user differently than is @@ -6804,7 +6804,7 @@ <p> <hr size=5> -<a name="vfc2pdf_chap"><h1>Chapter 13<br>VFC2PDF - Converting Text Files to PDF Format</h1></a> +<a name="vfc2pdf_chap"><h1>VFC2PDF - Converting Text Files to PDF Format</h1></a> <p> VFC2PDF converts VFC or plain text files into PDF (Portable Document