home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 7
/
FreshFishVol7.bin
/
information
/
product-infos
< prev
next >
Wrap
Text File
|
1994-02-27
|
34KB
|
788 lines
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