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
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.

Feedback

Was this helpful?

Yes No
You indicated this topic was not helpful to you ...
Could you please leave a comment telling us why? Thank you!
Thanks for your feedback.

Post your comment on this topic.

Post Comment