home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d01xx / d0176.lha / HyperNet / HypNet.Txt < prev    next >
Text File  |  1989-02-04  |  6KB  |  141 lines

  1. Hyper-Net
  2. (aka HyperKludge)
  3.  
  4.                               By Glenn Everhart 9/4/1988
  5.  
  6.  
  7.     Hypertext systems come in two flavors: the text-based ones,
  8. in which pointers are from parts of text/graphics/etc. files to
  9. other parts of such files, and card-based systems. In these, the
  10. pointers are from "cards" to other "cards". The first type is very
  11. much nicer to use for documents, since very fine-grained cross references
  12. are possible. However, it tends to require that all accesses to the
  13. data be via hypertext-aware tools. The "card" type systems (e.g.
  14. NoteCards) are much easier to deal with, at the cost of coarser-
  15. grained linkages.
  16.     HYPNET (which I initially planned to call HyperKludge) is
  17. a very simple hypertext card type system designed to be usable on
  18. just about anyone's system.
  19.     It can be thought of as a directed graph or network of nodes
  20. which have arbitrary interconnections.
  21.     You move from one "node" to another "node", and at each one
  22. you can perform some action. These actions might be things like
  23. editing files, viewing text, drawing graphs, retrieving data, or
  24. the like. At each node, you can follow the paths of the graph to
  25. other nodes. Also, your actions are allowed to alter the paths
  26. permitted. This is a bit like a menu system, but differs from
  27. some menu systems in that it is NOT hierarchical. On a windowed
  28. system, the actions would be spawned with no waiting, so that
  29. several could be active at a time. To allow HYPNET to run on any
  30. terminal, I used default LIB$SPAWN, so this concurrency will not
  31. normally appear. (Of course, if the action is a SPAWN/NOWAIT,
  32. it may appear even so, but the exit of the "parent" spawn will
  33. probably kill it.) A later refinement may allow selection of
  34. wait/nowait for spawns.
  35.     One use of such a beast is to provide a more "random access"
  36. document, consisting of a bunch of files. One might have, for
  37. example, a set of one-chapter files with movement allowed back
  38. to the contents, introduction, or some general appendices at
  39. any time, and some movement across chapters where non-sequential
  40. threads of interest can be defined. By editing the node and link
  41. lists, you can grow such a network as you go, too.
  42.  
  43.     The following file is for the mini-hyper-notecard system
  44. HypNet.For. It is expected to be available in the current directory
  45. and be named HYPDAT.DAT.
  46.   Rules are as follows:
  47.   1. Nodes have + in column 1. When a node is active, the command
  48.      (follows the nodename line and has a $ in column 1) is spawned,
  49.      and then a menu is displayed showing successor nodes. These have
  50.      > in column 1 and must match nodenames EXACTLY (case, too.)
  51.      Selection of a successor node then locates THAT node and fires
  52.      off ITS command, and so on...
  53.     Actually, if the command has a & in column 1, it will be
  54.      fired off with SPAWN/NOWAIT instead of just SPAWN.
  55.   2. There MUST be a node named START someplace in the file. It is
  56.      where the system starts up when initially begun.
  57.   3. Node names can be long. Up to about 75 characters are available.
  58.   4. Any legal VMS command can be used. Spawn/nowait is available for
  59.      asynchronous operation. (Use & in col 1 for this behavior.)
  60.   5. Viewing the network or changing it is accomplished (kludge! ecch!)
  61.      by editing this file or looking at it. (Hey: this is a text mode
  62.      program and if you want something better, YOU can always add to it.)
  63.   6. Access is sequential (for now; another big PFBBTPHBFPHBFHTBTTT) but 
  64.      this file is closed during all command executions, so edits to it
  65.      take effect next time around.
  66.   7. A menu selection of item 99 restarts things. Invalid file formats
  67.      may lead to program exits. Status of the lib$spawn is currently
  68.      not checked, however.
  69.   8. A VT100 or other similar ANSI terminal is assumed. Only minimal
  70.      ANSI support is needed, though, namely clear screen and cursor
  71.      positioning. That stuff is all in separate subroutines. Fix
  72.      it yourself if you want for other terminals.
  73.   9. Up to 16 successor nodes can be defined at any node. No more for
  74.      now. There has to be SOME limit, and I hope that's more than
  75.      anyone will need. If it isn't, define some more nodes to keep
  76.      your nodes from getting too dense.
  77.  10. There is no logical limit to the size of a network. However, this
  78.      version has no limit to how long it'll take finding anything,
  79.      either. Smallish is beautiful.
  80.  11. Reply 99 to successor number to go back to start. Reply 98 to
  81.      exit the program.
  82.  12. In the Amiga version of the program, a command line with second
  83.      character & will automatically have an ENDCLI issued after the
  84.      action completes. Initial character $ will issue NEWCLI and initial
  85.      character & will issue NEWSHELL (AmigaDos 1.3 command) in column
  86.      1 for the action lines. Commands are passed to the shells via
  87.      scratch files in ram:. There are 9 unique filenames used in
  88.      succession, a crude attempt to avoid problems with shells that
  89.      remain active with locked input files for extended periods. This
  90.      is not a problem with the VMS version.
  91.  
  92.     Enjoy, and please make updates or enhancements to this thing
  93.     available via DECUS too.
  94.         Glenn Everhart
  95.  
  96.  
  97.   (example below of a crude script. Try the HYPDAT.DAT script on Amiga
  98.    for a working script that does a small amount of useful stuff on
  99.    Amiga.)
  100.  
  101. +START
  102. $edit HYPDAT.DAT
  103. >node1
  104. >node2
  105. +node1
  106. $t node1.txt
  107. >node2
  108. >node3
  109. >node4
  110. +node2
  111. $t node2.txt
  112. >node1
  113. >node5
  114. >node6
  115. +node3
  116. $li node*.txt
  117. >node5
  118. >node1
  119. >node6
  120. +node4
  121. $t node4.txt
  122. >node1
  123. >node6
  124. +node5
  125. $t node5.txt
  126. >node1
  127. >node3
  128. >node6
  129. +node6
  130. $t node6.txt
  131. >node4
  132. >node1
  133. >node3
  134. ; example database for hyper-network
  135. ; each node has plus in front, followed by what that node
  136. ; should do. Links are preceded by greater-than. The commands
  137. ; are preceded by dollar sign. Ordinarily the node network
  138. ; node names would be more meaningful than here; this is just
  139. ; for testing. - Glenn Everhart
  140. ;  HyperKludger....
  141.