app.yaml

[engineDir]/configuration/reference/app.yaml

  1# yaml-language-server: $schema=https://json-schema.axonivy.com/app/12.0.0/app.json
  2#
  3# -------------------------------------------
  4# Axon Ivy Application Configuration
  5# -------------------------------------------
  6# 
  7# This file shows configurations of an Axon Ivy Engine application.
  8# https://developer.axonivy.com/doc/12.0/engine-guide/configuration/files/app-yaml.html
  9#
 10# By default applications are pre-configured to run without any dependencies.
 11# However in productive environments applications often interact with many 
 12# external system such a Mail Servers (SMTP) or Directory services (LDAP). 
 13# 
 14# Each application has its own '<APPNAME>/app.yaml' in the configuration directory.
 15# e.g. the corresponding file for the application 'MyApp' is 
 16# '[engineDir]/configuration/applications/MyApp/app.yaml'.
 17#
 18# Furthermore 'app.yaml' can be deployed as part of application zip in a 'config' folder.
 19# The deployed 'app.yaml' is installed in the application directory and has a lower
 20# priority than the '<APPNAME>/app.yaml' in the configuration directory.
 21# https://developer.axonivy.com/doc/12.0/engine-guide/deployment
 22#
 23# SECRETS / PASSWORDS:
 24# Any configuration value can be encrypted just by enclosing it with "${encrypt:}".
 25# * to encrypt the string myPassword write "${encrypt:myPassword}"
 26#   https://developer.axonivy.com/doc/12.0/engine-guide/configuration/advanced-configuration.html#passwords
 27#
 28# OVERRIDING:
 29# Any configuration value provided here can be set in alternative sources. 
 30# * environment variables: of the operating system can set app config entries. 
 31#    Their key must be prefixed with 'IVY_APPLICATIONS_MYAPP_'. 
 32#    E.g. use 'IVY_APPLICATIONS_MYAPP_SECURITYSYSTEM' to override the security system.
 33#    https://developer.axonivy.com/doc/12.0/engine-guide/configuration/advanced-configuration.html#overriding-configuration
 34#
 35
 36# The security system manages users and roles and must be referred by name.
 37# This setting is only evaluated at deployment time when the application not already exists!
 38# You can not change the security system of an application later on.
 39SecuritySystem: default
 40# Defines a project containing overriding SubProcesses, HtmlDialogs or CMS entries for a dependent project.
 41# This allows you to customize generic solutions with minimal effort.
 42# The overriding project must be declared in the format <group-id>:<project-id> (e.g. ch.ivyteam.ivy:overrideProject).
 43# These identifiers can be copied from the ivy project deployment definition (pom.xml).
 44# https://developer.axonivy.com/doc/12.0/designer-guide/how-to/overrides.html
 45OverrideProject: ""
 46Data:
 47  # DEPRECATED: All runtime data will be stored by default in Data.Directory specified in ivy.yaml. Use Data.Directory
 48  # to change the location of stored files.
 49  # 
 50  # Application folder where application files are stored. It overrides the root file folder setting.
 51  # A change in this setting will NOT automatically move existing application files to the new location, so you need to move files manually.
 52  # Absolute and relative (to the engine root directory) paths are supported.
 53  # If not set the files will be stored under the path Data.Directory configured in ivy.yaml.
 54  # [restart required] for existing apps
 55  FilesDirectory: ""
 56
 57StandardProcess:
 58  # Standard processes are a set of predefined processes, which you can customize in your ivy project.
 59  # To enable these custom processes, the library id of the ivy project must be specified here.
 60  # The library id is <group-id>:<project-id> from the ivy project deployment definition.
 61  # e.g the library id of the portal template is "ch.ivyteam.ivy.project.portal:portalTemplate"
 62  # The default is 'auto' which means auto detection of standard process in your application
 63  # https://developer.axonivy.com/doc/12.0/designer-guide/user-interface/default-pages
 64  DefaultPages: auto
 65
 66Jsf:
 67  # JSF Primefaces Theme that is used by HTML Dialogs
 68  # Standard themes:
 69  # vela, saga, arya
 70  # Freya themes:
 71  # freya-ivy-light, freya-ivy-dark
 72  # Deprecated themes:
 73  # serenity-ivy, serenity-amber, serenity-blue, serenity-bluegrey, serenity-brown, serenity-cyan, serenity-deeporange, serenity-deeppurple,
 74  # serenity-green, serenity-grey, serenity-indigo, serenity-lightblue, serenity-lightgreen, serenity-lime, serenity-orange,
 75  # serenity-pink, serenity-purple, serenity-teal, serenity-yellow,
 76  # luna-amber, luna-blue, luna-green, luna-pink, nova-colored, nova-dark, nova-light
 77  # This configuration has no effect if theme is specified in the xhtml template.
 78  # https://developer.axonivy.com/doc/12.0/designer-guide/user-interface/user-dialogs/html-dialog-themes.html
 79  primefaces.theme: freya-ivy-light
 80
 81# Databases are defined in ivy projects with a name.
 82# Connection details from those databases can be overridden by addressing the database by name.
 83Databases:
 84#  # example Database
 85#  exampleDatabase:
 86#    # JDBC Url to use for connections.
 87#    # [examples: jdbc:{vendor}://{host}:{port}/{dbName}, jdbc:postgresql://pghost/prod, jdbc:mysql://mysqlhost/erpTstaging, jdbc:sqlserver://microsoft-host;databaseName=stammdaten]
 88#    Url: ""
 89#    # JDBC driver Name.
 90#    # [examples: com.mysql.cj.jdbc.Driver, org.postgresql.Driver, com.microsoft.sqlserver.jdbc.SQLServerDriver, oracle.jdbc.OracleDriver, org.mariadb.jdbc.Driver, org.hsqldb.jdbc.JDBCDriver]
 91#    Driver: ""
 92#    # Reference to a custom image.
 93#    # [examples: res:/webContent/myIcon.png]
 94#    Icon: ""
 95#    UserName: ""
 96#    # Secret password, should be stored encrypted. Encrypted values have a ${decrypt:} prefix
 97#    # [password]
 98#    Password: ""
 99#    MaxConnections:
