Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel
borderColorpurple
bgColorwhite
borderWidth1
titleBGColor#ddccff
borderStylesolid
titleNew Feature

This is a new feature in Joget DX

Panel
borderColorgreen
bgColorwhite
borderWidth1
titleBGColor#ddffcc
borderStylesolid
titleDefinition


Table of Contents

Introduction

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>

Code Block
titleExample
C:\Joget-DX7-Enterprise\wflow\app_src\expenseclaim\expenseclaim_1

For more information on the built-in Git repository directory structure, see Git Project Directory Structure


Warning
Currently, Users will not be able to customize the Git Message during Commit.

Git Configuration Properties

NameDescriptionScreen (Click to view)
Remote Git URLThe URI to the remote Git server (e.g. GitHub, BitBucket, GitLab, internal servers, etc) to push commits to

Remote Git UsernameThe username to authenticate to the remote Git server
Remote Git PasswordThe 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.

Warning
This greatly slows down the request and should only be used in a development environment.


Auto Sync DB From GitCheck 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:


Image Added wflow

   |- Image Added app_src

      |- Image Added appId

         |- app.properties

         |- Image Added appId_version

            |- appDefinition.xml

            |- appConfig.xml

            |- package.xpdl

            |- Image Added forms

            |    |- form.json

            |- Image Added lists

            |    |- list.json

            |- Image Added userviews

            |    |- userview.json

            |- Image Added resources

            |    |- file.ext

            |- Image Added plugins

                |-  plugin.jar


Description of each file / directory

File / Directory NameDescription
app_srcDirectory under wflow containing all the Git projects
appIdEach app has a directory with the app ID as its name e.g. “crm"
app.properties

Configuration file containing the settings as saved in the app Git Configuration UI.

This file applies for all app versions.

appId_version

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.

Info
titleNote

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.


appDefinition.xmlXML containing the main app definition, including the process mappings, message and resource records.
appConfig.xml

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.

package.xpdlXPDL definition for the app processes.
formsDirectory containing form JSON definitions. Each form is saved as 1 JSON file.
listsDirectory containing datalist JSON definitions. Each datalist is saved as 1 JSON file.
userviewsDirectory containing form JSON definitions. Each userview is saved as 1 JSON file.
resourcesDirectory containing uploaded resource files.
pluginsDirectory containing custom plugins used.