home *** CD-ROM | disk | FTP | other *** search
- Future material in the library will be indexed by means of information
- contained in "Product-Info" files. Below is the current draft of the
- specification for these files. If you submit material to the library
- please create and submit a Product-Info file at the same time. If you
- have material that was included in the past, please create and send
- in a Product-Info file for it. Thanks.
-
- -Fred
-
- ---------------------------------------------------------------------------
-
- FishROM Database
- ~~~~~~~~~~~~~~~~
- (Draft #6: 940225)
-
- ---------------------------------------------------------------------------
-
- Synopsis of Changes in this Draft:
-
- 1. If .Product-Info is not found, Product-Info is also considered a
- valid product information file. See (6) below.
- 2. A NEW FIELD (.fullname) is now available. It is optional but
- should be used by applications that derive their common name
- from and abbreviation of their full (complete) name. As an
- example, AIBB would have a .fullname of "Amiga Intuition Based
- Benchmarks" See the field descriptions, below.
- 3. A NEW FIELD (.stored-in) is now available. It describes where
- and how the application is stored. The generation of this field
- requires some care because it may reference EITHER a directory
- OR an (archive) file. See the field descriptions, below.
- 4. A NEW FIELD (.submittal) is now available. It describes who
- submitted the program or how it came to be placed into the
- collection. See the field descriptions, below.
- 5. A NEW FIELD (.described-by) is now available. It specifies who
- created the Produc-Info file (all those fields) for the program.
- 6. New .type keywords have been added according to a list that Fred
- posted. This list is open-ended but extensions should be made
- with care. Unrestrained expansion could neutralize the use of
- this field.
- 7. The description for the .version field has been altered to
- indicate that the MAJOR.MINOR format is a suggestion, not a
- rule. What any program does with the information is anyhow
- largely unspecified. The specs laid down by this draft aim to
- create law and order (... must be maintained at all times, Ja?)
- but are NOT meant to impose needless and senseless restrictions.
- NOTE: nothing hinders you from storing 20 lines of descriptive
- text in the .version field or leave the .description field
- entirely blank. While KingFisher itself will give a hoot, the
- user will be needlessly confused. Stick as closely as POSSIBLE
- to these guidelines to make the overall functionality more and
- more reliable.
-
- ---------------------------------------------------------------------------
-
- NOTE: This document contains some specific information on the KingFisher
- Database, as well as features and design choices of the KingFisher
- 2.0 Server.
-
- The KingFisher 2.0 Server is a program to which client applications
- attach and from which clients may retrieve information. This allows
- multiple clients nearly unrestrained access to multiple databases.
- Clients may have ARexx, CLI, and/or GUI interfaces, and may have a
- very specific or quite general purpose.
-
-
- 1. A KingFisher 2.0 database is described by a text file whose name ends in
- .kfdb (KingFisher DataBase.) This file describes everything that the
- KingFisher Server needs to know about the database, especially the names
- of one or more database sections and what range of record numbers each
- contains, the names of primary and secondary index files, as well as
- some other, less vital, information.
-
- 2. A database consists of zero or more records spread over one or more
- files and indexed by a single (primary) index file.
-
- 3. Each record is an extended ASCII (text) file which may contain standard
- characters of the ISO Latin 1 character set (0x20..0xff) as is the
- standard Amiga symbol set, as well as the ASCII formatting character
- 0x1a (newline.) All other symbols in the range 0x00..0x1f are illegal
- for a record and may or may not produce erratic behavior.
-
- Expressly forbidden are the NUL (0x00) and the ^N (0x0e) as they have
- special meaning.
-
- Furthermore, a dot (.) is not permitted as the first character on a line
- unless it preceeds the name of a FIELD (see below.) A dot leading text
- on a line (rather unusual) may be avoided without loss by placing a \
- (backslash) symbol immediately before it. KingFisher's formatting
- functions will recognize and adjust for such occurrences, as well as
- other special formatting sequences that begin with a backslash.
-
- And last, but not least, a record begins with the character string
- ".name" (sans quotes) so that the start of the NEXT record can be easily
- determined by the appearance of this special key string. No other field
- is special to KingFisher.
-
- Field name identifiers are not case sensitive.
-
- 4. KingFisher places between some records a special marker (^N (0x0e)) line
- to indicate breaks between disks. This allows reindexing algorithms to
- properly recover information about disk references. While the new
- .reference field makes this less necessary, it does help in carrying
- over older KingFisher Release 1 databases.
-
- Suggestion: You could "misuse" this disk number scheme with a database
- of your own design by assigning it the concept of pages.
- Thus you could store text and filenames in a database and
- use the disk markers as new-page markers, all under the
- control of the KingFisher server, of course.
-
- 5. New records (fish) are added to the database at the end. KingFisher
- maintains a database with variable size records and removal of records
- always truncates the database at that point. Unlike the original
- KingFisher Release 1, however, the records so truncated will be removed
- from the database. The interface to the server, however, would allow a
- client application to make prior backup arrangements of the records that
- it wants to delete, in order to undo the truncate operation again.
-
- 6. Information in the form of KingFisher Database Records (see (3) above)
- is to accompany an application in the form of a .Product-Info file.
- Unless client applications decide to use a different filename (STRONGLY
- discouraged!) the .Product-Info file is herewith a standard.
-
- As of draft #5, the leading period on the name .Product-Info is optional
- and may be omitted. Programs parsing the directory tree should check
- for the presence of the .Product-Info file first, and if not found, try
- to load the Product-Info (no leading period) file.
-
- 7. When KingFisher Database Records are transported via electronic mail or
- otherwise embedded within unrelated text (i.e. with news headers and
- personal signatures following) the records MUST BE enclosed in special
- DATA TRANSPORT MARKERS that tell the parsing software what information
- is part of the records and what is not. Multiple such records may be
- enclosed by only a single pair of markers, or multiple records may be
- enclosed each by a pair of markers with unrelated text before, after,
- and between the markers.
-
- If a file is being parsed which begins with a line less than or equal to
- 30 characters in length, and does not have a special DATABASE HEADER,
- then KingFisher assumes this file to be a KingFisher Release 1 database.
- This assumption can be false, so it remains the user's responsibility to
- assure that no garbage is fed to the parser.
-
- Note that the DATA TRANSPORT MARKERS are not meant for use in the
- .Product-Info files, although they will be ignored if found. They would
- simply be wasted, there.
-
- The following examples are to be read as complete files between the
- lines that look like this: ---------------
-
- Example 1: A file containing text in addition to the database record.
-
- ----------------------------------------
- Hello, Joe. Here is the description of that weird game
- I was telling you about. See if you can figure out how
- to win this. Good luck!
-
- .BEGIN-FISH-DESCRIPTION
- .name
- MonkeyCommand
- .author
- KingKong Industries
- .description
- Lure the lovestruck monster ape back to his island.
- Tools include Fay Wray's torn nightgown, a Fokker
- airplane (you get to pilot it), a compass and a map.
- .path
- FishROM001:games/MonkeyCommand/
- .END-FISH-DESCRIPTION
- ----------------------------------------
-
- Example 2: A file containing nothing but two database records.
-
- ----------------------------------------
- .name
- MonkeyCommand
- .author
- KingKong Industries
- .description
- Lure the lovestruck monster ape back to his island.
- Tools include Fay Wray's torn nightgown, a Fokker
- airplane (you get to pilot it), a compass and a map.
- .path
- FishROM001:games/MonkeyCommand/
- .name
- MonkeyCommand II
- .author
- KingKong Industries
- .description
- Keep the captured ape from assaulting the defenses
- of the prison that was erected at the conclusion of
- MonkeyCommand I. The action consists of coordinating
- the actions of four native tribal leaders and their
- vassals in repairing the damage done by the rampant
- beast.
- .path
- FishROM002:games/MonkeyCommand2/
- ----------------------------------------
-
- Example 3: A file containing two database records interspersed with
- extraneous text. The records are protected by DATA
- TRANSPORT MARKERS
-
-
- ----------------------------------------
- Hi Tom,
-
- Remember that monkey game you told my about?
-
- .BEGIN-FISH-DESCRIPTION
- .name
- MonkeyCommand
- .author
- KingKong Industries
- .description
- Lure the lovestruck monster ape back to his island.
- Tools include Fay Wray's torn nightgown, a Fokker
- airplane (you get to pilot it), a compass and a map.
- .path
- FishROM001:games/MonkeyCommand/
- .END-FISH-DESCRIPTION
-
- Well, seems that one wasn't enough and they released
- another one. We'll have to figure out how to finally
- beat the first one, it seems, before they let us play
- the next. Maybe we can look through the binary to find
- that code phrase. Here's the text:
-
- .BEGIN-FISH-DESCRIPTION
- .name
- MonkeyCommand II
- .author
- KingKong Industries
- .description
- Keep the captured ape from breaking through the defenses
- of the prison that was erected at the conclusion of
- MonkeyCommand I. The game consists of coordinating the
- actions of four native tribal leaders and their vassals
- in repairing the damage done by the angry beast.
- .restriction
- You need the secret code from the first MonkeyCommand
- which you can only get if you won the game.
- .path
- FishROM002:games/MonkeyCommand2/
- .END-FISH-DESCRIPTION
-
- (=:Joe:=)
- ----------------------------------------
-
- 9. The following describes a list of STANDARD fields for the KingFisher 2.0
- database. Please note that every field begins with a period to
- distinguish it from the field contents. KingFisher has some very
- specific ideas about what these STANDARD fields may contain. It is
- important, therefore, that you follow these guidelines.
-
- In most fields, text on multiple physical lines is considered to be the
- same as if it was all on one long line. Newlines are simply treated as
- a whitespace. If you wish to insert special formatting symbols, please
- refer to the section below, titled FORMATTING SYMBOLS, for more
- information.
-
- While it is possible to omit any field, even those not marked OPTIONAL,
- it is highly recommended to follow the established guidelines! If
- additional fields are needed because you wish to offer information that
- does not fit within the framework of the existing fields, you are
- perfectly welcome to create additional fields! They will always be
- treated like free format fields.
-
- ================================================================
- .name
- PURPOSE: The proram's name
- FORMAT: 1 line only
- EXAMPLE: KingFisher
- EXAMPLE: HomeBase VI
- EXAMPLE: AIBB
- EXAMPLE: gcc
- ----------------------------------------------------------------
- .fullname
- <<<OPTIONAL>>>
- PURPOSE: The program's full (or complete) name
- FORMAT: 1 line only
- EXAMPLE: Amiga Intuition Based Benchmarks
- EXAMPLE: GNU C Compiler
- NOTES: If the .name is not an abbreviation then omit the
- .fullname. No sense in giving the name twice!
- ----------------------------------------------------------------
- .type
- PURPOSE: A keyword that describes the nature of the program
- FORMAT: Preferrably a single word or two.
- EXAMPLE: Database
- EXAMPLE: Spreadsheet
- EXAMPLE: Animation Player
- EXAMPLE: Animation Tools
- EXAMPLE: Communications
- EXAMPLE: Display Commodity
- EXAMPLE: Mouse Commodity
- NOTES: Avoid abbreviations. Refer to the list below for
- suggestions.
- ----------------------------------------------------------------
- .short <@>
- <<<OPTIONAL>>>
- PURPOSE: A one-line description, preferrably not exceeding
- 40 characters in length. This description is to
- give a single-glance insight into the program's
- purpose.
- FORMAT: 1 line only.
- EXAMPLE: Software catalog/search/maintenance tool, multi-user.
- ----------------------------------------------------------------
- .description
- PURPOSE: A full-text description of your program, containing
- anything that is NOT ALREADY available through the
- other fields (see above and below.) The reader
- should gain a good understanding what your program
- can and cannot do. If you mention other programs
- please do not forget to provide a .reference field
- for each such mention.
- FORMAT: Any number of lines, treated as one line.
- Formatting is permitted, but generally discouraged.
- NOTES: Do not indent your text if you choose to format
- your text into multiple paragraphs. Do not use \t
- as a tab. Leave paragraph formatting to KingFisher.
- ----------------------------------------------------------------
- .version
- PURPOSE: The program's version number
- FORMAT: MAJOR.MINOR
- 1 line only
- EXAMPLE: 37.100
- NOTES: Please note that the Commodore guidelines specify
- that the number after the period is NOT a FRACTION
- but rather a WHOLE NUMBER! Thus, the following is
- a valid progression:
- 37.1 37.17 37.39 37.100 37.170
- The following are all vastly different versions:
- 37.1 37.10 37.100 37.1000
- NOTES: The format given for this field is really more of a
- SUGGESTION rather than a RULE. There is no reason
- why you can't store "Today's Version" or "v940205"
- instead of 18.173. In an ideal world everyone
- would use Commodore guidelines, but there are
- enough exceptions.
- ----------------------------------------------------------------
- .date
- PURPOSE: The program's official release date; not the date
- it made it into the database.
- FORMAT: year.month.day
- 1 line only
- EXAMPLE: 1993.09.27
- NOTES: The date format is chosen to be easily sortable.
- Note the use of leading zeros in month and day.
- The full year is to be given in anticipation of
- the coming change to a new millenium.
- ----------------------------------------------------------------
- .author
- PURPOSE: Any and all authors who have a part in the program
- FORMAT: Any number of lines, treated as one line (\n in the
- text will "break up" the line into multiple visual
- lines.)
- EXAMPLE: Joe R. User, Tea Rexx.
- EXAMPLE: J. Jones\n
- Random Hacker\n
- B. Clinton
- NOTES: Addresses should be placed in the .address field.
- There should be only one .address field for each
- .author field.
- If more than 1 .author field is specified, then the
- same number of .address and .email fields must also
- be given in a 1-to-1 relationship (i.e. the 3rd
- .author field must be associated with the 3rd
- .address, and the 3rd .email field.)
- EX: see the example "Joe R. User, Tea Rexx" above;
- Assume that Joe R. User has long vanished and no
- known address, but that Tea Rexx has supported the
- program for a while. If an .address and/or .email
- field is available for Tea Rexx, then you must
- specify EMPTY .address and/or .email fields for the
- author listed BEFORE the ones for Tea Rexx.
- Likewise, if the two authors names were reversed,
- you would NOT have to specify blank .address and/or
- .email fields for the second author. I hope that
- makes sense.
- ----------------------------------------------------------------
- .restrictions
- PURPOSE: List restrictions placed upon this program. These
- should indicate in which way this program has been
- made dysfunctional (for demo purposes), problems
- (bugs) known to exist with this program, or any
- other thing that lets the user know that this
- program, as seen in this distribution, may not
- fully satisfy the user in some form.
- FORMAT: Free form; see .description for more info.
- EXAMPLE: Demo version has SAVE and PRINT options disabled.
- EXAMPLE: The ReadOperatorsMind command fails to work with
- CDTV units. Incompatible with the Discus Ejector
- utility.
- EXAMPLE: Crashes if iconified while loading a sample or
- image larger than 64K.
- EXAMPLE: Requires a PAL display.
- EXAMPLE: The program is in German but the documentation
- offers translations into English and Swahili on
- a menu-by-menu and gadget-by-gadget basis.
- NOTES: Do NOT use this field for things like "won't work
- with KS 1.3" or "won't run with less than 2 Megs
- of RAM."
- ----------------------------------------------------------------
- .requirements
- PURPOSE: List requirements for your program. These should
- give the reader enough information to determine if
- the software will run on his/her system or not.
- Be sure to specify operating system versions,
- (hard)disk space requirements, etc. If your
- program requires any external libraries that are
- not part of the system software, it would be nice
- to list them here and comment on whether or not
- they are included in the archive.
- If your program is known to run on every existing
- (Amiga) platform, state this in this field!
- FORMAT: Free form; see .description for more info.
- EXAMPLE: 68020, 68030, or 68040 CPU; 3M free RAM; 18M disk
- space; at least 640x480 display capabilities!
- EXAMPLE: Requires WB2.1 (V38)
- EXAMPLE: Requires 1024x768 (or larger) display capability.
- EXAMPLE: Works only with 4096-channel, 230db BLAZETHUNDER
- Audio board.
- EXAMPLE: Requires MUI (MagicUserInterface) version 5.
- ----------------------------------------------------------------
- .reference
- <<<OPTIONAL>>>
- PURPOSE: Full path to where this program's files are stored,
- as well as the version that is stored there.
- FORMAT: 2 lines per reference: the first line specifies
- the full path (with trailing slash) and the second
- line, the version.
- NOTES: Multiple such fields may be provided to reference
- previous versions of this program, as well as
- other programs that might be of interest. The
- versions should be listed in reverse chronological
- order and should NOT include the current entry.
- If this is an original entry and you make no
- references to other programs anywhere, them omit
- this field.
- Please note that it is VERY VERY VERY important
- that you specify the CORRECT PATH! Without a
- correct path, this entry will be nearly useless!
- EXAMPLE: FishROM-0002:Productivity/Databases/HomeBase VI/
- 417.0
- FishROM-0001:Productivity/Databases/HomeBase VI/
- 415.12
- ----------------------------------------------------------------
- .distribution was: .status in rev 1
- <<<OPTIONAL>>>
- PURPOSE: Describes the distribution and ownership status
- of this software. Please see below for a list of
- common (and recommended!) terms to use.
- FORMAT: 1 line
- EXAMPLE: Shareware
- NOTES: Please see the table below for descriptions of the
- recommended terms.
- ----------------------------------------------------------------
- .price
- <<<OPTIONAL>>>
- PURPOSE: Describes the cost of this program to the user.
- FORMAT: Any number of lines, treated as one line.
- EXAMPLE: $50(US), DM75.
- NOTES: In order to make this field more useful, it is
- strongly recommended that the first currency
- listed is United States Dollars as shown in the
- EXAMPLE above. This allows a search to be limited
- to a common price base. If you charge no money
- for this program, omit this field!
- ----------------------------------------------------------------
- .address
- <<<OPTIONAL>>>
- PURPOSE: Describe a full postal address of the author, to
- be used if it becomes necessary or desirable to
- contact the author. Do not specify the author's
- name, as this is already in the .author field.
- FORMAT: Multiple lines; formatting symbols \n are not
- required, as physical line breaks are equivalent.
- NOTES: SEE THE .author FIELD FOR IMPORTANT INFORMATION
- ----------------------------------------------------------------
- .email
- <<<OPTIONAL>>>
- PURPOSE: Describe a full electronic mail address. Make
- sure that this address is complete and reachable
- even from less well-connected sites. The author
- of KingFisher, for example, can be reached as
- walrus@wam.umd.edu
- It would be an error to specify only "walrus" or
- "walrus@wam" even though these will work within
- the particular organization where this address
- is valid.
- FORMAT: Multiple lines; formatting symbols \n are not
- required, as physical line breaks are equivalent.
- NOTES: You may specify multiple electronic mail addresses
- in order of decreasing reliability and permanence,
- each on its own line.
- SEE THE .author FIELD FOR IMPORTANT INFORMATION
- ----------------------------------------------------------------
- .exectype
- <<<OPTIONAL>>>
- PURPOSE: Describe the type of executable(s) that make up
- your program. Examples: 68xxx, AMOS, Script,
- ARexx, Compiled basic, Amigabasic, etc.
- FORMAT: Free form; see .description for more information.
- EXAMPLE: AMOS
- EXAMPLE: 68000, 68020, and 68040.
- ----------------------------------------------------------------
- .installsize
- <<<OPTIONAL>>>
- PURPOSE: Indicate the minimum and maximum sizes of the
- executable as it is installed. The minimum size
- should give an indication of how much diskspace
- is required for a minimal installation (perhaps
- lacking help files and miscellaneous tools) while
- the maximum size should indicate the absolutely
- highest amount of diskspace required by the
- program.
- FORMAT: 1 or more lines; Only the first line has a fixed
- format, the rest are free-form. See examples.
- Always indicate the number scales with a capital
- K (for kilobyte) or M (for megabyte)
- EXAMPLE: 220K - 2M
- Most of the database files can be kept on floppy
- disks, so valuable harddisk space is not wasted.
- EXAMPLE: 18K
- EXAMPLE: 38K - 500K
- Lots of documentation and example scripts make up
- the bulk of the installation.
- ----------------------------------------------------------------
- .source
- <<<OPTIONAL>>>
- PURPOSE: Describe what source code is available with this
- program. If source code is not available then
- omit this field. The .construction field often
- helps further identify the type of source if you
- omit details here. How large is the source?
- FORMAT: Free form; see .description for more information.
- EXAMPLE: SAS/C,Manx,DICE source (750K) available for $15
- EXAMPLE: Oberon source included. 85K
- EXAMPLE: Limited C source (15K) included.
- EXAMPLE: All source plus custom libraries, included: 12MB
- ----------------------------------------------------------------
- .construction
- <<<OPTIONAL>>>
- PURPOSE: Describe the type of language(s) used to create
- this program and the methods used to build the
- final executable. If possible, include the
- compiler version(s) and possibly important
- options, such as optimization.
- FORMAT: Free form; see .description for more information.
- EXAMPLE: SAS/C++ 6.5 with full optimization.
- EXAMPLE: AdaEd.
- EXAMPLE: Fortran with self-made compiler.
- EXAMPLE: AMOS
- ----------------------------------------------------------------
- .tested
- <<<OPTIONAL>>>
- PURPOSE: Give an indication of which configurations have
- served as test environments.
- FORMAT: Free form; see .description for more information.
- EXAMPLE: A500(512K Chip, 0K Fast, 1 Floppy), A2000(1M Chip,
- 2M Fast, 40M HD, 1 Floppy); not tested on 68020+
- CPUs.
- EXAMPLE: A1000, A500, A600, A2000, A2000/30, A3000, A1200,
- A4000/30, A4000/40 with various amounts of Chip
- and Fast RAM, with and without MMU or FPU. Found
- to be free of Enforcer hits and able to work with
- virtual memory products; compatible with Retina,
- EGS/Spectrum, and Picasso software. Also tested
- under V33 through V40 system software.
- ----------------------------------------------------------------
- .run
- <<<OPTIONAL>>>
- PURPOSE: Specifies how to start the program.
- FORMAT: visible=type,command
- Where 'type' is either WB or CLI to indicate the
- required startup environment.
- EXAMPLE: HomeBase VI=WB,HomeBase VI
- HomeBase VI=CLI,ExecuteMe.HB6
- HomeBase VI Fixer=CLI,ExecuteMe.HB6Fixer
- EXAMPLE: FishTub=WB,ExecuteMe
- NOTES: KingFisher requires that this entry strictly
- follows the above format.
- The user is shown all text up to the first equal
- sign (the 'visible' portion.) The 'type' portion
- must be terminated with a comma (,) and following
- it will be the command to be executed.
- Selecting it will either invoke the program from
- the Workbench (invoking it as if double clicked on
- its icon (if the .info file exists), or execute the
- indicated shell command line as if it has been
- typed at an open console window.
- ----------------------------------------------------------------
- .docs
- <<<OPTIONAL>>>
- PURPOSE: List all documentation files, possibly for viewing
- from within KingFisher for more detailed info.
- FORMAT: 1 line per file
- EXAMPLE: HomeBase.guide
- HomeBase.dvi
- HomeBase.doc
- NOTES: KingFisher examines the EXTENSION and invokes the
- appropriate viewing tool: MultiView/AmigaGuide for
- .guide files, ShowDVI for .dvi files, more for
- anything else. These files can also be sent to the
- printer via KingFisher (i.e. print .ps or .doc
- files.) KingFisher will honor the PAGER
- environment variable (defaults to 'more') to
- display standard text.
- NOTES: Omit any path to these files, unless it is a
- relative path from within the program's CD-ROM or
- disk directory. Do not specify these files if
- they are located within archive files; remember:
- the files must exist as they are given here!
- ----------------------------------------------------------------
- .described-by
- <<<OPTIONAL>>>
- PURPOSE: Specifies who created the description (Product-Info
- file) for the program.
- FORMAT: Free form; should include an electronic mail
- address, too, if available.
- EXAMPLE: Fred Fish (fnf@fishpond.cygnus.com)
- EXAMPLE: Udo Schuermann <walrus@wam.umd.edu>
- ----------------------------------------------------------------
- .submittal
- <<<OPTIONAL>>>
- PURPOSE: Identifies who submitted the program to Fred or
- else how this program came to be on the reference
- disk.
- FORMAT: Free form; usually one line.
- EXAMPLE: Submitted on disk directly by the author.
- EXAMPLE: Downloaded from wuarchive.wustl.edu in pub/aminet/util/misc
- ----------------------------------------------------------------
- .stored-in
- PURPOSE: Specifies where and especially HOW the application
- is stored. This field should specify EITHER the
- name of a directory (ending with a : or a /) OR the
- name of a file (one that does NOT end with : or /)
- FORMAT: 1 or more lines.
- EXAMPLE: FF1000:Disks701-1000/Disks941-960/Disk950/Enforcer/
- FF1000:BBS/Disks501-1000/Disks941-960/Disk950/Enforcer.lha
- NOTES: It is up to the particular application to decide
- how to handle this information. If the extension
- on the file is .lha, .lzh, .Z, .zoo, .pak, .zip,
- etc. then you could, for example, call upon the
- archiver of choice to unpack the application into a
- temporary directory and let the user run the
- program or list the files, or whatever.
-
- *** NOTE *** This is not a user generated field.
- If you create a Product-Info file for material
- you have released, leave this field out.
- ----------------------------------------------------------------
- .path
- ***** RESERVED FOR INTERNAL USE *****
- PURPOSE: Specifies absolute path to THIS program, much like
- a .references entry, but without version. This
- keeps things cleaner and allows electronically
- distributed updates (in text form) to transfer
- information otherwise found out and determined only
- through the add-fish mechanism of the tree-walk on
- the CD-ROM. (If you understand what is meant by
- this, I'll buy you a drink!)
- FORMAT: 1 line path to the application on the CD-ROM.
- This is the same path as where the .Product-Info
- file was found (i.e. the file you as the submitter
- are to generate using these guidelines.)
- NOTES: DO NOT SPECIFY THIS YOURSELF (i.e. in a Product-Info
- file.) KingFisher writes this entry during a
- Database Export operation and reads it during a
- Database Import operation. KingFisher ignores this
- field during a Database Build operation, so it is a
- total waste except when used during export/import
- operations! AddFish makes no use of this field.
- ================================================================
-
- FORMATTING SYMBOLS
-
- KingFisher is font sensitive and able to adapt its display to proportional
- fonts as well as non-proportional ones. If you introduce formatting
- symbols you may severely limit KingFisher's ability to effectively display
- information for your program. We ask you, therefore, to exercise restraint
- and care.
-
- \\ A single \ (backslash) symbol.
- \n End of paragraph. Text following this symbol is forced
- to the beginning of the next visible line. Fixes all \=
- tab definitions into place. The next \= will cause all
- tabs to be cleared and a new one to be set.
- \= Sets a tab at the current horizontal position. The next
- \n will fix these tabs into place and prevent further
- additions.
- \t Tabs to the next tab, regardless if this tab is to the
- left or right of the cursor position! Do not use tabs
- for paragraph indentation! Do not indent paragraphs.
- \. A single . (dot) especially useful if/when such a dot is
- found (against normal practice) at the very beginning of
- a line of text and would then be misunderstood to repre-
- sent a field-name-specifier.
-
- Do not introduce other formatting sequences as future versions of
- KingFisher may create new ones for special purposes.
-
- ================================================================
-
- EXAMPLES OF "TYPE" WORDS
-
- Action Game Animation Animation Player
- Animation Tool Archiver CLI Tool
- Communications Compiler Compression
- Database Disk Tool Display Commodity
- Drawing Image Conversion Image Processing
- Library Mouse Commodity Music Composition
- OS Utility Painting Picture
- Printing Sound Analysis Sound Editing
- Sound Playing Spreadsheet Strategy Game
- Text Text Editing Text Viewer
- Thinking Game Word Processing Workbench Tool
-
- ================================================================
-
- LIST OF SOFTWARE STATUS KEYWORDS
-
- Commercial Commercial software is owned and distributed
- through licenses. It costs money to individual
- end-users and is not freely distributable.
- SUCH PIECES SHOULD NOT APPEAR ON DISKS THAT ARE
- MEANT FOR FREELY DISTRIBUTABLE SOFTWARE!
-
- Commercial Demo
- Represents a demonstration of a commercial
- package. As such, commercial demos are freely
- distributable and may have limitations as
- described in the .limitations field.
-
- Giftware Like shareware, usually.
-
- Shareware Such software is owned and copyrights are
- held by the author(s). The software may be
- distributed freely, but not sold for profit,
- of course. Shareware often specifies a limit
- of some time after which you are requested or
- required to register the software (i.e. pay
- for it.) This provides you with the means to
- evaluate the software thoroughly before paying
- for it.
-
- Freeware Such software is owned and copyrights are
- held by the author(s). The software may be
- distributed freely, but not sold for profit,
- which would mean the software is no longer
- FREEware. No payments are required for such
- software.
-
- Public Domain Software labeled PD (Public Domain) belongs to
- the public, i.e. ANYONE. Some people release
- their software into the public domain with the
- mistaken idea that they can continue to own
- and control the program. Not so. Software
- that is labeled Public Domain (or said by the
- author to be released into the public domain)
- truly belongs to anyone and everyone. It is
- quite legal for someone to take such a program
- and sell it for profit as is. Likewise, it
- it perfectly acceptable to modify public domain
- software to build a better product (or whatever)
- out of it and then sell it for profit.
-
- GNU Public License
- The terms and conditions of this license
- are long and not easily reproduced here. Suffice
- to say that software released under the GNU Public
- License must be distributed with source code.
- They are not public domain, however.
-
- GNU Library Public License
- The terms and conditions of this license
- are long and not easily reproduced here. Suffice
- to say that software released under the GNU Library
- Public License must be distributed with source
- code. They are not public domain, however.
-
- Copyright but Freely Redistributable
- The author holds all copyrights but allows the
- material to be freely distributed under specified
- conditions.
- #EOT
-