Working with Configuration Parameters

There are several ways to set a configuration parameter with EDMsix. Some of the parameters are system and process information that is read only. For those that may be changed, not all the methods apply. See the description of the Configuration Parameters for a description of which method that applies to each parameter.

  • System environment
  • EDMsupervisor
  • Command line argument
  • EDMinterface

Configuring by the System Environment.

When starting your EDMclient or EDMsixServer application, EDMsix will inherit the system environment from its parent process. When launching the application from an icon on your desktop, you may use the Control Panel on Windows (or an equivalent tool for other platforms) to assign a permanent value to a configuration parameter. When using this method, the configuration parameter applies to all processes you start on your system. For instance, if all your EDMsix applications shall use the extended access checking feature of EDMsix, you may define a system environment variable EXTENDED_ACCESS_CHECKING and assign the value TRUE to it. EXTENDED_ACCESS_CHECKING=TRUE will become the default setting of this parameter and will apply to any EDMdatabase you create, unless you override its value with any of the other methods. EDM_HOME and your EDMsix license keys are configuration parameters that are set this way by your Express Data Manager install kit.

Since EDMsix inherits the system environment, you may also define configuration parameters in a start-up script and run this script prior to starting your application. On Windows, you would typically start your application after running a script like StartMyApplication.cmd with the statement

set EXTENDED_ACCESS_CHECKING=TRUE

 Configuring with EDMsupervisor.

The EDMsupervisor is an EDMclient that comes with your Express Data Manager install kit. It is an administration tool from which you have access to every built in feature of EDMsix. This includes reading and setting configuration parameters.

Start the EDMsupervisor (edms.exe) and open the System Adm. menu. From this menu, you can select

  • List → Config. parameters: Lists a complete list of all configuration parameters and their current value.
  • Set config. parameter: Used to change the value of a given configuration parameter.
  • Get config. parameter: Lists the value of a given configuration parameter.
  • Reset config. parameters: Restores the default value of all configuration parameters.

Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_icon_Info'.

Note that any change of the configuration parameters made in the EDMsupervisor applies only to the EDMsupervisor and any process launched by it. I.e, if you set EXTENDED_ACCESS_CHECKING=TRUE in the EDMsupervisor, the parameter applies only to EDMdatabases created by the same EDMsupervisor process.

Configuring with Command Line Arguments.

This method applies to the EDMsixServer and to EDMapplicationServers. The edmserver.exe and edmappserver.exe are applications that take the command line argument -ae. Whenever you start these applications, you may provide any number of configuration parameters to the process by adding them to the command line. If you are developing an EDMthinClient and you need to start an EDMdevelopmentServer and create an EDMdatabase with EXTENDED_ACCESS_CHECKING=TRUE, you may do that with the following command line

C:\> edmserver.exe -lc:\db -s4500 -nMyDB -pMyPwd_2017 -c -aeEXTENDED_ACCESS_CHECKING=TRUE
***  EDMsix Version 2.0100.04 Mar 29 2016 Development Server started  ***
 
Database created.

 

Configuring with EDMInterface.

Some configuration parameters needs to be set before you start your EDMclient process. Those parameters cannot be set by this method, because it will be to late since the process is already running when you change them. An example is the EDM_MEMORY_BLOCKS that configures the cache size of the EDMclient. On the other hand, a parameter that must be set with this method is EDM_LICENSE, which contains the embeddable EDMruntime license key used for activating the EDMsdk libraries in commercial EDMstandaloneClient applications distributed under Embedded Software License Agreements.

You may read the value of any configuration parameter with the EDMInterface API, invoking the function edmiGetInternalDataBN(). A new value may be assigned with the function edmiSetInternalDataBN(). These are C/C++ functions of the EDMInterface API. The parameters may be set from any EDMInterface Language Binding but they may use a different syntax. The following sample shows how the default string encoding of an EDMdatabase can be changed by altering the EDM_DEFAULT_STRING_ENCODING configuration parameter with the EDMInterface API.

 

Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_icon_C(30px)'.

 
Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_xc_SetEDMdatabaseStringEncodingUTF8'.