Advanced Configuration
Passwords
You may want to encrypt sensitive data like passwords 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 the file when the
configuration is loaded. The system database password can be encrypted as
follows:
1# yaml-language-server: $schema=https://json-schema.axonivy.com/ivy/13.2.7/ivy.json
2# ivy.yaml
3SystemDb:
4 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.
Language
In each security system a default content language and a default formatting language can be defined. The content language is used to display the content in HTML dialog when loading content from the cms. This setting is also used to generate notification mails. The formatting language can be set additionally and is used to format values, for example the decimal point is displayed differently in different regions of the world.
1# yaml-language-server: $schema=https://json-schema.axonivy.com/ivy/13.2.7/ivy.json
2# ivy.yaml located in e.g. <configuration>/ivy.yaml
3SecuritySystems:
4 default:
5 Language:
6 Content: de
7 Formatting: de_CH
Users can customize the content language and formatting language in their
profile independently. You can add new translations for the built-in task
mail notifications in [engineDir]/system/cms.
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.yaml for more detailed information.
1# yaml-language-server: $schema=https://json-schema.axonivy.com/app/13.2.0/app.json
2# Business Calendar
3# [engineDir]/configuration/applications/<APPNAME>/app.yaml
4BusinessCalendars:
5
6 # Company wide calendar definition
7 AxonIvy:
8 FirstDayOfWeek: monday
9
10 WorkingTimes:
11 morning: 8:00-12:00
12 afternoon: 13:00-17:00
13
14 FreeDays:
15 WeekendStart: saturday
16 WeekendEnd: sunday
17 "New Year": 01-01
18 "Christmas Day": 12-25
19
20 # Calendar definition for Switzerland
21 Switzerland:
22 Parent: AxonIvy
23 FreeDays:
24 "Good Friday": easter - 2
25 "Easter Sunday": easter
26 "Easter Monday": easter + 1
27 "Ascension Day": easter + 39
28 "Swiss National Day": 08-01
29
30 # Calendar definition for Zurich region, inheriting from Switzerland and AxonIvy calendar
31 Zurich:
32 Parent: Switzerland
33 FreeDays:
34 "Day after New Year": 01-02
35 "Labour Day": 05-01
36 "Pentecost Monday": easter + 50
37 "Saint Stephens Day": 12-26
38
39 # Calendar definition for Zug region, inheriting from Switzerland and AxonIvy calendar
40 Zug:
41 Parent: Switzerland
42 FreeDays:
43 "Ascension Day": easter + 39
44 "Pentecost Monday": easter + 50
45 "Corpus Christi": easter + 60
46 "Maria Assumption Day": 08-15
47 "All Saints Day": 11-01
48 "Immaculate Conception Day": 12-08
49 "Saint Stephens Day": 12-26
50
51 # Calendar definition for IvyTeam, with an additional special celebration day
52 IvyTeam:
53 Parent: Zug
54 FreeDays:
55 "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:
1# yaml-language-server: $schema=https://json-schema.axonivy.com/app/13.2.0/app.json
2# app.yaml located in e.g. <configuration>/applications/myApp/app.yaml
3Jsf:
4 primefaces.theme: modena-ivy
Or at session level via the IvyPrimefacesThemeResolver.
CRON Expression
You can use a CRON expression in configurations that specify when a certain job should be executed. A CRON expression contains 5 fields:
┌───────────── Minute (0 - 59)
│ ┌───────────── Hour (0 - 23)
│ │ ┌───────────── Day of the month (1 - 31)
│ │ │ ┌───────────── Month (1 - 12)
│ │ │ │ ┌───────────── Day of the week (0 - 6) (Sunday to Saturday)
│ │ │ │ │
│ │ │ │ │
* * * * *
Example:
45 23 * * 6
This expression will trigger a job every Saturday at 23:45.
The following values are allowed per field:
Field |
Allowed values |
Allowed special characters |
|---|---|---|
Minute |
0-59 |
|
Hour |
0-23 |
|
Day of the month |
1-31 |
|
Month |
1–12 or JAN–DEC |
|
Day of the week |
0–6 or SUN–SAT |
|
Asterisk ( * )
Asterisks (also known as wildcard) represents “all”. For example, using * * * * * will run every minute. Using * * * * 1
will run every minute only on Monday.
Comma ( , )
Commas are used to separate items of a list. For example, using MON,WED,FRI in the 5th field (day of week) means Mondays, Wednesdays and Fridays.
Dash ( - )
Dash defines ranges. For example, TUE-FRI indicates every day from Tuesday to Friday, inclusive.
Last ( L )
L stands for “last”. When used in the day-of-week field, it allows specifying constructs such as “the last Friday” (5L) of a given month.
In the day-of-month field, it specifies the last day of the month.
Weekday (W )
The W character is allowed for the day-of-month field. This character is used to specify the weekday (Monday-Friday) nearest the given day.
As an example, if 15W is specified as the value for the day-of-month field, the meaning is: “the nearest weekday to the 15th of the month.”
So, if the 15th is a Saturday, the trigger fires on Friday the 14th. If the 15th is a Sunday, the trigger fires on Monday the 16th.
If the 15th is a Tuesday, then it fires on Tuesday the 15th. However, if 1W is specified as the value for day-of-month, and the 1st
is a Saturday, the trigger fires on Monday the 3rd, as it does not ‘jump’ over the boundary of a month’s days.
The W character can be specified only when the day-of-month is a single day, not a range or list of days.
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.