The location of the jBASE SYSTEM file is determined by the JEDIFILENAME_SYSTEM environment variable. The environment variable is usually setup when the user logs on. By default, jBASE uses a hash file named SYSTEM, in a subdirectory named src, in the jBASE release directory as defined by the environment variable JBCRELEASEDIR.
Use of the SYSTEM file also depends upon the setting of the environment or registry variable JEDIFILENAME_MD, which describes the users MD/VOC file. This environment variable should be set to the users required MD file. e.g. To use an MD file in the users home directory set the environment variable, JEDIFILENAME_MD to $HOME/MD or %HOME%\MD.
In its minimum form, a record in the SYSTEM file must contain two fields. Field 1 contains the character "D" to specify a local account, and field 2 contains the absolute path of the account directory. For example:
Fields 7, 11 and 20 through 37, of the SYSTEM record, are used by the jBASE LOGTO and PASSWORD commands. All other fields are reserved. The full format of a SYSTEM record is as follows and will be described in subsequent sections on this page:
ENCRYPTED PASSWORD (Field 7)
This optional field should only be maintained through the jBASE PASSWORD command. The PASSWORD command prompts for an Account Name which must be a valid entry in the SYSTEM file (i.e. the file defined by the JEDIFILENAME_SYSTEM environment variable). The password must be entered twice for verification that it was entered correctly. Be aware that entry of this password is case sensitive (e.g. "MyPassword" is different than "mypassword").
The optional parameters field is used by the jBASE LOGTO command. This field is only fully supported on jBASE 3. It allows the environment of each account to be set up during the LOGTO event. When using the -X option multiple parameters or parameters with spaces must be enclosed in single (') or double quotes ("). See EXAMPLES below.
The optional parameters for Field 11 are:
Note that while some field 11 functionalty is maintained for backward compatibility, it is strongly recommended to use the Extended SYSTEM File values as there is no guarantee that all field 11 functionality will work correctly on jBASE 4 and jBASE 5.
All of the above examples could be included in attribute 11 of a system record as follows (Windows example):
As of jBASE 3.4.3, system file entries allow the use of recursive environment variables, i.e. %VAR% on Windows and $VAR on unix. For example (Unix example):
This functionality is only available for use with the -X option. Use caution with this feature as each subsequent LOGTO will cause the environment variable to grow disproportionately.
The SYSTEM File of jBASE 4 and jBASE 5 has 16 new attributes that are used to define the assignment of environment variables in the LOGTO process. These values are stored in attributes 21 through 36 and are encapsulated by attribute 20, "ESYSTEM_START", and attribute 37, "ESYSTEM_END".
For attributes 21 - 35 simply specify the value.
In most cases, if a value is not included then the environment variable will remain the same as it was prior to the LOGTO. However, it is best to assign values explicitly rather than relying on this behavior.
If there is a conflict between Field 11 and the Extended SYSTEM File Values then the Extended SYSTEM File Values will take precedence over Field 11.
The Extended SYSTEM File values (ESYSTEM_START+1 thru ESYSTEM_START+15) are
held internally within the jBASE process. These settings are NOT passed to the
Operating System where 'expansion' is performed. In order to set environment
variables containing references passed to the Operating System for 'expansion',