Advanced Configuration

Passwords

You may want to encrypt sensitive data like a password in your configuration files. To do this you can enclose any value with "${encrypt:}". The Axon.ivy Engine will automatically encrypt and replace that value in file, when the configuration will be loaded. The system database password can be encrypted as follows:

1
2
3
# ivy.yaml
SystemDb:
  Password: "${encrypt:myPassword}"

There is a smooth Secrets integration, which is very useful in container environments such as Docker. Be aware that passwords of administrators always should be hashed.

Business Calendar

A business calendar defines the official business hours and business days. These settings are used for business calendar calculations, e.g. what date will it be in three business days. See at Designer Guide and IBusinessCalendar for more information.

It is defined in the application’s app.yaml. An application contains at least one business calendar; if none is defined, a default calendar is automatically generated.

Here is an example of a business calendar definition; see app.businesscalendar.yaml for more detailed information.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Business Calendar
# [engineDir]/configuration/app-<APPNAME>.yaml
BusinessCalendars:

  # Company wide calendar definition
  AxonIvy:
    FirstDayOfWeek: monday

    WorkingTimes:
      morning: 8:00-12:00
      afternoon: 13:00-17:00

    FreeDays:
      WeekendStart: saturday
      WeekendEnd: sunday
      "New Year": 01-01
      "Christmas Day": 12-25

  # Calendar definition for Switzerland
  Switzerland:
    Parent: AxonIvy
    FreeDays:
      "Good Friday": easter - 2
      "Easter Sunday": easter
      "Easter Monday": easter + 1
      "Ascension Day": easter + 39
      "Swiss National Day": 08-01

  # Calendar definition for Zurich region, inheriting from Switzerland and AxonIvy calendar
  Zurich:
    Parent: Switzerland
    FreeDays:
      "Day after New Year": 01-02
      "Labour Day": 05-01
      "Pentecost Monday": easter + 50
      "Saint Stephens Day": 12-26

  # Calendar definition for Zug region, inheriting from Switzerland and AxonIvy calendar
  Zug:
    Parent: Switzerland
    FreeDays:
      "Ascension Day": easter + 39
      "Pentecost Monday": easter + 50
      "Corpus Christi": easter + 60
      "Maria Assumption Day": 08-15
      "All Saints Day": 11-01
      "Immaculate Conception Day": 12-08
      "Saint Stephens Day": 12-26

  # Calendar definition for IvyTeam, with an additional special celebration day
  IvyTeam:
    Parent: Zug
    FreeDays:
      "50 Years Ivyteam": 2043-04-07

Html Theme

The look and feel of Html Dialogs is defined by its theme. You can change the appearance of any dialog on several scopes:

  • Globally for all Html Dialogs via web.xml.

  • For a single application in the app.yaml.

1
2
3
# app.yaml located in e.g. <configuration>/app-myApp.yaml
Jsf:
  primefaces.theme: modena-ivy

Overriding Configuration

Configuration entries of YAML files can be overridden with environment variables of the operating system. Configuration keys in YAML are hierarchic object trees separated by : characters. While the environment variable must be written uppercase and separated by _ characters. You need also to prefix the environment variable with IVY_.

So to overwrite the SystemDb:Url of the ivy.yaml file, the environment variable IVY_SYSTEMDB_URL must be set.