OS.app System Configuration
OS.app System Configuration
Each application created with the OSbee Software Factory V4.5.5 and later contains the system configuration to manage system wide settings.
The system configuration has two parts:
- Configuration group
- Configuration
The configuration entries belong to a configuration group to bundle related configuration entries.
Configuration entries and groups show up during operation of the application, as soon as the entry is requested by the application. The default value is used as the initial value. As soon as the configuration entry is available, it can be adjusted to the local needs.
Deleting an entry will result in the recreation of the default value, as soon as the application requests the value.
Configuration values will be introduced without seperate notice. The description might contain values, that are not yet available in the OS.app you're using, depending on the version of the software factory used to build the applicatoin.
Configuration Attributes
There are various attributes used for the configuration. All entries have
Attribute | Type |
---|---|
configuration group | Reference to the Configuration group |
key | String |
description | String |
The follwing types extend this basic attribute set. It can be a simple or a complex type
Boolean
a simple yes/no value, selected means yes / true, deselected means no / false
Integer
a simple number with precision 0 eg. 5000
Float
a simple number with precision > 0 eg. 1.234
String
a simple text value. Whatever shall be configured as text
Textblock
a simple text block value. Whatever shall be configured as a larger amount of text. Can be formatted.
Datainterchange
a complex type to configure datainterchange parameters for import and export
Attribute | Type |
---|---|
protocol directory | String, the directory, where the import log is stored. empty disables the logging, Default: empty |
import blocksize | Integer, Default 5000 |
no superindex creation | Boolean, Default yes |
export blocksize | Integer, Default 1000 |
Notification Template
a complex type to configure user email notifications
Attribute | Type |
---|---|
locale | The language, the template is valid for |
subject | String, used as email subject |
body | String, used as email body |
Configuration Groups
Datamarts
Controls the datamart settings
For each datamart, the settings can be controlled
Key | Description | Type | Default | Possible Values |
---|---|---|---|---|
<datamart fqn>-ResultsetLimit4SQLExpression | sets a limit for the maximum number of lines returned from an SQL Expression Tables, Reports and Charts based on the datamart may eventually not present the whole data. The request return faster, especially if the request delivers a hughe amount of data if unlimited |
Integer | 0 | 0 = off, no limit > 0 |
DATAINTERCHANGE
Controls the datainterchange settings
For each datainterchange, the settings for the import and export can be configured
Attribute | Description | Type | Default | Possible Values |
---|---|---|---|---|
key | the datainterchange, the setting is used for | String | (not editable) | |
description | free text | String | ||
protocol directory | the directory, where the camel protocol files shall be saved. Attention: the use of protocol files has a significant impact on the performance |
String | directory on the server | |
no superindex creation | Do not update the superindex during import. |
Boolean | true | true false |
import blocksize | the number of records, that are imported in one block. The larger the blocksize, the more memory is needed. |
Integer | 5000 | 0 = no block defined |
import filename | the filename of the file to be imported. | String | ||
export blocksize | the number of records, that are exported in one block / file. | Integer | 1000 | 0 = no block defined |
export filename | the filename of the file that is created during export | String |
GLOBAL_PARAMETERS
A collection of global configuration parameters
Key | Description | Type | Default | Possible Values |
---|---|---|---|---|
ABSTRACTHYBRIDVAACLIPSEVIEW-NOTIFY-ABOUT-RENDERING | enable tray notification about the rendering of a ui component | Boolean | false | false true |
ABSTRACTHYBRIDVAACLIPSEVIEW-REFRESH-TIMEOUT | Time in milliseconds, how long a refresh of a AbstractHybridVaaclipseView shall wait | Integer | 300 | 0 = off |
BEANSERVICELAZYLOADINGCONTAINER-REFRESH-TIMEOUT | Time in milliseconds, how long a refresh of a BeanServiceLazyLoadingContainer shall wait | Integer | 0 | 0 = off |
BLOB_LOCATION | In case, blobs shall be stored in the filesystem instead of the database, the path can be configured here Attention: remember to include the directory into the backup in sync with the database backup |
String | nn | nn: not configured, otherwise eg c:\OS.apps\blobs |
LicenceGenerationPrivateKey | The private SHA384-with-ECDSA key to activate Compex licences. Only for internal use. | String | None | any Base64 encoded key for the algorithm |
LicenceGenerationCertificate | The certificate with the public SHA384-with-ECDSA key to activate Compex licences. | Textblock | -----BEGIN CERTIFICATE----- MIIBTjCB1aADAgECAgRjd3pNMAoGCCqGSM49BAMDMBExDzANBgNVBAMMBmxpemVu ejAeFw0yMjExMTgxMjI3NTdaFw0yMzExMTgxMjI3NTdaMBExDzANBgNVBAMMBmxp emVuejB2MBAGByqGSM49AgEGBSuBBAAiA2IABAUrgKWFFtX/Edd3TV6vpsjbCXv/ xPtxHLq/F/b8C/wg4kxdx2w9cTXgOcfevszCAMx3qxxdazEhAk4q5ERBAsD1v2kn nznZz05r0WyAjCS79MCNGzyCweV73KWj7xLdWDAKBggqhkjOPQQDAwNoADBlAjA5 m7aHNgnZjDfmegDakQHhS+0k8zm029oElvzsV0Eq33fVxeLLhlycJjzAVvYMFZYC MQCD8mwLazMosZt0xhl/A1//6kZ5MWfvzSvv7wlrxJ/x3tjO5JBjgDHQFCkI1hIg E1Y= -----END CERTIFICATE----- | Should not be changed, except to a new key explicitly offered by Compex. |
maxLoginAttempts | The number of failed login attempts until a user will be locked. Initialised with the value from the preferences file | Integer | 3 | 1..1000 |
SINGLEINFOGRIDCOMPONENT-REFRESH-TIMEOUT | Time in milliseconds, how long a refresh of a SingleInfoGridComponent shall wait | Integer | 0 | 0 = off |
SuperindexCronSchedule | DEPRICATED - now in scheduler configuration: The schedule to control the superindex rebuild. Default: every Friday at 22:00 |
String | 0 0 22 ? * FRI | Quartz Trigger Samples |
Scheduler startdelay | number of seconds, the scheduler waits after an application start. The service needs to be restarted to activate the change. | Integer | 30 | Default: 30. |
Scheduler threadCount | number of threads used for parallel execution of scheduler jobs. Be carefull when changing this setting. The service needs to be restarted to activate the change. | Integer | 6 | Default: 6. |
SuperindexExclusionWords | a list of words, that will be excluded from the superindex tables | Textblock | die, der, und, in, zu, den, das, nicht, von, sie,ist, des, sich, mit, dem, dass, er, es, ein, ich,auf, so, eine, auch, als, an, nach, wie, im, für,man, aber, aus, durch, wenn, nur, war, noch, werden, bei,hat, wir, was, wird, sein, einen, welche, sind, oder, zur,um, haben, einer, mir, über, ihm, diese, einem, ihr, uns,da, zum, kann, doch, vor, dieser, mich, ihn, du, hatte,seine, mehr, am, denn, nun, unter, sehr, selbst, schon, hier,bis, habe, ihre, dann, ihnen, seiner, alle, wieder, meine,gegen, vom, ganz, einzelnen, wo, muss, ohne, eines, können, sei,ja, wurde, jetzt, immer, seinen, wohl, dieses, ihren, würde, diesen,sondern, weil, welcher, nichts, diesem, alles, waren, will, viel,mein, also, soll, worden, lassen, dies, machen, ihrer, weiter,etwas, keine, seinem, ob, dir, allen, großen, Weise, müssen,welches, wäre, erst, einmal, hätte, zwei, dich, allein, während,kein, damit, gar, euch, sollte, konnte, ersten, deren, zwischen,wollen, denen, dessen, sagen, bin, gut, darauf, wurden, gewesen,zwar, wer, ihrem, hatten, solche, eben, andern, beiden, macht,dort, kommen, werde, derselben, ganzen, lässt, vielleicht, meiner | all words, you dont want in the superindex |
use IP-address as hostname | decide, if either the hostname or the IP-address of the connecting client shall be used to identify the machine. If set, the IP-address is used. |
Boolean | false | true / false |
Hardware
Control Hardware specific settings. The keys starting with <hostname> define a client computer specific setting.
Key | Description | Type | Default | Possible Values |
---|---|---|---|---|
<hostname>-KeyboardLayout | set the client keyboard layout to an appropriate value The default layout is Windows on Windows Machines and Linux on Linux machines. The information is detected by OS.pos and can be overwritten with this parameter. |
String | default | default Windows Linux |
Monitoring
Controls the system monitoring settings
Key | Description | Type | Default | Possible Values |
---|---|---|---|---|
activated | switch on/off the monitoring in general | Boolean | true | true false |
daysToKeep | keep data for x days. Delete older entries to keep database small | Integer | 7 | 1..365 |
monitorCPUUSage | switch on/off the CPU usage monitoring | Boolean | false | true false |
monitorDatainterchange | switch on/off the data interchange monitoring for all datainterchange definitions | Boolean | false | true false |
monitorDiskspace | switch on/off the diskspace monitoring for the installation disk drive | Boolean | false | true false |
monitorMemory | switch on/off the memory monitoring | Boolean | false | true false |
monitorMemory intervall (in seconds) | repeat the measurement every x seconds | Integer | 60 | 15..500 |
...#daysToKeep | keep data for x days. Delete older entries to keep database small | Integer | 7 | 1..365 |
Notification Templates
Notification templates are use to define the content of system email, that is sent eg. when a user is unlocked. The templates can be configured for English, German and French or any other language, the application uses.
Key | Description | Type | Locale | Default | Possible Values |
---|---|---|---|---|---|
AccountUnlockedNotification | used to notify user about the account unlocking | Templatenotification | Deutsch | Account #USERNAME# ist jetzt entsperrt! Das Benutzerkonto '#USERNAME#' ist wieder entsperrt. |
any text |
Templatenotification | English | Account #USERNAME# is unlocked now! The user account #USERNAME# is unlocked again. |
any text | ||
Templatenotification | French | Account #USERNAME# is unlocked now! The user account #USERNAME# is unlocked again. |
any text |
#USERNAME# is replaced by the name of the user, the notification is send to.
PAYMENT_TERMINAL
Controls the behaviour of the OS.pos communication with the payment terminals.
Key | Description | Type | Default | Possible Values |
---|---|---|---|---|
PAYMENT_TERMINAL_TESTMODE | Checks whether we are in testmode for the payment terminal. Test terminals don't work correctly with payment amounts with non-null decimal digits. For this reason we apply special treatments to such amounts. To be used in TESTENVIRONMENTS only!! |
String | not set | "CutAmount", "ChangePaymentType", "not set" |
PAYMENT_TERMINAL_TIMEOUT_IN_SECONDS | Timeout for the communication with the payment terminal | Integer | 15 | 10..120 |
PeripheralService
Controls the behaviour of the OS.pos peripheral device communication. The keys starting with <hostname> define a client computer specific setting.
Key | Description | Type | Default | Possible Values |
---|---|---|---|---|
checkRemoteHosts | Activate a cyclic check of all activated connections to OS.peripherals | Boolean | false | false, true |
checkRemoteHostsIntervall(in sec) | the intervall in seconds for the checkRemoteHosts | Integer | 60 | |
comminication-timeout | Timeout in milliseconds for the communication with the OS.peripherals service | Integer | 2000 | 0 = no timeout, 1000..5000 |
javaposStatusPollIntervallInMillisec | the intervall in milliseconds for the status check of the POSPrinter, Cashdrawer and other configured javaPOS devices | Integer | 1000 | 500..5000 |
signatureSlideDelayInMillisec | the intervall in milliseconds to display the uploaded advertising pictures on the signature pad | Integer | 1000 | 500..5000 |
signatureStatusPollIntervallInMillisec | the intervall in milliseconds for the status check of the signature pad | Integer | 1000 | 500..5000 |
<hostname>:<port> | redirect the peripherals communication to another host or port for the <hostname> given in the key this allows to use mobile devices like tablets and redirect to a peripherals server, that has the configuration for the devices Attention! Experimental! |
String | <hostname>:<port> | <other hostname>:<other port> |
<hostname>-TimeBetweenTwoScanEventsInMilliSec" | enable the treatment of the special character codes created by a scan. Off by default. | Integer | 0 | 0 = special scanner treatment off, recommended 50, max 100 |
POSPrinterLogo | a bitmap that can be used on POSPrinters | Blob | empty | (*) |
(*) The POSPrinterLogo is created and used as soon as the slip print parameters setting 'logo' contains the String 'POSPrinterLogo'.
We recommend to use a black/white or grayscale jpg logo with a resolution of 200x80 pixel. Other formats and sizes may work, but may lead to unexpected results. Please consult the printer documentation for further information.
It is possible to use different POSPrinterLogos by using multiple keywords for different logo configurations starting with POSPrinterLogo, e.g POSPrinterLogo1, POSPrinterLogo2, POSPrinterLogoChristmas, POSPrinterLogoEaster.
PrintServices
Controls the use of the server side system print service in the printservice selection comboboxes The key contains the name of the print service.
Key | Description | Type | Default | Possible Values |
---|---|---|---|---|
no printer selected | used to deselect any printer | Boolean | true | false true |
Microsoft Print to PDF | Boolean | true | false true | |
<the name of the printservice> | Boolean | true | false true |
all printservices, that are available on the spplication host machine, will be listet.
new entries will always be enabled by default.
Reports
Controls the replacement of reports. There are two methods: either the alternate report is part of the application, the the path is similar to the original path and has to be asked from the developer or the rptdesign file is located in the filesystem. Then, the prefix file: has to be used and the location can bei either relative or absolute. The relative location has to start with "file:", the absolute location has to start with "file:////" followed by the path to the rptdesign file.
The original report is used if the alternate report can not be found. The log contains hints about the search and the problem.
Key | Description | Type | Default | Possible Values |
---|---|---|---|---|
replacement for org/eclipse/osbp/stubapplication/model/reports/rV1 | alternate report | String | org/eclipse/osbp/stubapplication/model/reports/rV2.rptdesign | the path to the alternate report. Default is the path to the original report |
replacement for org/eclipse/osbp/stubapplication/model/reports/rV1 | alternate report on the filesystem | String | file:myreports/rV2.rptdesign | the path to the alternate report, located relative to the configuration directory, that contains the application preferences file. |
replacement for org/eclipse/osbp/stubapplication/model/reports/rV1 | alternate report on the filesystem | String | file:////c:\myreports\rV2.rptdesign | the absolute path to the alternate report. |
Userinterface
The userinterface can be configured to adjust the behaviour to company specific needs. The settings are valid for all users.
Key | Description | Type | Default | Possible Values |
---|---|---|---|---|
action-Save | controls the behaviour of the Save Button | String | action-Save | action-SaveAndAsk action-SaveAndNew |
action-SaveAndAsk | controls the behaviour of the SaveAndAsk Button | String | action-SaveAndAsk | action-Save action-SaveAndNew |
action-SaveAndNew | controls the behaviour of the SaveAndNew Button | String | action-SaveAndNew | action-Save action-SaveAndAsk |
BalancedDialogLayout | controls the order of groups in dialogs with more the one columns: left to right / top to bottom | Boolean | false | false: alternating from left to right true: from top to bottom, then next col |
defaultImageResolution | controls the size of the images displayed in the dialogs | Integer | 2 | 0 = Original 1 = small (16x16) 2 = small (32x32) 3 = portrait (64x128) 4 = landscape (128x64) 5 = big (200x<undefined>) |
hideApplicationMenu | Hide the application menu for all users. The menu is never hidden for Superusers. | Boolean | false | false true |
hideMenuForUser <Username> | Hide the application menu for the user <Username>. The menu is never hidden for Superusers. | Boolean | false | false true |
Locale | The default locale for the application | String | the locale received from the browser | de-DE en-US fr-FR ... |
MenuAutoCollapseAfterSelect | Collapse the menu after the selection of a menu entry | Boolean | false | false true |
MenuAutoCollapseOnExpand | Collapse the previous selected menu tree the selection of another tree | Boolean | false | false true |
MenuWidthInPX | The width of the menu accordeon and tree in Pixel | String | 600px | 300px < Value < 900px |
DatabaseExceptionMessage | Blocking message about exceptions during database operations Either DatabaseExceptionMessage or DatabaseExceptionNotification can be true |
Boolean | false | false true |
DatabaseExceptionNotification | Systray notification about exceptions during database operations Either DatabaseExceptionMessage or DatabaseExceptionNotification can be true |
Boolean | false | false true |
TableFilterDecorator-text-change-timeout | Delay in milliseconds until the refresh of a table starts when a filter value is changed | Integer | 500 | 0..1000 |
selectableLocales | List of locales, that shall be used in the localization selection control | String | The default settings based on the preferences file | eg. en_GB,fr_FR,de_DE |
showHelpButton | Show the help button in the application menu bar | Boolen | false | false true |
show large description in Notifications | For Messages with headline: when true: show the message in large size, when false: show the message as smaller text below the headline | Boolen | true | false true |
ShowLanguageSelection | Show the language control in the application menu bar | Boolen | false | false true |
ShowPrinterSelection | Show the printer control in the application menu bar | Boolen | false | false true |
ShowThemeSelection | Show the theme control in the application menu bar | Boolen | false | false true |
Table 'Tablename' hideDataOnOpen | Do not show data on open if filters are defined. If 'true', the user has to click the "search" button to show the data. It is possible, to set a filter value before. | Boolen | false | false true |
Table 'Tablename' showCaption | Switch caption of table in statemachine UI on/off. | Boolen | false | false true |