Joget DX provides an automatic integration with Git behind the scenes. All app definitions and components are stored in the filesystem and version controlled using Git, including plugins and resources. Should you wish to integrate with an external Git, Git Configuration allows users to integrate with an external version control using Git.
To access into the built-in Git, the local repository is in <Joget installation folder>\wflow\app_src\<App ID>\<App ID_version number>
For more information on the built-in Git repository directory structure, see Built-in Git Project Directory Structure
Currently, Users will not be able to customize the Git Message during Commit.
Git Configuration Properties
|Screen (Click to view)|
Remote Git URL
The URL to the remote Git server (e.g. GitHub, BitBucket, GitLab, internal servers, etc) to push commits to
Figure 1: Git Configuration Properties
Remote Git Username
The username to authenticate to the remote Git server
Remote Git Password
The password to authenticate to the remote Git server
Exclude App Configuration (Environment Variables and Plugin Default Properties)
Check this to NOT commit environment variables and plugin default properties. This is meant for configuration values (e.g. settings that might differ in development vs testing vs production)
Always Pull from Remote Server
Check this to allow pull from the remote Git server on every request.
If unchecked, it will only pull before it attempts to push any updates.
This greatly slows down the request and should only be used in a development environment.
Auto Sync DB From Git
Check this to automatically check for updates in the Git project files and to update the DB definitions accordingly
Built-in Git Project Directory Structure
Git app definition files are saved in the following directory structure:
| |- form.json
| |- list.json
| |- userview.json
| |- file.ext
Description of each file / directory
File / Directory Name
Directory under wflow containing all the Git projects
Each app has a directory with the app ID as its name e.g. “crm"
Configuration file containing the settings as saved in the app Git Configuration UI.
This file applies for all app versions.
Under the app directory, each app version has its own directory e.g. version 3 of app ID “crm” would be “crm_3”.
This is the directory that contains an entire app version including its dependencies e.g. plugins.
Within this directory, each app version is a separate Git branch.
It might seem then it is being duplicated for each version, but this is required to cater to the possibility of different app versions being worked on concurrently.
XML containing the main app definition, including the process mappings, message and resource records.
XML containing environment variables and plugin default properties.
This file is meant to keep configuration values (e.g. settings that might differ in development vs testing vs production), that can be omitted from Git commits if required.
XPDL definition for the app processes.
Directory containing form JSON definitions. Each form is saved as 1 JSON file.
Directory containing datalist JSON definitions. Each datalist is saved as 1 JSON file.
Directory containing form JSON definitions. Each userview is saved as 1 JSON file.
Directory containing uploaded resource files.
Directory containing custom plugins used.
Disabling Git In Joget DX
Beginning from v7.0.6 release, we added a new JAVA_OPT parameter to disable or turn off the Git. This is done by adding
-Dgit.disabled=true to your Joget startup script, for example:
If you opt to disable the Git in Joget DX, you can delete the ".\wflow\app_src" folder content to save some hard disk space in your development servers.