Configuration file nodelocal
A nodelocal.js configuration file located on the node server (in the ...\syracuse\syracuse\bin directory) stores the parameters described below in JSON format.
|
The values stored in this file are automatically filled in during the installation procedure. Modifying the values provided or adding lines in this file may cause the server to fail. Be very cautious when doing so, and make sure you keep a copy of this file before doing any modification. This will allow you to roll-back to the previous settings. The node.js server must be restarted to take the modifications into account. |
Caution: Some log or trace options that are useful for troubleshooting can also have a major impact on performance. They must be enabled for a limited period of time only.
The
nodelocal.js file is a javascript file that contains variables in JSON format.
exports.config={
parameter1 : value,
...
parameterN : value,
section1 : {
parameter1_1 : value,
...
parameter1_N:value,
sub_section1: {
parameter1_1_1 : value,
...
parameter1_1_M : value
},
...
}
section2 : {
...
},
...
sectionL : {
...
}
};
In this structure:
- "section1", "section2", ..., "sectionL" are used to group parameter values logically. In most cases, a section can be absent from the configuration file, in which case default values apply. A section can contain a list of properties.
- "parameterXXX" is the name of a parameter. A parameter can be enclosed in a section, or directly at the root level of the config structure.
- "value" is a JSON constant that can be either:
- a number, for example "8124"
- a logical value that can be "true" or "false"
- a regular expression between slashes such as "/^.*abc$/"
- a string between single or double quotes, for instance ""it isn't a wrong value"" or "'very "nice" constant'"
- a collection of values between square brackets, for instance "[3,1,4,1,5,9,2,6,5,3,5,8,9,7]" or "[ "John","Mary","Luke"]"
- a structure containing a list of property names and their values enclosed in curly brackets, for instance "{ firstName : "John", name : "Doe", age : 25, isMarried : true }"
The list of sections and their main parameters is provided in this documentation.
## Root level
Two parameters are directly at the root level of the config structure:
Parameter | Value type | Explanation |
---|
enablePartnerFeatures | logical | If set to "true", it allows partners to set up a factory ID on security profiles, and to flag administration data as factory to protect them. |
adminUserRestrict | logical | If set to "true", it disables the possibility to associate Syracuse users to X3 users, including for administrators. |
hosting
The hosting section contains parameters related to the node.js web server:
Parameter | Value type | Explanation |
---|
multiTenant | logical | Set to "true" if hosted on Cloud V1 (not Mindo). In this case, the tenantId is extracted from the HTTP Host header and is used to prefix the MongoDB database names and the Elasticsearch index names. |
cloudPlatform | string | It is only set in the case of cloud versions. Example: value "mindo" for Cloud V2. |
https | logical | If set to "true", it indicates that all public URLs must start with "https". This is the case if the node service is front-ended by a proxy or a load balancer that handles https on its behalf. |
sitecheck | structure | To be enabled only if you need to check the status of the site. The following values are needed:
- localTest (logical)
- host (string)
- port (number)
- dataset (string)
- landingPage (string)
|
localBalancer | logical | If set to "true", the load balancer only distributes requests to its own child processes |
dbUnlock | logical | If set to "true", the load balancer starts the node processes with the "--dbUnlock" flag (when the MongoDB database is in lock state). |
nodeOptions | string | Node parameters to be passed when the service starts (such as "--prof" or "--max_old_space_size"). |
x3batch
Parameter | Value type | Explanation |
---|
retryCount | number | Number of additional attempts to connect to the Sage X3 server possible after failing the first time. If set to "0", no further attempt is possible. |
retryInterval | number | Time before the next attempt to connect to the Sage X3 server (in milliseconds). If set to "0", no further attempt is possible. |
host | string | Host name (including port number and protocol) used to compute the base URL sent to Sage X3. You can use placeholder {{tenantId}} which will be replaced with the current tenant name. For example: "https://{{tenantId}}.def.com:8126". |
security
Parameter | Value type | Explanation |
---|
http | structure | - Contains the HTTP headers. Refer to the dedicated documentation for more information.
- Contains the "allow" parameter that allows you to define which option requests can be executed (POST, GET).
|
cors | structure | Allows you to set "all access-control" headers required for cross-origin calls. |
signIn | structure | Contains:
- the "rememberMe" parameter, which contains the "lifetime" parameter. This parameter sets the lifetime (in days) of the "rememberMe" token. The default value is "28". You can use decimal numbers for fractions of days. Use values equal or inferior to zero to disable the "rememberMe" feature.
- the "autocomplete" parameter which corresponds to the autocomplete behavior for logins and passwords. The default values are "true" for login and password if "rememberMe" is enabled, and "false" for login and password if "rememberMe" is disabled.
Note that the autocomplete behavior is browser specific, and that browsers can prompt you to save a password regardless.
|
profile | structure | Contains the "officeDocumentBlackList" parameter which lists the unauthorized MS Office document types. By default, all MS Office documents types are unauthorized. |
tls | structure | Contains the "renegotiation" and "context" parameters. These parameters are used to configure allowed or forbidden protocols and encryption algorithms. Refer to the dedicated documentation for more information. |
system
Parameter | Value type | Explanation |
---|
exposeStacktrace | logical | If set to "true", it adds a flag to expose stack traces to the UI. It is set to "false" by default for security reasons. |
bindIP | string | Binds the IP address if "IP_ANY" is not the correct binding (IPV6). |
requestReport | structure | Contains the "threshold" parameter (number) and the "autoTraceRecord" parameter (logical). |
memoryLimit | number | Deprecated. Replaced with "memoryThreshold1" and "memoryThreshold2". |
memoryThreshold1 | number | The load balancer stops assigning new sessions when the heap usage exceeds this value (in MB). The default value is "1000". |
memoryThreshold2 | number | The process is killed during the load balancer ping operation when the heap usage exceeds this value (in MB). The default value is "1500". |
server
Parameter | Value type | Explanation |
---|
keepAliveTimeout | number | Number of seconds used to set the keepAliveTimeout of the HTTP server. If it is no set the default of node.js is applied. See server.keepAliveTimeout for more information. |
headersTimeout | number | Number of seconds to limit the waiting time for receiving the complete HTTP headers. If set, the value MUST be greater than keepAliveTimeout, if not the value will be set to keepAliveTimeout plus 10 seconds See server.headersTimeout for more information. |
monitoring
The New Relic feature collects application data and generates dashboards for Sage X3 monitoring. You need to have a New Relic account to use it.
Parameter | Value type | Explanation |
---|
root | string | Relative path of the folder that contains extra files. When using New Relic, this is the folder where the newrelic.js configuration file must be stored. For more information on that file, see the Node.js agent configuration documentation. |
provider name | string | Name of a supported provider for Sage X3 monitoring. Currently, only "newrelic" is supported. |
nanny
The parameters listed below all refer to the "nanny process" which helps with the administration of Syracuse processes.
Parameter | Value type | Explanation |
---|
maxRestrictedChildren | number | Maximum number of Nodes in restricted mode. The default value is "10".
If a new node enters restricted mode, the oldest restricted node is killed. Note: A node enters restricted mode when it has reached memoryThreshold1, or when it has reached "childPingStatusTimeout". A node in restricted mode does not accept new sessions. Caution: Avoid values higher than "10", as it is already too much for most cases, and allocates too much memory. |
childPingStatusPolling | number | Corresponds to the amount of time (in milliseconds) between each attempt to connect to child processes. The load balancer measures the response time and considers "childPingStatusPolling" for load balancing. This is a sliding mean, computed as follows:
- The newest value is considered by (100 - "childSlidingMean") percent,
- The previous computed value is considered by "childSlidingMean" percent.
The default value is "60000". |
childPingStatusTimeout | number | When the ping response from a child process takes longer than "childPingStatusTimeout" milliseconds, the child process is moved to restricted mode. The default value is "10000" (milliseconds). |
childMaxTimeoutDelay | number | When the ping response from a child process takes longer than "childMaxTimeoutDelay" minutes, the child process gets deleted. The default value is "30" (minutes). |
childSlidingMean | number | The default value is "20" (percent). |
balancingWaitTime | number | Maximum waiting time (in milliseconds) during load balancing in order to obtain results from other processes. The default value is "600". |
collaboration
Parameter | Value type | Explanation |
---|
logpath | string | Location of the log files. If empty, the logs are written in the "Syracuse" root directory. The default value is empty. |
cacheDir | string | Temporary files used by the streamline. If empty, files are generated in the .streamline directory of the current user profile. |
certdir | string | Path to the certificates folder. |
port | number | Optional. For MongoDB connections only. |
driver | string | Optional. For MongoDB connections only. |
hostname | string | Optional. For MongoDB connections only. |
connectionString | string | Optional. For MongoDB connections only.
Its structure is "hostname:port". |
databaseName | string | Optional. For MongoDB connections only. |
dataset | string | Optional. For MongoDB connections only. |
mongoX509Cert | strings | Optional. For MongoDB connections only.
Its structure is "["name of client certificate with private key", "CA certificate(s)"]". |
lockWaitTimeout | number | Optional. For MongoDB connections only, with the X509 certificate.
Time-out for acquiring instance lock. The default value is "60000" (milliseconds). |
dbLockWaitTimeout | number | Optional. For MongoDB connections only.
Time-out for acquiring db lock. The default value is the value of lockWaitTimeout. |
mongodb
Parameter | Value type | Explanation |
---|
options | structure | Connection options expected by the "MongoClient.connect" file of the nodejs MongoDB driver. It has to be set up when MongoDB runs in cluster mode. Refer to the MongoDB documentation for more information. |
logger | structure |
Contains:
- level (string) which has three possible values: "info", "error" or "debug".
- filter (structure) which contains the "class" parameter with any of the following values:
- "Db": The db instance log statements.
- "Server": A server instance (either standalone, mongos or replicaset member).
- "ReplSet": Replicaset-related log statements.
- "Mongos": Mongos-related log statements.
- "Cursor": Cursor log statements.
- "Pool": Connection Pool-specific log statements.
- "Connection": Singular connection-specific log statements.
- "Ping": Replicaset ping inquiry log statements.
|
session
Parameter | Value type | Explanation |
---|
timeout | number | Interactive session time-out (in minutes). |
asyncTimeout | number | Extra session time-out (in minutes) if an asynchronous tracker is running. |
statelessTimeout | number (decimals allowed) | Session time-out (in minutes) for stateless (web service SOAP) requests. The default value is "1" minute. |
api1SessionTimeout | number (decimals allowed) | Session time-out (in minutes) for api1 requests. The default value is "2" minutes. |
checkInterval | number | Interval (in seconds) between scans to release sessions. The default value is "60". |
ignoreStoreSession | logical | If set to "true", it ignores the store session. |
auth | collection of strings | Lists all authentication methods allowed:
- "basic": for basic and ldap authentication.
- "oauth2": for authentication with an OAuth2 server.
- "bearer": for authentication with an OAuth2 bearer token for Web services.
- "saml2": for authentication with a SAML2 identity provider.
- "sage-id": for authentication with a Sage ID.
Note: Some of these methods require additional parameters in dedicated sections.
|
serviceAuth | string | Allows a different authentication for service mode. The interactive form is hidden (but not forbidden). |
enableIPCheck | logical | If set to "true", a security check is done to control that the IP has not changed between requests for the same session. The default value is "false". |
streamline
Parameter | Value type | Explanation |
---|
homedrive | string | Drive of the node running as service. |
homepath | string | Path of the node running as service. |
fibers | logical | - |
cache | logical | - |
verbose | logical | - |
fast | logical | - |
flamegraph | number | Comment out the flamegraph block to activate flame graphs. The different options are documented here. |
x3fusion
The x3fusion section contains parameters related to the X3 "classic" page protocol. It should only be set up for troubleshooting purposes.
Parameter | Value type | Explanation |
---|
tracer | function | Function used to display trace logs. The only possible value is "console.log". |
profiler | function | Function used to profile logs. The only possible value is "console.log". |
plugin | structure | Contains killTimeoutOnCreate (number), which sets the time-out switch orchestration mode. |
protocol | string | Tracing protocol. It contains:
- trace (string): The only possible value is "console.log".
- LBFChunkSize (number): Sets the chunk size (in Kb).
- currentVersion (number): Current version of the protocol.
|
sessions | structure | Session tracing. Contains trace (string), which only possible value is "console.log". |
perfmon | structure | Contains:
- activate (logical): If set to "true", it enables performance monitor logging.
- detail (logical): If set to "true", it provides more details about performance monitors.
|
cache | structure | Cache tracing. Contains trace (string), which only possible value is "console.log". |
reuseTimeout | number | Time-out of session reuse (in minutes, miliseconds values are also tolerated). |
webProxyWhitelist | list of strings containing regular expressions | Whitelist for the PUB web folder. It gives an array of strings containing regular expressions in order to define the sub-directories of files that can be reached from a "classic" page file URL. The default value is:
"^(.*)/(GEN|RES)/.*\.(js|json|gif|png|jpeg|jpg|ico|bmp)$"
It means that any file with the extension js, json, gif, png, jpg, ico, or bmp can be loaded in the GEN or RES subdirectories of the X3_PUB/folder folder ("folder" being the folder associated to the endpoint that accesses files).
This value is mandatory to make sure all features used by "classic" pages work. You can then add values to the collection according to your needs.
It can also be used to access files located on the server. If you want to access mydoc.pdf in the HTML subdirectory, the corresponding URL should be "/trans/x3/erp/folder/$files/HTML/mydoc.pdf". This URL can then be used in web pages blocks to access file content, as URL such as "file:file_path" are not usable in browsers for security reasons. |
help
Parameter | Value type | Explanation |
---|
trace | string | The only possible value is "console.log". |
rootDir | string | Path to the help pages stored on the local file system. |
local | logical | If set to "true", it overrides the help URL with the local file system path. |
url | string | Help URL that overrides the cloud based help URL. |
searchEngine
Parameter | Value type | Explanation |
---|
baseUrl | string | URL of the Elasticsearch server. It supersedes the host name and port number. |
hostname | string | Host name of the Elasticsearch server. The default value is "localhost". |
port | number | Port number for the Elasticsearch server. The default value is "9200". |
stemmer | string | The default value is "minimal". In this case, the stemmer finds singular and plural forms alike. Other values could consider different word root levels. |
allowLeadingWildcard | logical | If set to "true", leading wildcards can affect search performances. This parameter only works if searchType is set to "exact". |
searchType | logical | The default value is "starts with". Set to "exact" to enable leading wildcards. |
requestTimeout | number | Time between the search launch and end. The default value is 5000 ms. |
tracer | structure | Contains:
- trace (string): The default value is "console.log".
- info (logical): Provides more information if set to "true".
|
deactivateRight | logical | Deactivate rights if set to "true". |
minSimilarity | number (decimals allowed) | Default configuration options for fuzzy searches. |
ignoreFrequency | logical | Ignores frequency if set to "true". |
offStemmer | logical | Deactivates the stemmer for search indexation if set to "true". |
useFolderNameAsIndexName | logical | If set to "true", it uses "solutionName.folderName" as the index name (instead of "dataset" for X3). |
indexPrefix | string | Used to prefix index names in single-tenant mode, for Cloud V2 only. In multi-tenant mode (Cloud V1), the tenantId is automatically set as prefix. There is no prefix for an on-premise setup. |
notificatonServer
Parameter | Value type | Explanation |
---|
log Level | number | Level of logs for the notification server. |
connect timeout | number | Connection time-out for the notification server. |
reconnect | logical | If set to "true", it is possible to reconnect to the notification server after a failed attempt. |
reconnection delay | number | Delay before the next connection attempt. |
max reconnection attempts | number | Maximum number of connection attempts after a failed attempt. |
force new connection | logical | If set to "true", it forces a new connection. |
orm
Parameter | Value type | Explanation |
---|
x3 | string | The only possible value is "console.log". |
upload
Parameters in the upload section are only mandatory for cloud-hosted, multi-tenant installations:
Parameter | Value type | Explanation |
---|
allowedTypes | regular expression | Whitelist of media types allowed during upload operations. |
fileMaxSize | structure | To limit the size (in MB) of the uploaded files.
- Default (number) all files except patch files, 10 per default
- patchUpdate (number) for patch files, 500 per default
|
traces
Parameter | Value type | Explanation |
---|
console | logical | For developers only. |
http | logical | Logs HTTP requests. |
levels | structure | Levels that will be used for default traces settings. Valid levels values are "info", "debug", "warn", and "error". The levels parameter can contain:
- orm (object-relational mapping)
- factory (Syracuse entities management)
- x3 (Sage X3 entities management)
- mongodb (MongoDB interactions)
- search (Elasticsearch communication)
- notifications
- x3Comm (Sage X3 communication layer)
- jsRunner (Syracuse calls from 4GL processes)
- pool (Sage X3 clients pools)
- print (print server communication layer)
- adxwhat
- classic (classic server)
- srvCache (cache management with the web application server)
- protocol (protocol communication layer)
- std (basic traces)
- action (sent actions)
- session (sessions management)
- businessObjects (business objects integration)
- hrm (X3 HRM portal integration)
- loadBalancer (load balancer)
- proxy (proxy calls)
- help (online help integration)
- studio
- proxy
- helper
- session
- dispatch
- soap-generic
The default value is "error" for each parameter. |
mobileClientConfig
Parameter | Value type | Explanation |
---|
httpTimeout | string | HTTP request default time-out (in ms) for the mobile client configuration. |
clientSettings
Parameter | Value type | Explanation |
---|
responsiveDesign | logical | If set to "true", it enables responsive behaviors. |
pendo | structure | Activates pendo integration. It contains:
- api
- apiKey
- visitor
- id (string)
- email (string)
- productName (string)
- roleCode (string)
- localeCode (string)
- account
- id (string)
- customerName (string)
- sanitizeRules
- find (regular expression)
- replace (regular expression)
|
mongoNotify
For OAuth2 redirection:
Parameter | Value type | Explanation |
---|
oauthHost | string | - |
host | string | - |
port | number | - |
database | string | - |
oauthCollection | string | - |
apiHost | string | - |