tia Core has two main places for configuration:
Application wide settings
Application-wide settings are made depending on the choosen type of deployment:
Environmental variables: This method is useful for containerized deployments as environmental variables can be defined in the container configuration.
Example for environmental variables in a docker command:
Code Block |
---|
docker run
[..]
-e TIA_LICENSE_PATH=/application/config/tialic
-e WEBAPP_SECURITY_AUTH_BASIC_USERNAME=admin
-e WEBAPP_SECURITY_AUTH_BASIC_PASSWORD=\$2a\$10\$JKRQvv.bCNjlyLoBqORAq.79SlwpD8h9nWoo9ss35vt2Pi11KJ2B.
[..] |
Java command line parameters: In a war-file deployment, the web application server is a Java application and therefore started by a java command line.
Example:
Code Block |
---|
java -D"logging.config"="my.log4j2.xml" […] |
In
context.xml
file: This is useful for a war-file deployment in a web application server. This file can be found (or if not create it) in the<webappserver>/WEB-INF/<web context>/META-INF
directory.
Example for context.xml:
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Context>
<Context>
<Parameter
name="logging.level.com.software.kgs"
value="info"
override="true" />
<Parameter
name="logging.config"
value="C:/Program Files/tomcat/webapps/coreoftia/META-INF/my.log4j2.xml"
override="true" />
</Context> |
The parameter names are written in lowercase strings and reflect the hierarchy of application modules. For that reason, the “.” (dot character) is used to separate the levels in the hierarchy.
Info |
---|
Note: When using environmental variables, the parameter names will need to be converted to all-uppercase and the usage of dot is not permitted. Hence replace all the “.” (dot characters) by “_” (underscore characters). |
Repository-wide settings
Repository-wide settings are configured for each repository separately in the repository.cfg
file.
By default,
the file resides in containerized deployments
/application/config/repository.cfg
. It i best practice to use a volume mount in the container configuration:
Code Block |
---|
docker [..] -v <Folder>/repository.cfg:/application/config/repository.cfg [..] |
For war deployments, find the repository.cfg here:
<web server installation>/webapps/<context>/conf
.
The location of the repository.cfg
file can be modified by editing these application-wide settings (here with the default values):
configservice.class=file
configDirectory=config
configFile=repository.cfg
The parameter names in the repository.cfg
file follow a hierarchical scheme. The format of parameters for services therefore follow this format:
<repository>.<service>.[etc]
For example:
ZQ.contentservice.proxy.primary.type = splitfilesystemv2
Syntax rules for repository.cfg file
This file is a Java property file. This explains the syntax rules all entries must comply with.
Comment:
All rows starting with #
are considered a comment and not executed.
Code Block |
---|
#This is a comment |
Parameter Assignment:
A value is assigned to a parameter by starting with the parameter name followed by a =
character and then the value.
Space characters are ignored, so that these two example lines have identical effect.
Code Block |
---|
name=Stephen |
Code Block |
---|
name = Stephen |
Path to directories or files
The /
(slash) is not a special character and can be used unescaped. This allows Linux paths to be written in to the configuration file as is.
The \
(backslash), however, needs to be escaped as it interpreted as escape character. So to use Windows paths in the configuration file, two backslash characters needs to be used for each backslash in Windows path.
Examples:
Code Block |
---|
# A Linux path
Directory=/var/coreoftia/config
# A Windows path
Directory=C:\\test\\repository |