This chapter explains how to tweak different server settings. The settings are changed by editing the server configuration file located in C:\Program Files (x86)\ROB-EX\ganttServerG2\application.yml
. Save the file and restart the server, before changes will take effect.
A sample application.yml
file looks like this. Notice that anything after the character # is interpreted as a comment. Also note that is it is good practise to indent sub-sections with white spaces (not tabs) for improved readability (e.g. profiles is indented with spaces because it is a sub-section of spring). The yml format used is a common standard, read more about YAML here .
# Sample application.yml
spring:
profiles:
active: sqlserver
transaction:
default-timeout: 900 # 15 min = 60sec * 15 = 900 sec
logging:
config: file:logback.xml #OBS: To use below settings, and not the logback.xml, set this 'config' empty
file:
name: logs/rbx_srv_log.txt
max-size: 10MB # The maximum file size before it is archived
max-history: 30 # The maximum number of archive files to keep in days
total-size-cap: 200MB # The total size of all archive files
pattern:
file: "%d{MM-dd HH:mm:ss.SSS} %-5level [%15.15thread] [%20X{rbx.ctx}] %logger : %msg%n"
db:
host: localhost
port: 1433
name: GanttMultiuser
username: ganttAdmin
password: XXXXXX
init: conf/sql.init # Folder with custom SQL files executed during server startup
urlParameters: encrypt=false; # Additional semicolon separated parameters for the database connection string.
cleanup:
interval: "0 0 1 * * *" # Sec(0-59) Minute(0-59) Hour(0-23) DayOfMonth(1-31) Month(1-12) DayOfWeek(0-6=Sun-Sat)
precleanup: conf/cronsql/delete.sql # Path to an sql file with custom SQL
eventstore:
enable: true
server:
port: 9090 # web-admin http server port
grpc:
port: 6565 # client http port
server:
security:
enabled: false
robex:
activeDirectory:
enabled: true # From v7.4. When false non-AD login will be faster - but AD login is disabled
eventstore:
enabled: true
included: [ "resource", "project", "production_order", "operation" ]
cleanup:
days: 90 # Delete events older than x days
The following explains the configurable settings of each of the main top-level sections. Note that the table only contains up to third level properties. A possible fourth or higher level is written in the third level column with a ‘.’ character between each property (see as example grpc.server.security.enabled).
spring
Top level | Second level | Third level | Description |
---|---|---|---|
spring | profiles | active | Selects the type of database used. The following options are supported sqlserver: Uses MS SQL server. The default and recommended for production use. sqlserverAD: Uses MS SQL server with Windows AD authentication. The db.username and db.password are ignored. Instead the service user will be used to authenticate against the MS SQL Server instance. postgresql: Uses free and open source PostgreSQL server. h2mem: Uses internal in-memory database. Any data entered are lost when the server is restarted. Good for some demo or debugging cases. db.host , db.port , db.username and db.password are ignored. Note that it is supported to specify a comma separated list of active profiles, which could be relevant if additional .yml should be loaded at startup |
spring | transaction | default-timeout | The number of seconds before any select/update/insert/delete SQL transaction times out. The default value is 900 seconds (corresponding to 15 minutes). This setting is available from v7.2.2.1194 and later (previous versions would wait indefinitely) |
logging
Top level | Second level | Third level | Description |
---|---|---|---|
logging | config | The path to a logback.xml containing logging settings. OBS: if this value is present, the below settings are ignored. For more info on the logback.xml format, see the logback manual | |
logging | file | name | The name of the log file. OBS: This is ignored if the config-parameter is in use. For more info, see the logback manual |
logging | file | max-size | The maximum size of the log file before archiving. OBS: This is ignored if the config-parameter is in use. For more info, see the logback manual |
logging | file | max-history | The maximum of days to keep archived files. OBS: This is ignored if the config-parameter is in use. For more info, see the logback manual |
logging | file | total-size-cap | The maximum total size of all archived files. OBS: This is ignored if the config-parameter is in use. For more info, see the logback manual |
logging | pattern | file | A pattern that describes the format of the log file. OBS: This is ignored if the config-parameter is in use. For more info, see the logback manual regarding patterns |
db
Use these values to change specific database settings. The values corresponds to the database server selected with the spring.profiles
configuration.
Top level | Second level | Third level | Fourth level | Description |
---|---|---|---|---|
db | host | IP address or hostname of the PC hosting the SQL server | ||
db | port | TCP/IP port number of the SQL server. | ||
db | name | Name of the database to connect to. Defaults to GanttMultiuser | ||
db | username | Username of the SQL account to login with. Leave empty for Windows AD login as current user | ||
db | password | Password of the SQL account to login with. Leave empty for Windows AD login as current user | ||
db | urlParameters | Additional semicolon separated key=value pairs. Will be added to the database connection string. The URL parameters are specific for a given database. For SQL Server see a list on this link. |
||
db | cleanup | interval | Specifies when and how often the internal database cleanup routine runs. Specified as a cron string of the format "Sec(0-59) Minute(0-59) Hour(0-23) DayOfMonth(1-31) Month(1-12) DayOfWeek(0-6=Sun-Sat)" . Specify e.g. "0 0 1 * * *" to run daily cleanup at “01:00 AM” once a day. |
|
db | cleanup | precleanup | Points to a file containing custom SQL statements to execute prior to the standard cleanup. A relative path recommended. E.g. specify conf/cronsql/delete.sql and place the SQL text file in conf/cronsql . The sql statements are split on the word “go” and executed as independent SQL statements. Use it for custom cleanup, custom archiving, etc. |
|
db | cleanup | eventstore | enable | Set to true to enable the cleanup feature for the Eventstore (default value is true) |
db | init | Points to a folder containing SQL script files with custom SQL statements to execute once during server startup – after the server internal update of the database to fit current ROB-EX version. A relative path recommended. E.g. specify conf/sql.init and place one or more SQL text files in folder conf/sql.init . The sql statements are split on the word “go” and executed as independent SQL statements. Use this to create e.g. a custom index on certain table fields |
||
db | init-premigrate | Points to a folder containing SQL script files with custom SQL statements to execute once during server startup – prior to the server internal update of the database to fit current ROB-EX version. A relative path recommended. E.g. specify conf/myprestartupsql and place one or more SQL text files in conf/myprestartupsql . The sql statements are split on the word “go” and executed as independent SQL statements. Use this to create e.g. a custom index on certain table fields |
server
Top level | Second level | Third level | Description |
---|---|---|---|
server | port | TCP/IP port number of the web-admin interface. May need to be changed if the default number conflicts with another application. This port needs to be unique if you install more than one ROB-EX Scheduler Multiuser Server on the same computer. |
grpc
Top level | Second level | Third level | Description |
---|---|---|---|
grpc | port | TCP/IP port number of the channel used for communication between ROB-EX server and ROB-EX desktop clients. May need to be changed if the default number conflicts with another application. In case of firewall issues, inbound/outbound rules can be set up in Windows Firewall to allow communication through this port. |
|
grpc | server | security.enabled | If SSL/TLC security is enabled for the communication sent between server and client. Default value is false. Specify true to enable. Once SSL/TLC is enabled, then clients must connection using https rather than http from Functions->Settings->General->Multiuser->Server Host |
grpc | server | security.certificate-chain-path | If grpc.server.security.enabled=true this specifies the path to a private key certificate file (relative path recommended) |
grpc | server | security.certificate-path | If grpc.server.security.enabled=true this specifies the path to a public key certificate file (relative path recommended) |
robex
Top level | Second level | Third level | Fourth level | Description |
---|---|---|---|---|
robex | activeDirectory | enabled | Only from v7.4. Expects a value of true or false . For a setup not using Active Directory login is faster with setting false , as no AD query is tried when a user logs in. |
|
robex | eventstore | enabled | Expects a value of true or false . This will enable the track changes by user feature of the ROB-EX Scheduler Multiuser Server. When enabled every change to an entity (e.g. Production Order, Operation, etc) will be logged as a separate event in dedicated database tables. The change log of an entity is also visible from the ROB-EX Admin UI. In addition to this setting, then also enable the event store functionality per site in the ROB-EX Admin UI |
|
robex | eventstore | included | A list of comma separated quoted entities the event store will track changes for. By default the list is empty, which will track changes for all entities. Very often users are only interested in tracking changes to a few things. This is the list of all supported entities:e_account, account_data, category, constraint_arc, cost_profile, counter, custom_data, custom_view, data_security_asscociated, data_security_role, data_security_rule, document_link, document_link_ref, flex_rule, log, material_limits, operation, operation_group, operation_sequence, operation_serie, operation_sync, period, product, product_family, production_order, project, raw_material, raw_material_transaction, raw_material_view, recipe, recipe_group, recurrence, resource, resource_allocation, resource_calendar, resource_transition_rule, resource_types, time_registration, user_property, view_node, warehouse |
|
robex | eventstore | cleanup | days | When an event becomes older than the number of days defined with this setting, it will be deleted during the cleanup process. |
robex | http | embed | allow | Expects a value of true or false (default). This option will allow embedded http requests to server-hosted applications like portal, web-planner etc. Will as an example allow ROB-EX Web Planner or ROB-EX Web Viewer to be hosted in an X-Frame. This option was introduced in v7.2.1.187. Warning: Enabling this setting will change the session cookie flag “SameSite” to “None”, which requires a secure connection, when using IP or hostnames. |
Post your comment on this topic.