The server connect to a repository. This repository have it's application settings in the form of an ini file named rdrrXaaa.ini where X is the application letter, usually in modern time an A. This file follows a standard Windows old style structure where you have [SECTIONS] and in these sections you have SETTINGS=val. Instead of making our own settings for the server, we use this file with different sections for the different version of the server. Development Server have a [DEVSERVER] section for all it's settings.  The live server has [SERVER]. If you want other section names you can start the server with parameter --prefix=mysectionname

The order these things are read is command line then settings. This means if you start the server with a parameter that also is set i the ini settings, the command line will override the ini setting.

The server settings

AuthFieldLevel The field used for security levels in server. 
AuthFieldPassword The field used for matching password given by the login process. How the password sent is matched depends on another setting named AuthMethod.
AuthFieldExclude The login method automatically add all fields except password field when logging in to sessiondata. To avoid fields that you do not want, you can set then here as a , seperated list. Default is: "Dummy,Help Level,Level ,Screen Style ,Name"
AuthFieldUsername The field to lookup match for the username part of the login.
AuthLevelDefault The default level assigned to a person logging in where no level field is set.
AuthHashType The hash type to used if hash is set at the authentication method. Support MD5, SHA1, SHA256, SHA384 and SHA512. This is the hash methods you should use when saving the password. Add saltpre + password + saltpost and do the hash on it and save the value to the password field. Then this is done when password is given and this is what is checked against the password field in the database. This way we never store any passwords in palintext.
AuthMethod What method to use to validate passwords. Default is plaintext, but you should not use that if you can avoid it. Support plaintext and hash.
AuthSaltPost The extra string added after the password before making a hash when authentication method is hash
AuthSaltPre The extra string added before the password before making a hash when authentication method is hash
AuthTable Table to use for authentication. Default is Users that also is used by DataEase for Windows applications.
DefaultFolderCreateSecurity Default set for root folder for creating. Default is 4 that means Medium3.
DefaultFolderDeleteSecurity Default set for root folder for deleting. Default is 1 that means High.
DefaultFolderReadSecurity Default set for root folder for reading. Default is 8 that means all can read.
DefaultFolderSecurityIsRecursive This tells if the settings in the root folder should be applied to all folder below without it's own settings. The default is 1 meaning true. To turn of set value to 0 meaning false.
DefaultFolderUpdateSecurity Default set for root folder for updating. Default is 4 that means Medium3.
DefaultUserIsLoggedIn This can be 0 or 1 where 1 logged in. The development server is always logged in and the live server have default 0 not logged in.
DefaultUserName The default users name given to a new session. This is always Developer for development server and default blank for live server.
DefaultUserSecurity The security given to new sessions. This can be used to make it possible for any user of the application to do operations on tables without logging in. In development server this is always 1=High. On live server this is default 8 = None.
ExcludeFiles

List of extensions of files that are excluded in any folder of the application. The input string elements are separated by a , or ;. The format supported for the exclude elements are *.ext, .ext and fullname.ext.

Ex. ExcludeFiles=*.dql,*.csv,*.exp,workinprogress.html

JSONHeader This is the HTTP header for ContentType used for all returned JSON responses from the server. This will give the browser/remote the application/json type and the default charset used when generating data. The default if nothing is set is "application/json; charset=utf-8" meaning the data returned is of type JSON and the default char set is utf-8. All JSON returned from the server is always utf-8 so do not change this as the JSON still will be utf-8.
PrismBoolAsJSONBool Make choice no/yes to be bool in prism. Data sent as json bool and tdf only show bool type. All other interfaces sends bool instead of yes no.
PrismDataTimeAsISO Tell if we want data and time fields in server to be sent to client as ISO formatted strings instead of as is in DataEase.
The format sent from the server on read is YYYYMMDD. Sending dates to server support both YYYYMMDD and YYYY-MM-DD format.
PrismNumberAsJSONNumber Tell if we want number to be sent as numbers or as strings from prism. When numbers are returned from prims they are formatted as whit decimal separators and triplet separators. When working in web you might want to to this in the web browser based on users locale.
Values are 1 for return as number and 0 for return as defined in prism.
ServerAutoStart Start the server automatically when app i opened in DfW by setting value to 1
ServerAutoStop Stop the server automatically when DfW is closed by setting value to 1
ServerPort The port used by default of the server. If no port is given, a random port between 8000-8999 will be automatically assigned by DfW.
ServerRestart Used by DfW to set if server should automatically restart on exit. To do this set value to 1.
SessionTimeout The default session timeout used for logged in users in minutes. Default is 1440 minutes (24h).
WebRoot

The folder server will look for files first. If not set this will be the DataEase application folder. You can set it relative to the application folder by not have a : in second position.

Ex. WebRoot=static your folder for files are DEAppFolder\static

WebRootExcludeDEFiles Value 0=off and  1=on: means to exclude all files used by DataEase database from beeing loaded in server. These are files like .dbm and .tdf Default is 1 but if you have set a web root other than default you can turn it off to save load on the server.
WebTable

Name of table to use for web related data.


The other versions will be updated as they are available.

The security levels and numeric values

0 This is a level that can be used on folder security to disallow the use. This can be uses in live server to turn off function that should not be available at all.
High 1 The super user in DataEase that can do all. This is also the default security for delete in folder security for root.
Medium1 2
Medium2 3
Medium3 4 The is the default set in DataEase tables for update, modify and delete in table def. It is also the default for folder default folder security for update and create
Low1 5
Low2 6
Low3 7 This is the lowest security that can be set on DataEase tables. It is also the security level for read records in DataEase tables.
8 Is a level that means all can do. This is often used for files that all can read in a library. This is the default security level for folder read

We might add the possibility to redefine the names of the levels at a later point. We will also add groups.

The locale settings for date and time

In DataEase you can now add settings in RDRRxAAA.INI for data and time formats. This is also used for the server. Here are the supported settings. All of the is set under the section [LOCALE].

DateSeparator The character used to separate different parts of a date. You can use and single character, ascii code or SPACE
DateStandard Set the order of data. Can be 1, 2 or 3. 1=MM/DD/YY 2=DD/MM/YY and 3=YY/MM/DD
DecimalSeparator The character used to separate decimal part from whole part of a number. You can use and single character, ascii code or SPACE
TimeSeparator The character used to separate different parts of time. You can use and single character, ascii code or SPACE
TripletSeparator The character used to split numbers into triplets. You can use any single character, ascii code, SPACE or NONE. NONE will remove the separator from numbers so you can get normal numbers like 1234567.89 instead of 1 234 567,89.

Mind that this now is also what is used by the DataEase application in the client and not just for web.