home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / docs / pifiles.txt < prev    next >
Text File  |  1994-02-27  |  34KB  |  788 lines

  1. Future material in the library will be indexed by means of information
  2. contained in "Product-Info" files.  Below is the current draft of the
  3. specification for these files.  If you submit material to the library
  4. please create and submit a Product-Info file at the same time.  If you
  5. have material that was included in the past, please create and send
  6. in a Product-Info file for it.  Thanks.
  7.  
  8. -Fred
  9.  
  10. ---------------------------------------------------------------------------
  11.  
  12.              FishROM Database
  13.              ~~~~~~~~~~~~~~~~
  14.             (Draft #6: 940225)
  15.  
  16. ---------------------------------------------------------------------------
  17.  
  18. Synopsis of Changes in this Draft:
  19.  
  20.     1. If .Product-Info is not found, Product-Info is also considered a
  21.        valid product information file.  See (6) below.
  22.     2. A NEW FIELD (.fullname) is now available.  It is optional but
  23.        should be used by applications that derive their common name
  24.        from and abbreviation of their full (complete) name.  As an
  25.        example, AIBB would have a .fullname of "Amiga Intuition Based
  26.        Benchmarks"  See the field descriptions, below.
  27.     3. A NEW FIELD (.stored-in) is now available.  It describes where
  28.        and how the application is stored.  The generation of this field
  29.        requires some care because it may reference EITHER a directory
  30.        OR an (archive) file.  See the field descriptions, below.
  31.     4. A NEW FIELD (.submittal) is now available.  It describes who
  32.        submitted the program or how it came to be placed into the
  33.        collection.  See the field descriptions, below.
  34.     5. A NEW FIELD (.described-by) is now available.  It specifies who
  35.        created the Produc-Info file (all those fields) for the program.
  36.     6. New .type keywords have been added according to a list that Fred
  37.        posted.  This list is open-ended but extensions should be made
  38.        with care.  Unrestrained expansion could neutralize the use of
  39.        this field.
  40.     7. The description for the .version field has been altered to
  41.        indicate that the MAJOR.MINOR format is a suggestion, not a
  42.        rule.  What any program does with the information is anyhow
  43.        largely unspecified.  The specs laid down by this draft aim to
  44.        create law and order (... must be maintained at all times, Ja?)
  45.        but are NOT meant to impose needless and senseless restrictions.
  46.        NOTE: nothing hinders you from storing 20 lines of descriptive
  47.        text in the .version field or leave the .description field
  48.        entirely blank.  While KingFisher itself will give a hoot, the
  49.        user will be needlessly confused.  Stick as closely as POSSIBLE
  50.        to these guidelines to make the overall functionality more and
  51.        more reliable.
  52.  
  53. ---------------------------------------------------------------------------
  54.  
  55. NOTE: This document contains some specific information on the KingFisher
  56.       Database, as well as features and design choices of the KingFisher
  57.       2.0 Server.
  58.  
  59.       The KingFisher 2.0 Server is a program to which client applications
  60.       attach and from which clients may retrieve information.  This allows
  61.       multiple clients nearly unrestrained access to multiple databases.
  62.       Clients may have ARexx, CLI, and/or GUI interfaces, and may have a
  63.       very specific or quite general purpose.
  64.  
  65.  
  66. 1. A KingFisher 2.0 database is described by a text file whose name ends in
  67.    .kfdb (KingFisher DataBase.)  This file describes everything that the
  68.    KingFisher Server needs to know about the database, especially the names
  69.    of one or more database sections and what range of record numbers each
  70.    contains, the names of primary and secondary index files, as well as
  71.    some other, less vital, information.
  72.  
  73. 2. A database consists of zero or more records spread over one or more
  74.    files and indexed by a single (primary) index file.
  75.  
  76. 3. Each record is an extended ASCII (text) file which may contain standard
  77.    characters of the ISO Latin 1 character set (0x20..0xff) as is the
  78.    standard Amiga symbol set, as well as the ASCII formatting character
  79.    0x1a (newline.)  All other symbols in the range 0x00..0x1f are illegal
  80.    for a record and may or may not produce erratic behavior.
  81.  
  82.    Expressly forbidden are the NUL (0x00) and the ^N (0x0e) as they have
  83.    special meaning.
  84.  
  85.    Furthermore, a dot (.) is not permitted as the first character on a line
  86.    unless it preceeds the name of a FIELD (see below.)  A dot leading text
  87.    on a line (rather unusual) may be avoided without loss by placing a \
  88.    (backslash) symbol immediately before it.  KingFisher's formatting
  89.    functions will recognize and adjust for such occurrences, as well as
  90.    other special formatting sequences that begin with a backslash.
  91.  
  92.    And last, but not least, a record begins with the character string
  93.    ".name" (sans quotes) so that the start of the NEXT record can be easily
  94.    determined by the appearance of this special key string.  No other field
  95.    is special to KingFisher.
  96.  
  97.    Field name identifiers are not case sensitive.
  98.  
  99. 4. KingFisher places between some records a special marker (^N (0x0e)) line
  100.    to indicate breaks between disks.  This allows reindexing algorithms to
  101.    properly recover information about disk references.  While the new
  102.    .reference field makes this less necessary, it does help in carrying
  103.    over older KingFisher Release 1 databases.
  104.  
  105.    Suggestion:    You could "misuse" this disk number scheme with a database
  106.         of your own design by assigning it the concept of pages.
  107.         Thus you could store text and filenames in a database and
  108.         use the disk markers as new-page markers, all under the
  109.         control of the KingFisher server, of course.
  110.  
  111. 5. New records (fish) are added to the database at the end.  KingFisher
  112.    maintains a database with variable size records and removal of records
  113.    always truncates the database at that point.  Unlike the original
  114.    KingFisher Release 1, however, the records so truncated will be removed
  115.    from the database.  The interface to the server, however, would allow a
  116.    client application to make prior backup arrangements of the records that
  117.    it wants to delete, in order to undo the truncate operation again.
  118.  
  119. 6. Information in the form of KingFisher Database Records (see (3) above)
  120.    is to accompany an application in the form of a .Product-Info file.
  121.    Unless client applications decide to use a different filename (STRONGLY
  122.    discouraged!) the .Product-Info file is herewith a standard.
  123.  
  124.    As of draft #5, the leading period on the name .Product-Info is optional
  125.    and may be omitted.  Programs parsing the directory tree should check
  126.    for the presence of the .Product-Info file first, and if not found, try
  127.    to load the Product-Info (no leading period) file.
  128.  
  129. 7. When KingFisher Database Records are transported via electronic mail or
  130.    otherwise embedded within unrelated text (i.e. with news headers and
  131.    personal signatures following) the records MUST BE enclosed in special
  132.    DATA TRANSPORT MARKERS that tell the parsing software what information
  133.    is part of the records and what is not.  Multiple such records may be
  134.    enclosed by only a single pair of markers, or multiple records may be
  135.    enclosed each by a pair of markers with unrelated text before, after,
  136.    and between the markers.
  137.  
  138.    If a file is being parsed which begins with a line less than or equal to
  139.    30 characters in length, and does not have a special DATABASE HEADER,
  140.    then KingFisher assumes this file to be a KingFisher Release 1 database.
  141.    This assumption can be false, so it remains the user's responsibility to
  142.    assure that no garbage is fed to the parser.
  143.  
  144.    Note that the DATA TRANSPORT MARKERS are not meant for use in the
  145.    .Product-Info files, although they will be ignored if found.  They would
  146.    simply be wasted, there.
  147.  
  148.    The following examples are to be read as complete files between the
  149.    lines that look like this: ---------------
  150.  
  151.    Example 1:  A file containing text in addition to the database record.
  152.  
  153.     ----------------------------------------
  154.     Hello, Joe.  Here is the description of that weird game
  155.         I was telling you about.  See if you can figure out how
  156.         to win this.  Good luck!
  157.  
  158.     .BEGIN-FISH-DESCRIPTION
  159.     .name
  160.     MonkeyCommand
  161.     .author
  162.     KingKong Industries
  163.     .description
  164.     Lure the lovestruck monster ape back to his island.
  165.     Tools include Fay Wray's torn nightgown, a Fokker
  166.     airplane (you get to pilot it), a compass and a map.
  167.     .path
  168.     FishROM001:games/MonkeyCommand/
  169.     .END-FISH-DESCRIPTION    
  170.     ----------------------------------------
  171.  
  172.    Example 2:  A file containing nothing but two database records.
  173.  
  174.     ----------------------------------------
  175.     .name
  176.     MonkeyCommand
  177.     .author
  178.     KingKong Industries
  179.     .description
  180.     Lure the lovestruck monster ape back to his island.
  181.     Tools include Fay Wray's torn nightgown, a Fokker
  182.     airplane (you get to pilot it), a compass and a map.
  183.     .path
  184.     FishROM001:games/MonkeyCommand/
  185.     .name
  186.     MonkeyCommand II
  187.     .author
  188.     KingKong Industries
  189.     .description
  190.     Keep the captured ape from assaulting the defenses
  191.     of the prison that was erected at the conclusion of
  192.     MonkeyCommand I.  The action consists of coordinating
  193.     the actions of four native tribal leaders and their
  194.     vassals in repairing the damage done by the rampant
  195.     beast.
  196.     .path
  197.     FishROM002:games/MonkeyCommand2/
  198.     ----------------------------------------
  199.  
  200.    Example 3:  A file containing two database records interspersed with
  201.                extraneous text.  The records are protected by DATA
  202.                TRANSPORT MARKERS
  203.  
  204.     
  205.     ----------------------------------------
  206.     Hi Tom,
  207.  
  208.     Remember that monkey game you told my about?
  209.  
  210.     .BEGIN-FISH-DESCRIPTION
  211.     .name
  212.     MonkeyCommand
  213.     .author
  214.     KingKong Industries
  215.     .description
  216.     Lure the lovestruck monster ape back to his island.
  217.     Tools include Fay Wray's torn nightgown, a Fokker
  218.     airplane (you get to pilot it), a compass and a map.
  219.     .path
  220.     FishROM001:games/MonkeyCommand/
  221.     .END-FISH-DESCRIPTION
  222.  
  223.     Well, seems that one wasn't enough and they released
  224.     another one.  We'll have to figure out how to finally
  225.     beat the first one, it seems, before they let us play
  226.     the next.  Maybe we can look through the binary to find
  227.     that code phrase.  Here's the text:
  228.  
  229.     .BEGIN-FISH-DESCRIPTION
  230.     .name
  231.     MonkeyCommand II
  232.     .author
  233.     KingKong Industries
  234.     .description
  235.     Keep the captured ape from breaking through the defenses
  236.     of the prison that was erected at the conclusion of
  237.     MonkeyCommand I.  The game consists of coordinating the
  238.     actions of four native tribal leaders and their vassals
  239.     in repairing the damage done by the angry beast.
  240.     .restriction
  241.     You need the secret code from the first MonkeyCommand
  242.     which you can only get if you won the game.
  243.     .path
  244.     FishROM002:games/MonkeyCommand2/
  245.     .END-FISH-DESCRIPTION
  246.  
  247.     (=:Joe:=)
  248.     ----------------------------------------
  249.  
  250. 9. The following describes a list of STANDARD fields for the KingFisher 2.0
  251.    database.  Please note that every field begins with a period to
  252.    distinguish it from the field contents.  KingFisher has some very
  253.    specific ideas about what these STANDARD fields may contain.  It is
  254.    important, therefore, that you follow these guidelines.
  255.  
  256.    In most fields, text on multiple physical lines is considered to be the
  257.    same as if it was all on one long line.  Newlines are simply treated as
  258.    a whitespace.  If you wish to insert special formatting symbols, please
  259.    refer to the section below, titled FORMATTING SYMBOLS, for more
  260.    information.
  261.  
  262.    While it is possible to omit any field, even those not marked OPTIONAL,
  263.    it is highly recommended to follow the established guidelines!  If
  264.    additional fields are needed because you wish to offer information that
  265.    does not fit within the framework of the existing fields, you are
  266.    perfectly welcome to create additional fields!  They will always be
  267.    treated like free format fields.
  268.  
  269. ================================================================
  270. .name
  271.     PURPOSE:    The proram's name
  272.     FORMAT:        1 line only
  273.     EXAMPLE:    KingFisher
  274.     EXAMPLE:    HomeBase VI
  275.     EXAMPLE:    AIBB
  276.     EXAMPLE:    gcc
  277.     ----------------------------------------------------------------
  278. .fullname
  279.     <<<OPTIONAL>>>
  280.     PURPOSE:    The program's full (or complete) name
  281.     FORMAT:        1 line only
  282.     EXAMPLE:    Amiga Intuition Based Benchmarks
  283.     EXAMPLE:    GNU C Compiler
  284.     NOTES:        If the .name is not an abbreviation then omit the
  285.             .fullname.  No sense in giving the name twice!
  286.     ----------------------------------------------------------------
  287. .type
  288.     PURPOSE:    A keyword that describes the nature of the program
  289.     FORMAT:        Preferrably a single word or two.
  290.     EXAMPLE:    Database
  291.     EXAMPLE:    Spreadsheet
  292.     EXAMPLE:    Animation Player
  293.     EXAMPLE:    Animation Tools
  294.     EXAMPLE:    Communications
  295.     EXAMPLE:    Display Commodity
  296.     EXAMPLE:    Mouse Commodity
  297.     NOTES:        Avoid abbreviations.  Refer to the list below for
  298.             suggestions.
  299.     ----------------------------------------------------------------
  300. .short                                    <@>
  301.     <<<OPTIONAL>>>
  302.     PURPOSE:    A one-line description, preferrably not exceeding
  303.             40 characters in length.  This description is to
  304.             give a single-glance insight into the program's
  305.             purpose.
  306.     FORMAT:        1 line only.
  307.     EXAMPLE:    Software catalog/search/maintenance tool, multi-user.
  308.     ----------------------------------------------------------------
  309. .description
  310.     PURPOSE:    A full-text description of your program, containing
  311.             anything that is NOT ALREADY available through the
  312.             other fields (see above and below.)  The reader
  313.             should gain a good understanding what your program
  314.             can and cannot do.  If you mention other programs
  315.             please do not forget to provide a .reference field
  316.             for each such mention.
  317.     FORMAT:        Any number of lines, treated as one line.
  318.             Formatting is permitted, but generally discouraged.
  319.     NOTES:        Do not indent your text if you choose to format
  320.             your text into multiple paragraphs.  Do not use \t
  321.             as a tab.  Leave paragraph formatting to KingFisher.
  322.     ----------------------------------------------------------------
  323. .version
  324.     PURPOSE:    The program's version number
  325.     FORMAT:        MAJOR.MINOR
  326.             1 line only
  327.     EXAMPLE:    37.100
  328.     NOTES:        Please note that the Commodore guidelines specify
  329.             that the number after the period is NOT a FRACTION
  330.             but rather a WHOLE NUMBER!  Thus, the following is
  331.             a valid progression:
  332.                 37.1  37.17  37.39  37.100  37.170
  333.             The following are all vastly different versions:
  334.                 37.1  37.10  37.100  37.1000
  335.     NOTES:        The format given for this field is really more of a
  336.             SUGGESTION rather than a RULE.  There is no reason
  337.             why you can't store "Today's Version" or "v940205"
  338.             instead of 18.173.  In an ideal world everyone
  339.             would use Commodore guidelines, but there are
  340.             enough exceptions.
  341.     ----------------------------------------------------------------
  342. .date
  343.     PURPOSE:    The program's official release date; not the date
  344.             it made it into the database.
  345.     FORMAT:        year.month.day
  346.             1 line only
  347.     EXAMPLE:    1993.09.27
  348.     NOTES:        The date format is chosen to be easily sortable.
  349.             Note the use of leading zeros in month and day.
  350.             The full year is to be given in anticipation of
  351.             the coming change to a new millenium.
  352.     ----------------------------------------------------------------
  353. .author
  354.     PURPOSE:    Any and all authors who have a part in the program
  355.     FORMAT:        Any number of lines, treated as one line (\n in the
  356.             text will "break up" the line into multiple visual
  357.             lines.)
  358.     EXAMPLE:    Joe R. User, Tea Rexx.
  359.     EXAMPLE:    J. Jones\n
  360.             Random Hacker\n
  361.             B. Clinton
  362.     NOTES:        Addresses should be placed in the .address field.
  363.             There should be only one .address field for each
  364.             .author field.
  365.             If more than 1 .author field is specified, then the
  366.             same number of .address and .email fields must also
  367.             be given in a 1-to-1 relationship (i.e. the 3rd
  368.             .author field must be associated with the 3rd
  369.             .address, and the 3rd .email field.)
  370.             EX: see the example "Joe R. User, Tea Rexx" above;
  371.             Assume that Joe R. User has long vanished and no
  372.             known address, but that Tea Rexx has supported the
  373.             program for a while.  If an .address and/or .email
  374.             field is available for Tea Rexx, then you must
  375.             specify EMPTY .address and/or .email fields for the
  376.             author listed BEFORE the ones for Tea Rexx.
  377.             Likewise, if the two authors names were reversed,
  378.             you would NOT have to specify blank .address and/or
  379.             .email fields for the second author.  I hope that
  380.             makes sense.
  381.     ----------------------------------------------------------------
  382. .restrictions
  383.     PURPOSE:    List restrictions placed upon this program.  These
  384.             should indicate in which way this program has been
  385.             made dysfunctional (for demo purposes), problems
  386.             (bugs) known to exist with this program, or any
  387.             other thing that lets the user know that this
  388.             program, as seen in this distribution, may not
  389.             fully satisfy the user in some form.
  390.     FORMAT:        Free form; see .description for more info.
  391.     EXAMPLE:    Demo version has SAVE and PRINT options disabled.
  392.     EXAMPLE:    The ReadOperatorsMind command fails to work with
  393.             CDTV units.  Incompatible with the Discus Ejector
  394.             utility.
  395.     EXAMPLE:    Crashes if iconified while loading a sample or
  396.             image larger than 64K.
  397.     EXAMPLE:    Requires a PAL display.
  398.     EXAMPLE:    The program is in German but the documentation
  399.             offers translations into English and Swahili on
  400.             a menu-by-menu and gadget-by-gadget basis.
  401.     NOTES:        Do NOT use this field for things like "won't work
  402.             with KS 1.3" or "won't run with less than 2 Megs
  403.             of RAM."
  404.     ----------------------------------------------------------------
  405. .requirements
  406.     PURPOSE:    List requirements for your program.  These should
  407.             give the reader enough information to determine if
  408.             the software will run on his/her system or not.
  409.             Be sure to specify operating system versions,
  410.             (hard)disk space requirements, etc.  If your
  411.             program requires any external libraries that are
  412.             not part of the system software, it would be nice
  413.             to list them here and comment on whether or not
  414.             they are included in the archive.
  415.             If your program is known to run on every existing
  416.             (Amiga) platform, state this in this field!
  417.     FORMAT:        Free form; see .description for more info.
  418.     EXAMPLE:    68020, 68030, or 68040 CPU; 3M free RAM; 18M disk
  419.             space; at least 640x480 display capabilities!
  420.     EXAMPLE:    Requires WB2.1 (V38)
  421.     EXAMPLE:    Requires 1024x768 (or larger) display capability.
  422.     EXAMPLE:    Works only with 4096-channel, 230db BLAZETHUNDER
  423.             Audio board.
  424.     EXAMPLE:    Requires MUI (MagicUserInterface) version 5.
  425.     ----------------------------------------------------------------
  426. .reference
  427.     <<<OPTIONAL>>>
  428.     PURPOSE:    Full path to where this program's files are stored,
  429.             as well as the version that is stored there.
  430.     FORMAT:        2 lines per reference:  the first line specifies
  431.             the full path (with trailing slash) and the second
  432.             line, the version.
  433.     NOTES:        Multiple such fields may be provided to reference
  434.             previous versions of this program, as well as
  435.             other programs that might be of interest.  The
  436.             versions should be listed in reverse chronological
  437.             order and should NOT include the current entry.
  438.             If this is an original entry and you make no
  439.             references to other programs anywhere, them omit
  440.             this field.
  441.             Please note that it is VERY VERY VERY important
  442.             that you specify the CORRECT PATH!  Without a
  443.             correct path, this entry will be nearly useless!
  444.     EXAMPLE:    FishROM-0002:Productivity/Databases/HomeBase VI/
  445.             417.0
  446.             FishROM-0001:Productivity/Databases/HomeBase VI/
  447.             415.12
  448. ----------------------------------------------------------------
  449. .distribution                        was: .status in rev 1
  450.     <<<OPTIONAL>>>
  451.     PURPOSE:    Describes the distribution and ownership status
  452.             of this software.  Please see below for a list of
  453.             common (and recommended!) terms to use.
  454.     FORMAT:        1 line
  455.     EXAMPLE:    Shareware
  456.     NOTES:        Please see the table below for descriptions of the
  457.             recommended terms.
  458.     ----------------------------------------------------------------
  459. .price
  460.     <<<OPTIONAL>>>
  461.     PURPOSE:    Describes the cost of this program to the user.
  462.     FORMAT:        Any number of lines, treated as one line.
  463.     EXAMPLE:    $50(US), DM75.
  464.     NOTES:        In order to make this field more useful, it is
  465.             strongly recommended that the first currency
  466.             listed is United States Dollars as shown in the
  467.             EXAMPLE above.  This allows a search to be limited
  468.             to a common price base.  If you charge no money
  469.             for this program, omit this field!
  470.     ----------------------------------------------------------------
  471. .address
  472.     <<<OPTIONAL>>>
  473.     PURPOSE:    Describe a full postal address of the author, to
  474.             be used if it becomes necessary or desirable to
  475.             contact the author.  Do not specify the author's
  476.                         name, as this is already in the .author field.
  477.     FORMAT:        Multiple lines; formatting symbols \n are not
  478.             required, as physical line breaks are equivalent.
  479.     NOTES:        SEE THE .author FIELD FOR IMPORTANT INFORMATION
  480.     ----------------------------------------------------------------
  481. .email
  482.     <<<OPTIONAL>>>
  483.     PURPOSE:        Describe a full electronic mail address.  Make
  484.             sure that this address is complete and reachable
  485.             even from less well-connected sites.  The author
  486.             of KingFisher, for example, can be reached as
  487.             walrus@wam.umd.edu
  488.             It would be an error to specify only "walrus" or
  489.             "walrus@wam" even though these will work within
  490.             the particular organization where this address
  491.             is valid.
  492.     FORMAT:        Multiple lines; formatting symbols \n are not
  493.             required, as physical line breaks are equivalent.
  494.     NOTES:        You may specify multiple electronic mail addresses
  495.             in order of decreasing reliability and permanence,
  496.             each on its own line.
  497.             SEE THE .author FIELD FOR IMPORTANT INFORMATION
  498.     ----------------------------------------------------------------
  499. .exectype
  500.     <<<OPTIONAL>>>
  501.     PURPOSE:    Describe the type of executable(s) that make up
  502.             your program.  Examples:  68xxx, AMOS, Script,
  503.             ARexx, Compiled basic, Amigabasic, etc.
  504.     FORMAT:        Free form; see .description for more information.
  505.     EXAMPLE:    AMOS
  506.     EXAMPLE:    68000, 68020, and 68040.
  507.     ----------------------------------------------------------------
  508. .installsize
  509.     <<<OPTIONAL>>>
  510.     PURPOSE:    Indicate the minimum and maximum sizes of the
  511.             executable as it is installed.  The minimum size
  512.             should give an indication of how much diskspace
  513.             is required for a minimal installation (perhaps
  514.             lacking help files and miscellaneous tools) while
  515.             the maximum size should indicate the absolutely
  516.             highest amount of diskspace required by the
  517.             program.
  518.     FORMAT:        1 or more lines; Only the first line has a fixed
  519.             format, the rest are free-form.  See examples.
  520.             Always indicate the number scales with a capital
  521.             K (for kilobyte) or M (for megabyte)
  522.     EXAMPLE:    220K - 2M
  523.             Most of the database files can be kept on floppy
  524.             disks, so valuable harddisk space is not wasted.
  525.     EXAMPLE:    18K
  526.     EXAMPLE:    38K - 500K
  527.             Lots of documentation and example scripts make up
  528.             the bulk of the installation.
  529.     ----------------------------------------------------------------
  530. .source
  531.     <<<OPTIONAL>>>
  532.     PURPOSE:    Describe what source code is available with this
  533.             program.  If source code is not available then
  534.             omit this field.  The .construction field often
  535.             helps further identify the type of source if you
  536.             omit details here.  How large is the source?
  537.     FORMAT:        Free form; see .description for more information.
  538.     EXAMPLE:    SAS/C,Manx,DICE source (750K) available for $15
  539.     EXAMPLE:    Oberon source included.  85K
  540.     EXAMPLE:    Limited C source (15K) included.
  541.     EXAMPLE:    All source plus custom libraries, included: 12MB
  542.     ----------------------------------------------------------------
  543. .construction
  544.     <<<OPTIONAL>>>
  545.     PURPOSE:    Describe the type of language(s) used to create
  546.             this program and the methods used to build the
  547.             final executable.  If possible, include the
  548.             compiler version(s) and possibly important
  549.             options, such as optimization.
  550.     FORMAT:        Free form; see .description for more information.
  551.     EXAMPLE:    SAS/C++ 6.5 with full optimization.
  552.     EXAMPLE:    AdaEd.
  553.     EXAMPLE:    Fortran with self-made compiler.
  554.     EXAMPLE:    AMOS
  555.     ----------------------------------------------------------------
  556. .tested
  557.     <<<OPTIONAL>>>
  558.     PURPOSE:    Give an indication of which configurations have
  559.             served as test environments.
  560.     FORMAT:        Free form; see .description for more information.
  561.     EXAMPLE:    A500(512K Chip, 0K Fast, 1 Floppy), A2000(1M Chip,
  562.             2M Fast, 40M HD, 1 Floppy); not tested on 68020+
  563.             CPUs.
  564.     EXAMPLE:    A1000, A500, A600, A2000, A2000/30, A3000, A1200,
  565.             A4000/30, A4000/40 with various amounts of Chip
  566.             and Fast RAM, with and without MMU or FPU.  Found
  567.             to be free of Enforcer hits and able to work with
  568.             virtual memory products; compatible with Retina,
  569.             EGS/Spectrum, and Picasso software.  Also tested
  570.             under V33 through V40 system software.
  571.     ----------------------------------------------------------------
  572. .run
  573.     <<<OPTIONAL>>>
  574.     PURPOSE:    Specifies how to start the program.
  575.     FORMAT:        visible=type,command
  576.             Where 'type' is either WB or CLI to indicate the
  577.             required startup environment.
  578.     EXAMPLE:    HomeBase VI=WB,HomeBase VI
  579.             HomeBase VI=CLI,ExecuteMe.HB6
  580.             HomeBase VI Fixer=CLI,ExecuteMe.HB6Fixer
  581.     EXAMPLE:    FishTub=WB,ExecuteMe
  582.     NOTES:        KingFisher requires that this entry strictly
  583.             follows the above format.
  584.             The user is shown all text up to the first equal
  585.             sign (the 'visible' portion.)  The 'type' portion
  586.             must be terminated with a comma (,) and following
  587.             it will be the command to be executed.
  588.             Selecting it will either invoke the program from
  589.             the Workbench (invoking it as if double clicked on
  590.             its icon (if the .info file exists), or execute the
  591.             indicated shell command line as if it has been
  592.             typed at an open console window.
  593.     ----------------------------------------------------------------
  594. .docs
  595.     <<<OPTIONAL>>>
  596.         PURPOSE:        List all documentation files, possibly for viewing
  597.                         from within KingFisher for more detailed info.
  598.         FORMAT:         1 line per file
  599.         EXAMPLE:        HomeBase.guide
  600.                         HomeBase.dvi
  601.                         HomeBase.doc
  602.         NOTES:          KingFisher examines the EXTENSION and invokes the
  603.                         appropriate viewing tool: MultiView/AmigaGuide for
  604.                         .guide files, ShowDVI for .dvi files, more for
  605.                         anything else.  These files can also be sent to the
  606.             printer via KingFisher (i.e. print .ps or .doc
  607.             files.)  KingFisher will honor the PAGER
  608.             environment variable (defaults to 'more') to
  609.             display standard text.
  610.     NOTES:        Omit any path to these files, unless it is a
  611.             relative path from within the program's CD-ROM or
  612.             disk directory.  Do not specify these files if
  613.             they are located within archive files; remember:
  614.             the files must exist as they are given here!
  615.     ----------------------------------------------------------------
  616. .described-by
  617.     <<<OPTIONAL>>>
  618.     PURPOSE:    Specifies who created the description (Product-Info
  619.             file) for the program.
  620.     FORMAT:        Free form; should include an electronic mail
  621.             address, too, if available.
  622.     EXAMPLE:    Fred Fish (fnf@fishpond.cygnus.com)
  623.     EXAMPLE:    Udo Schuermann <walrus@wam.umd.edu>
  624.     ----------------------------------------------------------------
  625. .submittal
  626.     <<<OPTIONAL>>>
  627.     PURPOSE:    Identifies who submitted the program to Fred or
  628.             else how this program came to be on the reference
  629.             disk.
  630.     FORMAT:        Free form; usually one line.
  631.     EXAMPLE:    Submitted on disk directly by the author.
  632.     EXAMPLE:    Downloaded from wuarchive.wustl.edu in pub/aminet/util/misc
  633.     ----------------------------------------------------------------
  634. .stored-in
  635.     PURPOSE:    Specifies where and especially HOW the application
  636.             is stored.  This field should specify EITHER the
  637.             name of a directory (ending with a : or a /) OR the
  638.             name of a file (one that does NOT end with : or /)
  639.     FORMAT:        1 or more lines.
  640.     EXAMPLE:    FF1000:Disks701-1000/Disks941-960/Disk950/Enforcer/
  641.             FF1000:BBS/Disks501-1000/Disks941-960/Disk950/Enforcer.lha
  642.     NOTES:        It is up to the particular application to decide
  643.             how to handle this information.  If the extension
  644.             on the file is .lha, .lzh, .Z, .zoo, .pak, .zip,
  645.             etc. then you could, for example, call upon the
  646.             archiver of choice to unpack the application into a
  647.             temporary directory and let the user run the
  648.             program or list the files, or whatever.
  649.  
  650.             *** NOTE ***  This is not a user generated field.
  651.             If you create a Product-Info file for material
  652.             you have released, leave this field out.
  653.     ----------------------------------------------------------------
  654. .path
  655.     ***** RESERVED FOR INTERNAL USE *****
  656.     PURPOSE:    Specifies absolute path to THIS program, much like
  657.             a .references entry, but without version.  This
  658.             keeps things cleaner and allows electronically
  659.             distributed updates (in text form) to transfer
  660.             information otherwise found out and determined only
  661.             through the add-fish mechanism of the tree-walk on
  662.             the CD-ROM.  (If you understand what is meant by
  663.             this, I'll buy you a drink!)
  664.     FORMAT:        1 line path to the application on the CD-ROM.
  665.             This is the same path as where the .Product-Info
  666.             file was found (i.e. the file you as the submitter
  667.             are to generate using these guidelines.)
  668.     NOTES:        DO NOT SPECIFY THIS YOURSELF (i.e. in a Product-Info
  669.             file.)  KingFisher writes this entry during a
  670.             Database Export operation and reads it during a
  671.             Database Import operation.  KingFisher ignores this
  672.             field during a Database Build operation, so it is a
  673.             total waste except when used during export/import
  674.             operations!  AddFish makes no use of this field.
  675. ================================================================
  676.  
  677. FORMATTING SYMBOLS
  678.  
  679. KingFisher is font sensitive and able to adapt its display to proportional
  680. fonts as well as non-proportional ones.  If you introduce formatting
  681. symbols you may severely limit KingFisher's ability to effectively display
  682. information for your program.  We ask you, therefore, to exercise restraint
  683. and care.
  684.  
  685.     \\    A single \ (backslash) symbol.
  686.     \n    End of paragraph.  Text following this symbol is forced
  687.         to the beginning of the next visible line.  Fixes all \=
  688.         tab definitions into place.  The next \= will cause all
  689.         tabs to be cleared and a new one to be set.
  690.     \=    Sets a tab at the current horizontal position.  The next
  691.         \n will fix these tabs into place and prevent further
  692.         additions.
  693.     \t    Tabs to the next tab, regardless if this tab is to the
  694.         left or right of the cursor position!  Do not use tabs
  695.         for paragraph indentation!  Do not indent paragraphs.
  696.     \.    A single . (dot) especially useful if/when such a dot is
  697.         found (against normal practice) at the very beginning of
  698.         a line of text and would then be misunderstood to repre-
  699.         sent a field-name-specifier.
  700.  
  701. Do not introduce other formatting sequences as future versions of
  702. KingFisher may create new ones for special purposes.
  703.  
  704. ================================================================
  705.  
  706. EXAMPLES OF "TYPE" WORDS
  707.  
  708. Action Game        Animation        Animation Player
  709. Animation Tool        Archiver        CLI Tool
  710. Communications        Compiler        Compression
  711. Database        Disk Tool        Display Commodity
  712. Drawing            Image Conversion    Image Processing
  713. Library            Mouse Commodity        Music Composition
  714. OS Utility        Painting        Picture
  715. Printing        Sound Analysis        Sound Editing
  716. Sound Playing        Spreadsheet        Strategy Game
  717. Text            Text Editing        Text Viewer
  718. Thinking Game        Word Processing        Workbench Tool
  719.  
  720. ================================================================
  721.  
  722. LIST OF SOFTWARE STATUS KEYWORDS
  723.  
  724.     Commercial    Commercial software is owned and distributed
  725.             through licenses.  It costs money to individual
  726.             end-users and is not freely distributable.
  727.             SUCH PIECES SHOULD NOT APPEAR ON DISKS THAT ARE
  728.             MEANT FOR FREELY DISTRIBUTABLE SOFTWARE!
  729.  
  730.     Commercial Demo
  731.             Represents a demonstration of a commercial
  732.             package.  As such, commercial demos are freely
  733.             distributable and may have limitations as
  734.             described in the .limitations field.
  735.  
  736.     Giftware    Like shareware, usually.
  737.             
  738.     Shareware    Such software is owned and copyrights are
  739.             held by the author(s).  The software may be
  740.             distributed freely, but not sold for profit,
  741.             of course.  Shareware often specifies a limit
  742.             of some time after which you are requested or
  743.             required to register the software (i.e. pay
  744.             for it.)  This provides you with the means to
  745.             evaluate the software thoroughly before paying
  746.             for it.
  747.  
  748.     Freeware    Such software is owned and copyrights are
  749.             held by the author(s).  The software may be
  750.             distributed freely, but not sold for profit,
  751.             which would mean the software is no longer
  752.             FREEware.  No payments are required for such
  753.             software.
  754.  
  755.     Public Domain    Software labeled PD (Public Domain) belongs to
  756.             the public, i.e. ANYONE.  Some people release
  757.             their software into the public domain with the
  758.             mistaken idea that they can continue to own
  759.             and control the program.  Not so.  Software
  760.             that is labeled Public Domain (or said by the
  761.             author to be released into the public domain)
  762.             truly belongs to anyone and everyone.  It is
  763.             quite legal for someone to take such a program
  764.             and sell it for profit as is.  Likewise, it
  765.             it perfectly acceptable to modify public domain
  766.             software to build a better product (or whatever)
  767.             out of it and then sell it for profit.
  768.  
  769.     GNU Public License
  770.             The terms and conditions of this license
  771.             are long and not easily reproduced here.  Suffice
  772.             to say that software released under the GNU Public
  773.             License must be distributed with source code.
  774.             They are not public domain, however.
  775.  
  776.     GNU Library Public License
  777.             The terms and conditions of this license
  778.             are long and not easily reproduced here.  Suffice
  779.             to say that software released under the GNU Library
  780.             Public License must be distributed with source
  781.             code.  They are not public domain, however.
  782.  
  783.     Copyright but Freely Redistributable
  784.             The author holds all copyrights but allows the
  785.             material to be freely distributed under specified
  786.             conditions.
  787. #EOT
  788.