Store and Multi Server Preferences
This page gives an overview of all the relevant preferences for store server and multi-server behavior:
Most multi-server behavior is disabled by default. To enable specific behavior the relevant preference has to be set with the value 'Y'. After changing the enablement preferences it is best to restart the system to reload cached values:
- Mobile Multi-Server Architecture Enablement (default: N or not set): to enable multi-server-communication and online & offline status behavior for your stores you need to set this preference with value 'Y'. Also the 'Selected' checkbox should be checked and this preference needs to be defined on System level by the System Administrator. No client/org/role/user visibility field should be set. After setting the preference the system has to be restarted.
- WebPOS Synchronized Mode (default: N or not set): set to Y to make WebPOS transactions run in synchronized mode.
- Restrict ERP Access in Store Server: the store server is delivered with the assumption that it is not accessed directly through the backoffice. The (master)data in the store server is controlled through the WebPOS or the central server. It is therefore the safest if the backoffice ERP access is disabled. This can be done by setting this preference to 'Y'.
These preferences are related to time-outs, interval settings etc. Timing preferences are in milli-seconds unless otherwise noted:
- Authentication Token Max Age (milliseconds, default: 43200000, is 12 hours): controls the max age of a token, tokens which are older are rejected. Must be set at system client, when this preference is set the system must be restarted.
- Request Router Refresh Token Interval (milliseconds, default: 1800000, is 30 minutes): defines how often the system will request a new authentication token from the server. Should be less than the authentication token max age. Is refreshed in the client at login.
- Request Router Ping Time Interval (milliseconds, default: 60000, is 1 minute): interval by which an offline server is pinged.
- Request Retry Number: this preference determines how often a server is retried before it is considered to be offline, the default is 3 times.
- Transition to Offline Wait Time (milli-seconds, default is 300000 which is 5 minutes): this preference controls how long the system will wait between detecting offline and actually going offline.
- Server Status Max Age (milli-seconds, default: 300000 is 5 minutes) is used in the server status webservice to determine if a status can be read from the database or should be re-read from the server.
- Failed Transition to Online Wait Time (seconds) (default: 3600, one hour) is used when the transition to online fails, the next transition to online will not happen before this wait time has passed. This prevents the system from continously switching from offline to transition to online and back.
- Mobile Server Status Ping Periodicity (seconds) (default: 300, 5 minutes) is used to determine when the store server goes offline, if it has not received a ping from central for 3 times this preference then it will go to offline. For more information on how this preference is used see this page. This preference has some special things:
- it must be defined on global level (no client, org or other filter)
- after changing this preference the system needs to be restarted.
- Server to Server Request Connection Timeout (seconds): (default: 5 seconds) determines how long the store server will wait before a connection fails when doing server to server requests. Note this preference must be defined on system level.
- Server to Server Request Read Timeout (minutes): (default: 15 minutes) the maximum time a server will wait for another server to respond to a request.
Timeout should be set sufficient long to allow long processes to be run on another server. Normally the user interface will timeout before the read timeout occurs. The read timeout is mainly to ensure that server occurpied resources (connections etc.) get cleaned up at some point. Note this preference must be defined on system level.