Default settings in application.properties
Other settings in application.properties
Merge specific rules into the Knowledge Base
Your license.cxl
file(s) should be installed as described in the License Management section.
Config Server is a service of Compliance Checker to populate your settings to other servers (cc-web, cc-bigdata and cc-backend). On startup, all of these services require the **Config server ** to load their settings from it. Config server can update some settings on runtime, but others need to be updated by restarting the servers. Config server is deployed to the 8888
port by default. If youPOST
a request - body is not needed - to the server's /refresh/all
endpoint it will refresh all services with the new settings.
To customize the application the configuration can be modified by editing the application.properties
file.
Any property changed in the application.properties
file will affect the appropriate services.
At the clean install, the settings in application.properties.default will be copied to the application.properties
file.
At upgrading the software - i.e. installing the new software version - the application.properties
file will never be overwritten. So your already customized configuration will not be changed.
Creating user in MongoDB
The following default settings in application.properties.default can be modified in the application.properties
file (in this format, # stands for comments):
The following default database connection settings can also be modified in the application.properties
file :
Connection to a MongoDB cluster cloud (MongoDB Atlas, Amazon DocumentDB) can be configured by inserting the provided mongoDB URI to the application.properties file:
For DocumentDB the PEM file should be downloaded, too. (See https://docs.aws.amazon.com/documentdb/latest/developerguide/getting-started.connect.html )
This PEM file should be added to the trusted store:
keytool -import -keystore cacerts -file
The new certificate should be added to the default trusted certificate.
To enable secure database transactions (which is default with db in the cloud), set the following property to true:
You can configure other settings for Compliance Checker in the application.properties
file.
Roles - with special privileges - can be assigned **to different user groups **\:.
Compliance Checker
Category group access can be controlled according to ROLES.
CHemTS
Roles can be assigned directly to special users by setting the value of the config key. The value should be a comma separated list of ROLES. (E.g.: roles.username=HTS_USER,HTS_CONTENT_MANAGER)
Admin can select Available countries or Selected check levels to be displayed in Regulation categories by setting check.default.regulationCategories key to COUNTRIES or CHECK_LEVELS in application.properties
.
By adding/setting the check.hideCountries key value to true (default is false ) Available countries will not be displayed at all.
(On the System monitor page the Reload settings from config file button should be clicked after editing application.properties
.)
Default regulation categories
The default Report format can be set by the Admin by adding HTML , PDF , SDF , MRV or XLSX value to the batch.default.reportFormat key in application.properties
.
(User's last selection is saved in the mongo DB and will not be modified.) Default report format
The re port.xlsx.max-image-count parameter sets the maximum number of images generated in .XSXL reports. The default number is 10000. Setting this parameter may prevent the service going down with out of memory error. IMAGE NUMBER IN XSXL REPORT
Our LDAP configuration object is a list of configurations of LDAP servers.
Each server configuration can hold several attributes. Each of them can be left empty, left out from configuration string or can be set to null.
In this case, they will be used by their default values.
One server holds the following possible settings:
Attribute name | Attribute type | Default value | Example | Explanation |
---|---|---|---|---|
serverUrl | String | ldap://localhost:389 | "ldaps://ldap.mycompany.com:621" or "ldap://ldap2.cmp.com/dc=cmp,dc=com" | The URL where the system can reach the LDAP server. |
userDNPatterns | List of Strings | [ ] | [ "uid={0},dc=mycompany,dc=com", "uid={0},ou=internal,dc=mycompany,dc=com" ] | These patterns will be used to find the User by its distinguished name.The part between the curly brackets will be replaced by the username.If this setting is left empty, then user distinguished name won't be used in the user authentication. |
groupSearchBase | String | "" | "ou=InternalGroups,dc=mycompany,dc=com" | This element of the LDAP tree will be used as the root element during user group search. In case it is left empty, the root of the LDAP tree will be used. |
groupSearchFilter | String | "" | "ou=ExternalGroups" | Only groups that match this criteria will be resolved after authentication. |
userSearchBase | String | "" | "ou=Users,dc=mycompany,dc=com" | This element of the LDAP tree will be used as the root element during user search. In case it is left empty, the root of the LDAP tree will be used. If you use userSearchFilter, than you must provide userSearchBase as well. |
userSearchFilter | String | "" | "sAMAccountName={0}" | In case the users are not found by their distinguished name, user search will happen. The part with the curly brackets will be replaced with the username that used to log in. In case of **Active Directory, ** usually sAMAccountName is required to log in. You can not use userSearchFilter without userSearchBase. |
managerDN | String | "" | "dn=admin,dc=mycompany,dc=com" or "admin@mycompany.com" | This is the name of the manager user. This name will be used to bind to the LDAP server. The second format can be used to log in to Active Directory through LDAP. |
managerPassword | String | "" | "s3cr3tp455w0rd" | This is the password of the manager user. |
root | String | "" | "dc=mycompany,dc=com" | In case the serverURL does not contain the root of the LDAP search, then it can be set here. If it is left empty, then root from URL will be used. Active Directory usually requests root to be set separately for binding. |
This configuration uses two servers (an LDAP and an Active Directory) and has all attributes: LDAP config
This means the same as the following: Shorter Config
Consider using the shorter config format because in application.properties, the config must be in one single line , like this: Config in one line
Example settings for 2 Active Directory servers
Chemical substances can be checked against some special (e.g. company-specific) rules, too.
MRV files should be created from these rules - with the same data structure as the main Knowledge Base. An MRV file for the specific rules ( rule_structures.mrv ) and another MRV file for the specific exceptions ( exclusion_structures.mrv ).
These files should be copied to the ChemAxon_home/compliancechecker/user folder. (I.e. to the "user" subfolder of the "database" folder. The cc_backend startup process creates that folder with empty MRV files - but these files will never be overwritten automatically.)
Compliance Checker should be restarted to merge these specific rules into the main Knowledge Base.
You can install multiple instances of Eureka , but there should be only one Config server in the system. If you distribute the system you should set the following settings to the services:
Config server is the route of the hierarchy. It should register with Eureka service. If Eureka does not run in localhost:8761
(8761
is the default Eureka port) then you have to set the following property in the application.properties
file:
eureka.client.serviceUrl.defaultZone=http\://<eureka-hostname>\:<eureka-port>/eureka/
If Eureka runs locally for the Config Server , but it *is a remote service * for the other services, then you should set the above property with an address that is available for all services, because this setting will be populated to all services.
Eureka server is used by all the services. It uses the Config Server to init itself. If the Config Server does not run in localhost:8888
(8888
is the default Config Server port), then you can have to the following property in bootstrap.properties
file:
spring.cloud.config.uri=http\://<config-server-host>\:<config-server-port>/
The main components of the application come in 3 war
files: cc-backend.war, cc-bigdata.war, cc-web.war. You can install these services to Servlet 3.0 compatible servlet container, or run by the default runnables.
Every war file uses the Config Server to init itself. If the Config Server does not run in localhost:8888, then you have to set for the components where to find the Config Server. One opportunity is to set the CONFIG_SERVER_URI environment variable, or to edit the WEB_INF/classes/bootstrap.properties file of each war file. Or you can set in it in their .vmoptions file, or in an environment variable. Setting environment variable in unix
export CONFIG_SERVER_URI = http://<config-server-host>:<config-server-port>/
Setting environment variable in windows command line
CONFIG_SERVER_URI = http://<config-server-host>:<config-server-port>/
Set environment variables in .vmoption file
-DCONFIG_SERVER_URI=http://<config-server-host>:<config-server-port>/
Editing bootstrap.properties file
spring.cloud.config.uri=http\://<config-server-host>\:<config-server-port>/
This property will be used in startup time to connect to the Config Server and receive all the properties to use in initialization.