You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

New Feature

This is a new feature in Joget DX


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>

Example
C:\Joget-DX7-Enterprise\wflow\app_src\expenseclaim\expenseclaim_1

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

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

Figure 1: Git Configuration Properties

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.

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:


wflow

   |-  app_src

      |-  appId

         |- app.properties

         |-  appId_version

            |- appDefinition.xml

            |- appConfig.xml

            |- package.xpdl

            |-  forms

            |    |- form.json

            |-  lists

            |    |- list.json

            |-  userviews

            |    |- userview.json

            |-  resources

            |    |- file.ext

            |-  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.

Note

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.



  • No labels