home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / tools / kingfisher / kingfisher.doc < prev    next >
Text File  |  1994-04-16  |  19KB  |  462 lines

  1. KingFisher 2.0
  2. Copyright © 1992-1994 by Udo Schuermann
  3. All rights reserved
  4.  
  5.  
  6.  
  7. 0  NOTICE -----------------------------------------------------------------
  8.  
  9. This document is a preliminary copy that describes some features of
  10. KingFisher 2.0 that may not all be functional.  Please be aware of the fact
  11. that KingFisher 2.0 is currently a BETA release and not a finished product
  12. by any stretch of the imagination.  Much, MUCH, *MUCH* more is coming!
  13. (Just look at what is "hidden" in the menus for a HINT of the future.)
  14.  
  15.  
  16.  
  17. 1  INTRODUCTION -----------------------------------------------------------
  18.  
  19. Despite rapid growth of KingFisher Release 1 (1.0 through 1.40) KingFisher
  20. has retained largely the same interface.  It was my first serious project
  21. for the Amiga, through which I not only learned how to program the machine,
  22. but also how to listen to users and work towards a more flexible solution
  23. that offers the necessary growth potential.
  24.  
  25. The result of this effort is KingFisher 2.0, not just a rewrite of the
  26. original, but a complete redesign of the underlying concepts.  This makes
  27. KingFisher 2.0 a significantly more powerful product.  Alas, it has also
  28. grown somewhat in complexity.
  29.  
  30. This document attempts to outline the concepts behind KingFisher 2.0 to
  31. give you the necessary understanding of what KingFisher has grown up to
  32. become.
  33.  
  34.  
  35.  
  36. 2  FEATURES ---------------------------------------------------------------
  37.  
  38. Before we dwell on the implementation details, let us examine what this new
  39. KingFisher can do for you:
  40.  
  41. 1. You get a fully (proportional) font-sensitive GadTools interface that
  42.    runs in a window on the default public screen.  You can resize this
  43.    window to your heart's content,
  44.  
  45. 2. You can run two or more copies of KingFisher, run them side-by-side in
  46.    their own windows, use one to search, and the other to examine data,
  47.  
  48. 3. You can access more than just a single database!  You can now view the
  49.    Original Fred Fish database (Disks 1 through 1000) then switch to the
  50.    Aminet Database, then select your club's disk collection.  Run two
  51.    copies of KingFisher and search one database while viewing another, or
  52.    search two databases simultaneously!
  53.  
  54. Do you like it so far?
  55.  
  56. 4. KingFisher now supports Fred Fish's new field-oriented database format
  57.    (which I helped design) so you can perform relational searches based on
  58.    only specific fields,
  59.  
  60. 5. Were the original six search expressions not enough for you?  Would you
  61.    have liked to maintain a larger set of expressions to reference later?
  62.    KingFisher now supports a list of search expressions whose size limit is
  63.    yours to set and revise as you like,
  64.  
  65. 6. Did you ever wish you could easily scan through all fish that a search
  66.    revealed without having to perform lengthy backward searches?  This is
  67.    now a reality with Search Sets, any number of which you can even save to
  68.    disk and retrieve at later times!
  69.  
  70. Sounding better than ever?
  71.  
  72. 7. Avoid finding, over and over again, programs you already have, or ones
  73.    which you already have evaluated, or are not interested in.  KingFisher
  74.    2.0 lets you mark fish in the database so that searches will never find
  75.    them if you want them to stay hidden.
  76.  
  77. 8. Parlez-vous Français?  Sprechen Sie Deutsch?  Habla Español?  Parla
  78.    Italiano?  KingFisher is fully localized, ready to speak YOUR language.
  79.    Change KingFisher's language to one you don't know and learn a foreign
  80.    language.  Amaze your friends!  Amaze yourself!  ;-)
  81.  
  82. 9. Localized, context sensitive AmigaGuide®-based help and information is
  83.    just a keystroke away.
  84.  
  85. Can't wait to see this marvel in action?  Then read on:
  86.  
  87.  
  88.  
  89. 3  CLIENT-SERVER ARCHITECTURE ---------------------------------------------
  90.  
  91. KingFisher 2.0 is no longer a single, self-contained application.  As such,
  92. it is not enough to start a single program, use it, and shut it down again.
  93. At the heart of this new-found flexibility lies a concept known as the
  94. Client-Server Model.  The concept is simple:
  95.  
  96. One program (the Server) handles access to the databases and responds to
  97. access requests from one or more clients.  The clients need to know nothing
  98. of the database format itself, and the server needs to know nothing about
  99. how to present the data.  Each is highly specialized and can therefore be
  100. more expert in its field.
  101.  
  102. The "KingFisher 2.0 Database Server" is the server application which must
  103. run in the background.  The program will consume about 50K of memory while
  104. it is running.  You can close its status window if it bothers you and it
  105. will open it again only when it wants to inform you of something.
  106.  
  107. You can then run one or more client applications which will connect to the
  108. server and let you access the database.  The "KingFisher 2.0 Package" comes
  109. with several such client applications in addition to the ever-needed
  110. server:
  111.  
  112. 1. KingFisher 2.0
  113.    This is the GadTools interface which we introduced above.  Documentation
  114.    for KingFisher will be given in another place.
  115.    NOTE: As of the BETA 2 release, KingFisher will start the KFServer if it
  116.          is not running; this requires that the KFServer program is in the
  117.          default directory (as far as KingFisher is concerned.)
  118.  
  119. 2. RexxFisher 1.0
  120.    This is an ARexx interface to the Server through which a BBS can access
  121.    the server.  Run multiple copies of RexxFisher to offer multiple BBS
  122.    users access to the database!
  123.  
  124. 3. CLIent 1.1
  125.    A CLI-based interface for the Server.  It is useful for simple lookup
  126.    and testing.  It performs no formatting on the data retrieved from the
  127.    server, so it is not especially pretty to use.
  128.         Registered users will obtain source code to this program!
  129.  
  130. 4. ReOrder 1.1
  131.    A CLI-based tool which allows you to copy a range of records from one
  132.    KingFisher database to another.  Multiple invocations could copy ranges
  133.    of fish from multiple databases to produce a new database.
  134.         Registered users will obtain source code to this program!
  135.  
  136.  
  137. Developers:  Contact the author about development of additional client
  138.              programs.  A MUI®-based client is especially desired.
  139.  
  140.  
  141.  
  142. 4  STARTING KINGFISHER ----------------------------------------------------
  143.  
  144. When you start KingFisher, it will attempt to connect to the KingFisher 2.0
  145. Database Server (KFServer); if it cannot locate the server, it will attempt
  146. to start the server, which will work only if the KFServer is located in the
  147. default directory.  Without the server operational, KingFisher cannot
  148. access a database.
  149.     The Server will open a default database and then wait for clients
  150. to connect.  It will also open a status display window.  You can close this
  151. window with the close gadget; this does not shutdown the server.  See below
  152. for ways to shutdown the server.
  153.  
  154. NOTE: If the Server cannot open its default database, it will shutdown
  155. again.  The default database is described by the contents of the
  156. KFServer.kfdb file.  It must be named that, and its contents should be
  157. something along these lines:
  158.  
  159.     # KingFisher 2.0 Server preferences
  160.     #
  161.     # Database is known to clients as
  162.     database-name=Frozen Fish Database
  163.     
  164.     # Database Sections (StartEntry,EndEntry,Filename)
  165.     section=00000,00999,FrozenFish:FrozenFish01.data
  166.     section=01000,01999,FrozenFish:FrozenFish02.data
  167.     section=02000,02999,FrozenFish:FrozenFish03.data
  168.     section=03000,03999,FrozenFish:FrozenFish04.data
  169.     section=04000,04999,FrozenFish:FrozenFish05.data
  170.     section=05000,05999,FrozenFish:FrozenFish06.data
  171.     section=06000,06999,FrozenFish:FrozenFish07.data
  172.     section=07000,07999,FrozenFish:FrozenFish08.data
  173.     section=08000,08999,FrozenFish:FrozenFish09.data
  174.     section=09000,09999,FrozenFish:FrozenFish10.data
  175.     
  176.     # Main index is to be stored ... (OnDisk or InRam)
  177.     index=inram
  178.     index-increment=100
  179.     index-name=FrozenFish:FrozenFish.Index
  180.     
  181.     # Field index
  182.     # This one's not being used at this time
  183.     field-index-field=name
  184.     field-index-name=FrozenFish:FrozenFish-Name.Index
  185.     
  186.     # THE FOLLOWING WILL ONLY WORK IN THE DEFAULT FILE,
  187.     # i.e. THE 'KFSERVER.KFDB' FILE:
  188.     #
  189.     # Maximum number of clients permitted
  190.     maxclients=2
  191.     
  192.     # Output window
  193.     window=CON://640/200/KingFisher 2.0 Server Messages/AUTO
  194.     
  195.     # How talkative shall the server be?
  196.     # MUTE, TERSE, QU