Emakin configuration settings can be divided to two different area. Emakin supports the multiple nodes to support horizontally scaling with load balancer scenarios. Each agent node has own configuration files to connect host configuration database. Host configuration is shared with all nodes in farm and stored in database.
Agent Configuration
Specifies the node configuration in server farm. Generally it contains the application host connection and other network related configuration settings. Agent configuration uses layered configuration in following order;
<installdir>/appsettings.json
<installdir>/Configuration/appsettings.json
- Environment variables
- Command line arguments
Default configuration is stored in <installdir>/appsettings.json
file and it is not recommended to change. Any change should be specified in <installdir>/Configuration/appsettings.json
or other layers.
Environment Variables
Any environment variable that starts with "AK_
" prefix overrides the configuration entries in appsettings.json file. For example host configuration connection can be specified as environment variable;
AK_DbProvider = "Postgres" AK_DbConnStr = "Host=myserver;Database=emakin;Username=emakin;Password=mypassword;"
Command Line Arguments
Any command line argument to agent executable overrides the configuration entries.
.\AltiKare.Workflow.Agent.exe DBConnStr="Host=myserver;Database=emakin;Username=emakin;Password=mypassword;"
Host configuration
Specifies the global farm configuration. All agent nodes in farm shares the same configuration. By default host administration can be accessed from only localhost http://localhost:5000 address.
Warning
Host administration port (5000) should be open to only secured networks and should not be open for public access. In addition to special port host administration panel also protected by a password. On initial setup emakin assigns default password ("verysecret") but it can be changed later from administration panel.
Host configuration contains one or more application definition to as hosted emakin application. Each application has multiple domains for multi-tenancy.
Application definition performs isolation at database level and nothing can be shared between application-wide. Domains isolates the process-wide data and cross domain workflows are possible. For example a workflow instance can be started in "foo" domain and next step can be assigned to a user in "bar" domain.
Domains also inherits configuration settings from application if not overridden. For example mail server definitions are inherited from application configuration if domain does not exclusively defines any mail server definition.
Each application configuration contains the following sections;
General Settings
Title
Display name of application
System Administrator e-Mail
Mail address to send configuration errors, critical system wide related notifications.
Static URL
Base web access url for static (like JS, CSS, Image) file urls. If not specified domain url used. It is recommended to set a URL for multi domain environments to improve caching of resources between domains.
Market URL
Process market application url. If not specified "http://market.emakin.com" address is used. If you don't have any special process market environment it is recommended to leave blank.
Mobile Push URL
Mobile push notifications gateway url. If not specified "http://push.emakin.com" address is used.
Default Domain Level
Default domain level for new domains.
Domain Expiration Period
Domain deletion period for unprotected domains.
Scheduled Task Limit
Minimum duration of scheduled task intervals.
Process Form Data Limit
Maximum size of form data size in bytes. Set to 5MB by default if set to blank.
Database Settings
Database settings contains a system connection for storing workflow related system data and repository connections for domain specific data. Multiple repository connection can be defined and every new domain assigns to randomly selected repository to distribute process wide data.
System Connection
Database Adapter
Type of database provider for system connections.
Name
Display name of database connection. Used for diagnostics.
Connection String
Connection string of system database.
Repository Connections
List of repository connections to store domain specific data.
Database Adapter
Type of database provider for database.
Name
Display name of database connection.
Connection String
Connection string of database.
Xml Repositories
List of xml repository connections to store domain specific data. See $XmlRepository for more detail.
Name
Display name of xml repository
Connection String
Connection string of xml repository
File Repositories
List of file repositories. By default emakin store all files in database. When any file repository defined in this section; files are automatically copied to all repositories and cleared database to save space.
Provider
Provider of file repository connection
Name
Display name of file repository
Base Path
Base path of file repository
Is Enabled
Specifies the file repository is active
Security
SSL Options
Force SSL ?
Specifies the force SSL connections if http used. If enabled all web access connections automatically redirected to https protocol.