Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Introduction

English
ID Generator Tool allows one to

...

increment a value stored in Environment Variable by one. It is

...

often used to generate/keep a running number (e.g. application reference number)

...

Note

You will only need to do this if you are using MySQL, as other databases already default to "READ-COMMITTED".

Run following queries in MySQL.

SET GLOBAL tx_isolation='READ-COMMITTED';
SET SESSION tx_isolation='READ-COMMITTED';
You will also need to set the following in your my.cnf/my.ini file.
[mysqld]
transaction-isolation = READ-COMMITTEDin your form.

ID Generator Field Properties

Edit ID Generator Field

...

Image Added

Figure 1: ID Generator Tool Properties

NameDescription
ID

Form field id. Only alpha-numeric and underscore characters allowed. Mandatory field.

If you use "id", the form will save with the "id" primary key in running sequence. Joget will not create the "id" in UUID format.

LabelKey in the label of this field.Mandatory field
Field IDOptional field. You may specify a form field ID to be updated.
Record IDOptional field. You may specify a record ID explicitly, otherwise, the process instance ID will be assumed.
Environment Variable Name

Name of the environment variable to be used to keep the running numberstore the running number. Joget will automatically create the environment variable in Properties & Export if the name does not exist. Only letters (a-z and A-Z), numbers (0-9) and underscore (_) are allowed in the Environment Variable Name field.

Do ensure your Environment Variable Names are unique for each form in your app (meaning for each form that is mapped to a different database table name).

If you are using the ID Generator Field as "id", meaning it is a primary key value, be careful not to override the environment variable value when inporting apps: do not click the "Show Advanced Options > Override environment variables" checkbox in Import App screen.

Format

Determines the pattern of the generated value (e.g., "REF-?????" will yield "REF-00001").

HiddenClick the checkbox to hide this field in the form.
Workflow Variable

The value generated can be saved into the corresponding workflow variable named here.

Info
titleUsing a non-existent Workflow Variable name

You will get the following warning with the name printed out (e.g. status) in the server Joget log if you attempt to map to a non-existent Workflow Variable:

context attribute status does not exist in process context - adding new attributes to the process context is not allowed



Isolation Level For MySQL Database

Note

The isolation defines the way in which the MySQL server (InnoDB) separates each transaction from other concurrent running transaction in the server and also ensures that the transactions are processed in a reliable way. If transactions are not isolated then one transaction could modify the data that another transaction is reading hence creating data inconsistency. Isolation levels determine how isolated the transactions are from each other.

You will only need to do this if you are using MySQL, as other databases already default to "READ-COMMITTED".

Run following queries in MySQL.

SET GLOBAL tx_isolation='READ-COMMITTED';
SET SESSION tx_isolation='READ-COMMITTED';

You will also need to set the following in your my.cnf/my.ini file.
[mysqld]
transaction-isolation = READ-COMMITTED