The Plain Vanilla Player
the Data Store
There are two fundamentally different data structures.
- Data prepared to be viewed, edited, or published using the Plain Vanilla Player is in the M1M or M3M format.
It can be stored anywhere, or it may only exist globally for processing.
It might be said that these represent a fluid but often complex data format.
Fourteen examples of M1M and M3M arrays are stored on file
and rendered in html at
This processing is done in c:\dv\pvmm.w3 which is started with the function qkFolder.
The last illustration
SwimGold SitePlan was rendered by Jonathan and Adrian
in far superior fashion as a demo. I only have it in hard copy, but I'll mail it to you.
We could ask them to recreate that facility for us.
Knowing the hierarchical and non rectangular structure of several of these elements,
it seems that APL+Win component files
are the ideal data store receptacles which should be used to record all these data.
(it's probably already the case in most cases for you)
- - store your arrays (pvM property in M1M data structure)
- - store the arrays properties (all other properties in M1M data structure)
- - store M3Ms which are collections of M1M data structures
- - etc.
- Permanent data storage structures are rigid and comparatively simple.
- qkFolder.cf - Some FCNs have arrays named from a "reserved" list.
These have very specific meaning for how information in the folder is to be displayed.
Any array which is not on the "reserved" list is simply information, e.g. a "webpage".
There are 27 "reserved" names and the list can be obtained by executing "qkReservedNames 1".
A qkFolder.cf file can have a large number of FCNs devoted to "webpages", or general information.
In fact, qkFolder.cf can be used to support a very large and sophisticated website (see
www.qkw.com for examples.
- qkInputs.cf - Each FCN has an array from a rigid list of
allowed "input" arrays.
All inputs are optional. The file directory identifies the particular input array.
An instance of the model can only use one instance of an input array, but variations on input arrays
should eventually be able to be stored in qkInputs.cf, but at present each input array can only be represented once.
- qkOutputs.cf - a rigid file structure (used to be called a scratch file).
Each FCN has rigid meaning by it's FCN number.
- qkAnything.cf - This file can store anything that does not fit in one of the other file structures.
Usually data in qkAnything.cf is used by some other array or executable character string.
- Properties for the permanent data storage structures can be defined using the name of the array.