| Table of Contents | ||||
|---|---|---|---|---|
|
Overview
Joget Workflow Cloud Edition is an enhanced version of Joget Workflow Enterprise that supports multi-tenancy, allowing for multiple accounts (tenants) to be hosted on one webapp. Each account appears to be a separate installation.
The architecture is based on a shared webapp connecting to separate databases or schemas. This allows for more cost-effective delivery of services, since many accounts can be hosted on a single app server. At the same time, each account has its own separate database and file upload directory to preserve data isolation.
Installation
Prerequisites
- Linux
- Java 7 8 and above
- MySQL 5.5 and above
...
Refer to the Knowledge Base at Installation using the Linux Bundle for more detailed instructions.
Configuration
DNS Configuration
Each account / tenant is identified by a domain name, so the DNS needs to be configured to point desired domains to Joget. For convenience, it is recommended to use a wildcard DNS record (http://en.wikipedia.org/wiki/Wildcard_DNS_record). For example:
...
- The key to the left of the equal sign is the domain name, while the value to the right is the profile.
- Each profile has a corresponding file app_datasource-(profile).properties which contains the database settings.
- When a request is received, any matching domain name will use the associated profile.
- currentProfile is a special key to indicate the default profile to use if there are no matching domains.
- In terms of file uploads and system generated files, each profile stores its files in the subdirectory (joget.home)/wflow/app_profiles/(profile).
Account Provisioning
There are a few approaches to provision (create) an account.
...
- Execute the file (joget.home)/cloud-provision-account.sh.
- When prompted for Account Profile Name, enter the required account name (e.g., demo).
- The next prompt is for the Main Domain Name. Enter the main domain (e.g., example.com).
- Subsequent inputs will have default values that you can just enter and accept, or change before submitting.
- Upon submission of all the inputs, the script will create the database and perform the necessary configuration for the account. The inputs are as follows:
Account Profile Name | Desired account name (e.g., demo) |
Main Domain | Main domain (e.g., example.com) |
Account Domain Name | Account domain (e.g., demo.example.com) |
Account Database Name | Database name for the account (e.g., jwc_demo) |
Account Database User | Database user for the account (e.g., jwc_demo) |
Account Database Password | Database password for the account (e.g., jwc_demo) |
Home Directory | Joget home directory; defaults to current directory |
wflow Directory | Joget configuration directory; defaults to ./wflow |
MySQL host name | Database server host name |
MySQL port | Database port |
MySQL username | Database admin user (with permission to create database) |
MySQL password | Database admin password |
Cloud Admin App
For convenience, a simple Joget app is provided to automate the account request approval and provisioning process.
...
In a production environment, it is recommended for security purposes that this app be installed on a specific profile instead of the default profile.
Account Removal
Manual Removal
To disable an account, perform the following:
...
- Remove the profile entry from (joget.home)/wflow/app_datasource.properties.
- Delete the profile properties file (joget.home)/wflow/app_datasource-(profile).properties.
- Delete the associated account database.
- Delete the associated account profile directory (joget.home)/wflow/app_profiles/(profile).
- If the Cloud Admin App is used, delete the record from the db table app_fd_cloud_account.
Maintenance
Logging
As with a standard Joget installation on Apache Tomcat, the log file is at (joget.home)/apache-tomcat-xxxx/logs/catalina.out.
...
Backups should be done for all MySQL databases as well as configuration and data files in (joget.home)/wflow.
