;;; -*- Mode:GATE; Fonts:(CPTFONTB METS); Base:10 -*- ;;; -*- Mode:GATE; Fonts:(CPTFONTB METS); Base:10 -*- =Node: Welcome to LMI-ODM =See-also: @ LMI-ODM Overview =Text: 1 Welcome To LMI-ODM The LMI Online Document Manager* To read an overview of ODM, mouse "ODM-Script" in the top middle pane. Wait while a new node is displayed in this pane. Then in the new node, mouse the entry "LMI-ODM Overview". To get help with ODM, press the key. Then type the letter O to list the ODM commands. ;;; -*- Mode:gate; Fonts:(HL12 HL12I HL12B CPTFONTB HL12BI HL12B HL12I HL12BI) -*- =Node: LMI-ODM Overview =Text: 3LMI-ODM OVERVIEW* ODM is the Lambda facility for reading and writing online documentation. Anyone can use ODM; programming experience is not required. It allows you to read and modify existing documentation and write your own. For example: Programmers can look up information as they program. While modifying software, they can switch to ODM and modify the appropriate documentation. Writers and applications users can access and update online documentation. They can also create new documents using bits of information from all over the database. ODM uses a regular ZMACS frame to display and edit its information, which is what you're looking at now. To see the next screenful of information, type a CTRL-V. Currently, ODM contains the following online documentation: ODM Script - A short introduction to ODM. LISP Machine Manual Index to the LISP Machine Manual ZMACS Commands Reference For complete documentation on ODM, read the hardcopy manual called ``ODM User Manual''. This document contains a tutorial with explicit instructions for both reading and writing in ODM, which leads you from login to clearing the ODM directory. If you prefer, you can continue to read the ODM-Script online; however, be aware that this is just an introduction and not a tutorial. When you're finished reading this information, you should move to the next node of information by mousing the command "Next Node" in the command menu on the right of the screen. You can continue through the ODM-Script in this manner. ;;; -*- Mode:gate; Fonts:(HL12 HL12I HL12B CPTFONTB HL12BI HL12B HL12I HL12BI) -*- =Node: Indexing in ODM =Text: 3INDEXING IN ODM* A large index to the LISP Machine Manual is available for finding information. To use the index, mouse "Select Index" on the menu at the right of your screen. ;;; -*- Mode:gate; Fonts:(HL12 HL12I HL12B CPTFONTB HL12BI HL12B HL12I HL12BI) -*- =Node: Related Information References =Text: 3RELATED INFORMATION REFERENCES* A node can refer a reader to other nodes on related subjects. These are called related information references. You may modify or add your own references. These references are made with the "SEE-ALSO:" attribute-value pair. Its value is a list of node names, similar to a script's list of node names. Here's how to create a related information reference between two existing nodes. Suppose you want node-1 to reference node-2. Call the command for modifying node-1. Now all you need to do is insert a "SEE-ALSO:" attribute-value pair. By convention, this is added near the beginning of the node, just after the "NODE:" attribute-value pair. The "SEE-ALSO:" attribute-value pair looks like: =See-also: @ (filename)nodename in which "=SEE-ALSO:" is the attribute and the value "@(filename)nodename" contains the filename and nodename for node-2. You can add other references by listing other nodes as values. When finished, save the node. Note that this is the way nodes are listed in Scripts. A node may contain any number of related information references. ;;; -*- Mode:gate; Fonts:(HL12 HL12I HL12B CPTFONTB HL12BI HL12B HL12I HL12BI) -*- =Node: How ODM Stores Information: Nodes =Text: 3HOW ODM STORES INFORMATION: NODES* ODM stores information in nodes. Nodes are units of information. Each unit of information in ODM is kept as a node. A node can store many kinds of information such as text or code. Nodes are stored in files, like any other data. However, each node exists independently of all other nodes, no matter what file it is in. From the programmer's point of view, nodes are lists of attributes and their values. Attributes specify node and file names, related information references and indexes, and the type of data contained in the node. ;;; -*- Mode:gate; Fonts:(HL12 HL12I HL12B CPTFONTB HL12BI HL12B HL12I HL12BI) -*- =Node: How ODM Organizes Information: Scripts =Text: 3HOW ODM ORGANIZES INFORMATION: SCRIPTS* While nodes exist independently of each other, they can be linked explicitly in scripts. A script is a type of node also. Instead of containing text, it contains a list of node names. Each of the node names is a pointer to the actual node that it names. Scripts are the means of linking independent nodes together into larger structures like documents, tutorials, or guides. Simply by switching the order of node names in the script, you can change the structure of a document. A node can be pointed to by any number of scripts. This allows the same information to be used in different contexts. Updating the information centrally, in the node where it is stored, automatically updates all the contexts in which it is used. To create a script node from scratch, mouse "Create Node" on the menu and fill in the resulting menu. To make a script from a collection of nodes, mouse the "Generate Script Node" command. The first option on the menu lists six different node lists. The node names on the list you select will automatically be placed in the new script when it is generated. You can then modify this node as you wish. This command saves you from having to type in the file and nodes names. ;;; -*- Mode:gate; Fonts:(HL12 HL12I HL12B CPTFONTB HL12BI HL12B HL12I HL12BI) -*- =Node: Formatting =Text: 3FORMATTING* Version 1.0 LMI-ODM does not support formatting. However, if you have your own formatter inhouse, you can create a document with ODM, and then transfer the information to to the system running your own formatter. Make a script of the new document using "Create Node" or "Generate Script Node". You can use both LMI nodes and your own nodes. Now, using the script as your guide, make a new file in which to copy all the information from each data node in the script. Remove the ODM-specific information and substitute your own formatting commands. Transfer the file to the machine running your formatter. Depending on your networking, you may be able to just write it to that system from ZMACS using CTRL-X CTRL-W. A future version of ODM will contain a TeX-based, extensible formatter that is optimized for documenting LISP and other AI applications. ;;; -*- Mode:gate; Fonts:(HL12 HL12I HL12B CPTFONTB HL12BI HL12B HL12I HL12BI) -*- =Node: Printing in ODM =Text: 3PRINTING IN ODM* To print individual nodes, mouse "Print Data" on the command menu while the node is displayed. Future versions of ODM will have more complete printing facilities. For example, you will be able to select a script node and have it print each node in its list. ;;; -*- Mode:gate; Fonts:(HL12 HL12I HL12B CPTFONTB HL12BI HL12B HL12I HL12BI) -*- =Node: Embedded Cross-References =Text: 3EMBEDDED CROSS-REFERENCES* ODM provides embedded cross-references in data nodes. A cross-reference is in bold italic font and has the same format as a nodename in a script. That is, it looks like: 7(filename)node name* If you mouse a cross-reference, the node it names will be displayed. ;;; -*- Mode:gate; Fonts:(HL12 HL12I HL12B CPTFONTB HL12BI HL12B HL12I HL12BI) -*- =Node: SUPER-. =Text: 3SUPER-.* ODM provides the SUPER-. (super-point, or super-dot) facility for LISP forms in data nodes. SUPER-. is similar to META-. (Edit Definition) in ZMACS. If a LISP form is in bold font and is mouse-sensitive (e.g. 5form*), then when you select it with the mouse, the node containing documentation on that LISP form is displayed. ;;; -*- Mode:gate; Fonts:(HL12 HL12I HL12B CPTFONTB HL12BI HL12B HL12I HL12BI) -*- 3=Node: Zmacs Commands Reference =Text: ZMACS COMMANDS REFERENCE* To find the ZMACS command(s) to accomplish some task, type  A. Then enter a brief string that describes what you want to do. ZMACS will list all available commands (if any) whose names contain the string you typed, and will indicate the keystroke(s) necessary to invoke each one. To determine what command will be executed for any keystroke(s), type  C. Then enter the keystroke(s). ZMACS will print the name of the command (if any) that the keystroke(s) invoke when typed directly to ZMACS. A complete ZMACS Commands Reference will be part of LMI-ODM Release 2.