                        C O N T R O L S   O V E R V I E W
    ------------------------------------------------------------------------
    <Left Arrow>                  Move to parent item
    <Right Arrow>                 Move to top subitem
    <Up Arrow>                    Move up one group item or tree
    <Down Arrow>                  Move down one group item or tree
    <PgUp>                        Move to top group item or tree
    <PgDn>                        Move to bottom group item or tree
    <Home>                        Move to root item of current tree
    <Ctrl-Left Arrow>             Decrease view window field by one level
    <Ctrl-Right Arrow>            Increase view window field by one level
    <Spacebar>/<Tab>              Move menu highlight one right
    <Backspace>/<Shift-Tab>       Move menu highlight one left
    <Menu choice 1st letter>      Move menu highlight to desired choice
    <Enter>                       Execute highlighted menu function
    <Esc>                         Exit program or Notes menu
    <Ctrl-F> = Find               Enact a search for any item
    <F1>                          Display this information
    ---------Shortcut Keys--------------------------------------------------
    <Ctrl-V>                      View any information on item (Memo)
    <Ctrl-P>                      Show current location in tree (Path)
    <Numeric keys corresponding
    to same keys as top 7 listed above>
    = w/ Num Lock on 
    = <Shift+Key> w/ Num Lock off
                                  Store movement controls (top 7 above)
                                  (Bypasses screen changes in window)
    <End>                         Jump to item attained by storing controls
    ------------------------------------------------------------------------
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    The  preceeding  info  and  the  following documentation are copyrighted 
    works  of  the author and should not be altered in any way. Editing this 
    information  (TREEBASE.TXT)  may  subsequently result in program failure 
    when  later  trying  to  access the info on-line. If you haven't done so 
    already,  please  read the file READTHIS.INF for additional information. 
    The documentation consists of four parts:
                     
                     Part 1)  Introduction              P. 2
                     Part 2)  The TREEBASE Environment  P. 3
                     Part 3)  The Sample Data           P. 4
                     Part 4)  Program Operation         P. 4 - 8
    
    
                         DOCUMENTATION FOR TREEBASE 1.0
    
    I. Introduction
    
    A  seemingly vast array of database software exists on the market today. 
    Very  little  of  it  appears  to  be  concerned  with  the  creation of 
    hierarchical  databases.  An exception is TREEBASE, a truly hierarchical 
    database  manager.  Here, the user defines the structure of the database 
    and  then  records  are  placed  at  specific  locations in the database 
    according  to  that structure. This entails the assignment of records to 
    a  specific rank or level, via categories. The placing of records in the 
    structure  results  in  data trees, which themselves in turn signify and 
    graphically display the hierarchical relationships among the data. 
    
    What  constitutes hierarchical data? Any item that can be divided into a 
    grouping  of related subitems, each of which can be divided further, and 
    so  on. The directory structure of DOS would be such an example. An item 
    may  constitute  a name of a person, idea, thing, etc. In TREEBASE, each 
    item  is an individual record in the database, no matter where it occurs 
    in a data tree. Unlimited information may be kept on any item in a free-
    form  text  (memo)  field.  It  is  entirely up to the user to decide on 
    which items to keep notes, since not all may be applicable. 
    
    TREEBASE  can  hold a maximum of 32767 record items per database, spread  
    over   as  many trees as required by the user. A tree consists of a root 
    item  and  any optional branches and sub-branches. Data need not be kept 
    in  complex  trees;  records may consist of root items only. The purpose 
    is  for  the  user  to  organize  the  info as he/she desires. Items do, 
    however,  require  the  assignment  to  a  category before adding to the 
    database.  This  will  allow  the grouping of items in trees later on if 
    desired.   Individual  items,  trees,  and  portions  of  trees  may  be 
    conveniently  moved  around  and  attached  to  other  locations  in the 
    database.  This  allows  for regrouping after the addition of new items, 
    as  well as for the correction of misplaced items. New categories, up to 
    22  in  all,  may  be  added  anytime.  Therefore, the maximum number of 
    levels a tree can have is 22.
    
    TREEBASE  has  both  specific and general uses. It is ideal for items of 
    information  that  fall  neatly into a hierarchical structure by ranking 
    at  a  certain level (known as classifying). Other uses include grouping 
    items  under common ideas as a way of organizing information and keeping 
    notes  on  related  pieces  of  information together (like a common word 
    processor  drawer).  Or, information may be kept in true outline form in 
    the  tree  structure  and then elaborated upon using the notes. TREEBASE 
    has  potential  educational  uses. Information entered beforehand can be 
    subsequently  used as a learning tool to display the relationships among 
    items  and  facts  on  those items (placed in the notes). Another use of 
    data  trees  is  to  display a multilevel directory of a certain type or 
    purpose.  The  program  is  also  an  ideal  way to display geneological 
    relationships  among  families of individuals. In all cases, however, it 
    is  up  to  the  user  to  define  the  category  structure  on which to 
    establish the data. This often involves some forethought.
    
    
                                        2
    
    
    II. The TREEBASE Environment
    
    Once  understood,  TREEBASE  is  easy  to maneuver. Accomplished through 
    user  interaction of key controls, desired items can be brought into the 
    field  of view. This occurs in the view window, the central component of 
    TREEBASE.  The  screen  on  which  the  view  window  may  be  found  is 
    considered  to  be the main screen. Above the view window is the program 
    menu.  Below  is  the  database key. The key indicates the categories of 
    items  displayed  in  the  view  window  by  field  location  and  color 
    reference.  The  triangle  in  the  upper left corner of the view window 
    indicates  the  current  item,  which has a special significance. To the 
    immediate  right of the indicator, the current item is the item on which 
    you  may  perform program functions, such as move, delete, and memo. New 
    subitems  are  also  added to the database at the current item. If notes 
    exist  for  the current item, the current indicator is a flashing green; 
    if no notes, a flashing red. 
    
    The  controls summary at the beginning of the documentation displays all 
    the  valid keypresses which can be utilized on the main screen. Refer to 
    it  as  needed (F1) to operate TREEBASE. Information is displayed in the 
    view window according to the following conventions:
    
    **  From one to six view levels may be displayed at one time.
    **  The default number of view levels displayed is four.
    **  A view level is defined by a vertical column of data items which may 
    cross various distinct trees and/or branches.
    **  A  view  level  is not necessarily confined to all items of the same 
    category  or  even  related  items, just all items displayed in the same 
    column.
    **  Increasing  the  view field generally spreads data out and increases 
    branching; decreasing moves item closer together and lessens branching.
    **  A  tree  lies  on a horizontal, not vertical, axis and proceeds from 
    left (root - general) to right (increased branching - specific).
    **  Immediately  related  items (subitems), grouped under, by attachment 
    to,  a  common  item,  known as a "parent", will appear in the column to 
    the right of the item and list vertically (in one view level)
    **  Every  item  in  the  database is a subitem, or "child", of a parent 
    item  to the left one level, with the exception of a root item, which is 
    the lowest point (convergence) of the tree.
    **  All  listed subitems of an item may not be observed from the vantage 
    point  of  that  item  if the list includes many items and/or subsequent 
    branching  is  excessive.  Starting  the  program  for higher resolution 
    screen  modes  (43  or  50  lines)  will  reduce this drawback somewhat. 
    (Refer  to  the file READTHIS.INF for information on how to do this.) In 
    addition,  decreasing  the view field by one or more levels will usually 
    bring  subitems  closer  together and therefore into view. In all cases, 
    the  Find  (Ctrl-F)  feature can be utilized to bring any item into view 
    by making it the current item.
    **   For  each view level, up to three distinct, non-repeatable names of 
    categories  to  which  the items belong, in the same order of appearance 
    as  in  the column, will appear in the same column below the view window 
    in  the  database  key.  The  color  coding of items to their respective 
    categories greatly enhances the utility of this feature.
    
                                        3
    
    
    III. The Sample Data
    
    Included  with  TREEBASE  is  data  consisting  of the world's political 
    geography  grouped  arbitrarily  into  four  regional trees: Eastern and 
    Western  Hemispheres,  Pacific  Ocean,  and  Antartica. Included are the 
    countries  of  the  world,  their  major dependancies, and other various 
    divisions  of  importance,  both  political  and  regional.  The data is 
    included  as  an  example of the possible uses of TREEBASE. For example, 
    suppose  you  wanted  to  keep information on all the major geographical 
    divisions  of  the  world.  You might enter and thus arrange it in a way 
    meaningful  to  you, like by region as in the sample data. This way, the 
    classification  scheme  you  devise  to organize your data already tells 
    you  a great deal about it just by viewing in TREEBASE. In addition, you 
    might  want  to  keep  notes  about the places you've visited, important 
    facts  about  those  places, or anything else you want in the memo field 
    notes.
    
    Nothing  has  been  placed in the memo notes of the sample data. You may 
    add  notes to the sample data as you wish. You may also rearrange or add 
    items.  It's  even possible to add more detail, for example, by defining 
    a  category  called "major cities" and then adding them to the database, 
    in  addition  to other possibilities. You can be as detailed as you want 
    when  grouping items, as long as no more than 22 categories are desired. 
    Use  the  sample  data  to  get a feel for the key controls used to move 
    about  within the database (which serve to change the current item). The 
    controls  which  apply  are  the  direction  keys, PgUp, PgDn, Home, and  
    Ctrl-left/right  arrow.  Use Find (Ctrl-F) to search for nations of your 
    choice to see where they are placed in the overall structure.
    
    IV. Program Operation
    
    The  file  READTHIS.INF  has  important information about setting up and 
    maintaining  multiple separate databases. The important fact to remember 
    is  that  only one database is allowed per directory, which must contain 
    all  three data files for proper operation once any records, categories, 
    or  notes  have  been  added. Each time the program is run, any database 
    present  is  accessed  automatically. Or, if there are none, the program 
    starts  a new one automatically. If preferred, completely unrelated sets 
    of  data  may  be  kept  in  the same database as long as enough defined 
    categories exist to support all data items.
    
    Information  concerning  properties  of  the view window can be found in 
    Part  2,  The  Treebase  Environment. The remainder of the program deals 
    with using the menu functions. Their explanations will follow.
    
    ***Add***
    
    All  items  entered  in a database are done so through the Add function. 
    Items  may  be  added to the database only after their intended category 
    has  been  set  up  beforehand. Refer to the section entitled "Category" 
    for  information  on  setting up (defining) categories. A category needs 
    only  to  be set up once, and then it can be assigned to different items 
    repeatedly.
    
                                        4
    
    
    After  selecting  Add on the program menu by first highlighting and then  
    pressing  ENTER,  the  Add  screen  appears. New items may be entered as 
    either  subitems  of  the  current  item  or  as root items to start new 
    trees.  After  entering  the  name  of an item, the intended category of 
    that  item is assigned by choosing its number as displayed at the top of 
    the   screen.  The  restrictions  on  categories  to  assign  will  vary 
    according  to  the level of the current item as defined in the set up of 
    categories.  This means a new subitem may only be assigned a category of 
    a  level  lower  than  that  of  the  current  item.  This  ensures  the 
    preservation  of  hierarchy  among  data items. No restrictions apply to 
    categories  when assigning to a new root item; a root item can be of any 
    category.  The  message  bar at the bottom of the screen will serve as a 
    guide when adding items. 
    
    If  an  new  item has more than 18 characters, the additional characters 
    will  be  lost.  In  the  view  window,  depending on the number of view 
    levels  in  effect, anywhere from one to several end characters of items 
    are  omitted  for  display alignment purposes only. This does not affect 
    the original length of the item as entered.
    
    ***Edit***
    
    Use  Edit to change the name and/or the category of the current item. To 
    preserve   relative   hierarchy   among  items,  restrictions  on  valid 
    reassignment  categories  are  based on the level of the category of the 
    parent item and/or that of any subitems.
    
    ***Move***
    
    Select  Move to rearrange individual trees or branches. A branch/tree to 
    be  moved  begins  with the current item and contains all items included 
    in subsequent branching. Four Move types are permitted:
    
    1)  Move  the  entire  branch/tree  by choosing its new attachment point 
    (new  parent  item).  Utilize normal key controls (direction keys, Find, 
    Path,  etc.)  to  position  this destination item as a temporary current 
    item.  Only  items  which do not violate the defined levels of hierarchy 
    will  be named as a valid attachment item. Choose "P" for Proceed or "C" 
    for  Cancel  or  SPACEBAR  to toggle between the options. Press ENTER to 
    execute.
    
    2)  Detach  an  entire  branch  and  make  it  a  separate tree by using 
    <Ctrl-B>.  The branch attached begins with the current item as indicated 
    after  the  phrase  "Move  :"  and  is not influenced by any destination 
    items  that  may  have  been positioned before deciding to detach. Trees 
    are always placed below the last tree added or detached.
    
    3)  Reposition  the branch beginning with the current item to the bottom 
    of  the  group (under the parent item) by positioning the parent item as 
    a  destination  item.  The  phrase  "< SUBITEM AT END >" appears. Select 
    Proceed to execute.
    
    
    
                                        5
    
    
    4)  Reposition  the  tree  beginning with the current (root) item to the 
    lowest tree in the database by utilizing <Ctrl-B> as in Move #2 above. 
    
    ***Delete***
    
    Use  Delete  to  remove  individual  items  or  branches/trees  from the 
    database,  starting with the current item. Once deleted, items and their 
    respective  note  fields cannot be recalled by the program, although the 
    author may be able to help if contacted shortly thereafter. 
    
    ***Category***
    
    The  Category  section  is  used  to define the set-up structure for the 
    database.  This is done first by assigning a name to a category and then 
    by  assigning  it  a  relative  position  in  the  hierarchy  among  all 
    categories.
    
    After  selecting  Category  on  the  menu,  the  set-up  screen appears. 
    Categories  may  be  added  by pressing F1 or be renamed/repositioned by 
    entering  the  upper-case  letter  corresponding to the appropriate name 
    listed  in  the category table in the upper part of the screen. Refer to 
    message  bar  on  the  bottom  of screen as a guide when on the Category 
    screen.  After  entering  a  category  name,  which  can  be  up  to  12 
    characters  in length, the program will prompt for a "hierarchy number". 
    That  is,  namely,  a  number  from 1 to 99, which serves a purpose none 
    other  than  to  preserve the relative order among the categories. Using 
    this  convention,  added or repositioned categories can be inserted into 
    their  proper  place in the hierarchy without having to reenter them all 
    in  the  proper  order. Placing an intended category  between one higher 
    and  one  lower  in  the  table  simply amounts to assigning a number in 
    between  the  hierarchy  levels of the one higher and the one lower. The 
    categories  always  appear  in  their proper hierarchy in the order from 
    highest  level (lowest number) to lowest level (highest number). This is 
    the same order as depicted when adding items to the database.
    
    Colors  used  to  code data items to their proper categories in the view 
    window  can  be  set  or  changed  by  entering  the  lower-case  letter 
    corresponding  to  the  appropriate  pre-existing category in the table. 
    The  colorval  number for foreground may be from 0 to 31; the number for 
    background  from  0  to  7.  Numbers are used to represent the following  
    standard  colors:  0,  black;  1,  blue;  2,  green; 3, cyan; 4, red; 5, 
    magenta;  6,  brown/yellow;  7,  white;  8,  gray;  (1 to 7) + 8, bright 
    version of color; 16, black; (1 to 15) + 16, blinking version of color.
    
    ***Find***
    
    Use  <Ctrl-F>  to execute. After the phrase "Find What :", you may enter 
    all  or  part  of an item name (search expression). ENTER alone cancels. 
    All  items  which contain the search expression specified will be found. 
    To  restrict  the search to the beginning of words, enter a space before 
    the  search  expression.  If  found, accepting the item makes it the new 
    current  item, while continuing the search will find the next applicable 
    item. You can use <Ctrl-F> within Find to specify a new search.
    
                                        6
    
    
    ***Path***
    
    Selecting  Path  on  the  main  screen menu or by pressing <Ctrl-P> will 
    display  the  current location in the tree, beginning with the root item 
    at  the  top  on  downward to the current item. Items are displayed with 
    the categories to which they belong.
    
    ***Notes Maintenance Functions***
    ***Memo***
    
    The  Memo  function  permits  the  entry  and/or viewing of notes on the 
    current  item.  If  no  notes exist for the current item, executing Memo 
    will  bring  up  a  memo entry field in which to begin placing notes. If 
    notes  exist,  Memo brings up the memo view field. You may also view any 
    notes  by  pressing  <Ctrl-V>  when  on  the  main  screen. You may page 
    through  the various pages by PgUp/PgDn, Home/End, or by entering a page 
    number  to  view.  Refer to the bottom of the entry and view screens for 
    relevant key controls when in the Memo section.
    
    The  separate  screen  pages  of  notes can be edited only one page at a 
    time.  Editing  keys  utilized  in  the memo entry field include Insert, 
    Delete,  Home,  End,  PgUp,  PgDn,  Tab,  Backspace,  and arrow keys. Be 
    careful  when  inserting  lines  in  the  memo  entry  field,  for lines 
    scrolled  off  the bottom of the field do not appear elsewhere; they are 
    lost.  When  on  a blank memo entry field and want to exit after nothing 
    has  been  entered,  you  may  press  ENTER  to the "Save any changes ?" 
    prompt.  No  blank  text  will  be  saved. You may keep as many pages as 
    required  on  any item, which can be added to at any time. Notes in memo 
    fields cannot be searched at this time.
    
    ***Copy, Share, Transfer***
    
    These  three  functions  as  they apply to the notes of the current item 
    permit  the  selection  of  a  destination  item chosen using normal key 
    controls.  The  second  item must presently have no notes. Find <Ctrl-F> 
    and  Path  <Ctrl-P>  may  also  be utilized at this time. Choose "P" for 
    Proceed  or  "C"  for  Cancel or SPACEBAR to toggle between the options. 
    Press ENTER to execute. When done, the current item returns.
    
    Use  Copy  to  duplicate  the  notes  of  the current item by copying to 
    another item.
    
    Transfer  reassigns  the  notes  of the current item to another item. In 
    effect, the current item's notes are deleted.
    
    Share  allows  the  notes  of the current item to be accessed by another 
    item.  No limits are placed on the number of items which may share a set 
    of  notes.  It  is  important  to  remember that any changes made to the 
    notes  will  affect  all shared items. A good practice would be to place 
    the  names  of  all items sharing a set of notes in the notes themselves 
    to  serve  as  a  reference.  Use  Copy  instead  if  you can anticipate 
    subsequent  additions/changes  to  notes  that  should  not apply to all 
    shared items.
    
                                        7
    
    
    ***Delete***
    
    Use  this  function  to  remove  a  set  of notes from the current item. 
    Deleting  notes  which  are  shared with other items will not affect the 
    other  items.  If  unshared,  notes  which  have been deleted may not be 
    recalled.  Choose  "P"  for  Proceed  or  "C"  for Cancel or SPACEBAR to 
    toggle between the options. Press ENTER to execute.
    
    ***Output***
    
    Output  writes  the  notes  of  the  current  item  to  the  output file 
    specified  by  the  user. You may include an optional drive and pathname 
    with  the filename (filespec). See your DOS reference if unfamiliar with 
    these terms. To cancel Output, press ENTER without specifying anything.
    
    You  may  place  the notes of several items in the same file by entering 
    the  same  filename for Output when each is the current item. Select "A" 
    for  Append,  which  adds  notes to the file without overwriting it. Any 
    output  file  created  is  a  standard  ASCII  (text) file, which may be 
    imported  to  any  word  processor  for  editing,  formatting,  and then 
    printing.   You   may   also   print   the   file   directly  by  typing 
    TYPE filename > LPT1  at the DOS prompt. In this case, however, the only 
    formatting  will  consist  of  a  left  margin if you specify one at the 
    required  step in Output. With the margin, info will print as it appears 
    on  the  memo  view screen. There will not, however, be any page breaks. 
    Page  breaks  can be added by importing the file to a word processor. In 
    this  case,  it  will  probably  be  more  convenient to remove the left 
    margin  when  sending output to a file, especially if the word processor 
    to be used already has standard margins set.
    
    
    
    TREEBASE 1.0 - Copyright (C) 1990  Jon Gaboriault - All Rights Reserved
    