100#    # Driver specific custom properties
101#    Properties:
102#  
103
104# Rest Clients are defined in ivy projects with a name.
105# Any configuration from those clients can be overridden by addressing the client by name.
106RestClients:
107#  # example ConfigurableRestClient
108#  exampleConfigurableRestClient:
109#    Url: ""
110#    # Full qualified class names, that contribute REST-client features, such as authentication.
111#    # [examples: ch.ivyteam.ivy.rest.client.mapper.JsonFeature, ch.ivyteam.ivy.rest.client.authentication.HttpBasicAuthenticationFeature]
112#    Features:
113#    # Properties that supply dynamic values for REST-client features.
114#    Properties:
115#  
116
117# Web Service Clients are defined in ivy projects with a name.
118# Any configuration from those clients can be overridden by addressing the client with its name.
119WebServiceClients:
120#  # example ConfigurableWsClient
121#  exampleConfigurableWsClient:
122#    # Full qualified class names, that contribute WS-client call features, such as authentication.
123#    Features:
124#    # Properties that supply dynamic values for WS-client features.
125#    Properties:
126#    # Endpoint names, to URIs
127#    # [examples: myPort: - https://myCustomProdHost/hr/employee/soap]
128#    Endpoints:
129#  
130
131# Currently active business calendar for this application.
132BusinessCalendar: ""
133# Business calendars are organized as trees, with one root / default calendar and an arbitrary number of child calendars.
134# Child business calendars inherit the values of their parent. A parent can be the root calendar or any child calendar.
135# 
136# At least one root calendar needs to be defined. If non is configured, a root / default calendar will be created automatically
137# with following default values:
138# - Parent is empty
139# - First day of week is: Monday
140# - Working times are: 'morning: 8:00 - 12:00' and 'afternoon: 13:00 - 17:00'
141# 
142# You can reference a business calendars in a ivy projects by its name. E.g ivy.cal.get("myRootBusinessCalendar")
143# https://developer.axonivy.com/doc/12.0/engine-guide/configuration/advanced-configuration.html#business-calendar
144BusinessCalendars:
145#  # example BusinessCalendar
146#  exampleBusinessCalendar:
147#    # First day of the week.
148#    # If empty or not existing the parent calendar's value is inherited.
149#    # If not defined by any parent the value is retrieved from the current locale settings
150#    # [enum: monday, tuesday, wednesday, thursday, friday, saturday, sunday]
151#    FirstDayOfWeek: ""
152#    # Name-value pairs of non-working days.
153#    # 
154#    # Yearly days:
155#    # Recurring non-working days during a year, falling on the same date, e.g. Jan. 1 or Christmas.
156#    # Format: MM-dd, e.g. 01-01 (New Year), 12-25 (Christmas Day)
157#    # 
158#    # Relative Easter Days:
159#    # Recurring non-working days relative to Easter Sunday, e.g. Good Friday or Pentecost.
160#    # Format (case insensitive): easter +/- Number, e.g. 'easter - 2' (Good Friday), 'easter + 50' (Pentecost Monday)
161#    # 
162#    # Fixed Dates:
163#    # Once-off non-working days, e.g. a company celebration day or a special local public holiday.
164#    # Format: YYYY-MM-dd
165#    # [examples: "New Year": 01-01, "Christmas Day": 12-25, "Good Friday": easter - 2, "Easter Monday": easter + 1, "Pentecost Monday": easter + 50, "50 Years Ivyteam": 2043-04-07]
166#    FreeDays:
167#      # End of days that are always off
168#      # [enum: monday, tuesday, wednesday, thursday, friday, saturday, sunday]
169#      # [examples: sunday]
170#      WeekendEnd: ""
171#      # Start of days that are always off
172#      # [enum: monday, tuesday, wednesday, thursday, friday, saturday, sunday]
173#      # [examples: saturday]
174#      WeekendStart: ""
175#    
176#    # Name of the parent business calendar.
177#    # If empty or not existing this business calendar will be the root calendar for this application.
178#    # Only one root calendar is allowed.
179#    Parent:
180#    # Name-value pairs of working times during a business day.
181#    # At least one working time needs to be defined here or in any of the parents for business calendar calculations to work.
182#    # 
183#    # Warning: Ensure that your working times in your calendar tree do not overlap.
184#    # Otherwise the business calendar calculations may not work correctly!
185#    # 
186#    # Value format is : HH:mm-HH:mm
187#    # [examples: myMorning: 8:00-12:00, myAfternoon: 13:00-17:00]
188#    WorkingTimes:
189#  
190
191# Variables are defined in ivy projects.
192# All of them can be overridden.
193Variables: