;;; -*- 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 <HELP> 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.