| Table of Contents | ||||
|---|---|---|---|---|
|
What is Hash Variable?
| Panel | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
| Hash Variables gives users greater flexibility and freedom in accessing useful information or relevant run-time values from the system. |
A hash variable is a special hash-escaped keyword that can be used in :
- Form Builder
- Datalist Builder
- Userview Builder
- Supported plugin configuration properties
- Activity name in Workflow Designer
- External Form URL when mapping an activity to an external form
to return the value of some useful runtime variables from Joget components.
| Tip |
|---|
| To conveniently access the list of all hash variables available, use shortcut combination Ctrl-Shift-3 in any of the components above. |
| Tip |
|---|
Download the tutorial app on Hash Variables from Joget Workflow Marketplace to learn more about Hash Variable. |
Nested Hash Variable
Since version 3.0.3, a Hash Variable can be used inside another Hash Variable to form a Nested Hash Variable.
The syntax for the inner Hash Variable is wrapped by a pair of curly bracket.
| Code Block | ||||
|---|---|---|---|---|
| ||||
#prefix.{prefix.variableKey}# |
| Code Block | ||
|---|---|---|
| ||
#date.{envVariable.dateFormat}#
#user.{variable.username}.firstName#
#form.tableChild.field1[{form.tableParent.childId}]# |
Escaping the Resultant Hash Variable
The parsed/returned Hash Variable may cause incompatibility with the current context/environment such as syntax error in a script. Therefore, one may pass in additional parameters into the hash variable declared to escape certain characters.
Before ending a hash variable with a hash "#", add a question mark character "?" followed by the required format. You may include multiple by defining semicolon ";" separated values.
- regex - Used to escape regular expression special characters
- json - Used to escape JSON special characters
- javascript - Used to escape Javascript special characters
- html - Used to escape HTML special characters
- xml - Used to escape XML special characters
- java - Used to escape Java special characters
- sql - Used to escape SQL special characters
- url - Used to escape URL special characters
- nl2br - Used to convert new line character to <br> HTML tag
- separator(SEPARATOR_CHARS) - Used to change the default separator ";" to the SEPARATOR_CHARS. eg. ?separator(, ) resulted "abc, def" instead of "abc;def".
| Code Block | ||
|---|---|---|
| ||
#envVariable.script?java# #envVariable.script?nl2br;json# #form.table.users?separator(, )# |
| Panel | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
nl2br and separator are new features in Joget Workflow v6. |
List of Hash Variables
Table of Contents minLevel 2 absoluteUrl true
Workflow Assignment Hash Variable
| Name | Description |
|---|---|
| Prefix | assignment |
| Description | To get workflow activity information of the current assignment. |
| Attributes |
|
| Scope of Use |
|
| Sample Attributes | To display the assignee's name: #user.{assignment.assigneeId}.firstName# #user.{assignment.assigneeId}.lastName# |
Current User Hash Variable
| Name | Description |
|---|---|
| Prefix | currentUser |
| Description | To retrieve currently logged in user information. |
| Attributes |
In Joget Enterprise edition, these additional attributes are available:- Organization
Department
Grade
HOD
Group
Employment
Department HOD
|
| Scope of Use |
|
Date Hash Variable
| Name | Description | |||||
|---|---|---|---|---|---|---|
| Prefix | date | |||||
| Description | To get date time according to a specified format.
| |||||
| Attributes |
| |||||
| Scope of Use |
| |||||
| Sample Attributes | #date.h:mm a# // 12:08 PM#date.EEE,d MMM yyyy h:mm:ss a# // Wed, 4 Jul 2014 12:08:56 PM#date.DAY+7.EEE,d MMM yyyy h:mm:ss a# // Add 7 days on top of current date time - Wed, 11 Jul 2014 12:08:56 PM#date.DAY-1.EEE,d MMM yyyy h:mm:ss a# // Minus 1 days on top of current date time - Wed, 3 Jul 2014 12:08:56 PM |
Environment Variable Hash Variable
| Name | Description |
|---|---|
| Prefix | envVariable |
| Description | To retrieve Environment Variable value. Learn more about Environment Variables . |
| Attributes |
|
| Scope of Use |
|
| Sample Attributes | #envVariable.smtpServer##envVariable.smtpPort# |
Form Data Hash Variable
| Name | Description |
|---|---|
| Prefix | form |
| Description | To get field value from form table. |
| Attributes |
|
| Scope of Use |
|
| Sample Attributes | #form.registration.registeredDate# //will use the current record ID#form.registration.registeredDate[ 0001 ]# //0001 is the record ID to seek for #form.registration.registeredDate[{variable.recordId}]# //using nested Hash Variable with curly bracket. |
Form Binder Hash Variable
| Panel | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
This is a new feature in Joget Workflow v6. |
| Name | Description |
|---|---|
| Prefix | binder |
| Description | To get field value or field value label from the binder of a form via its form definition id . The 'binder' prefix retrieves the field value, while the 'binder.options' prefix retrieves the lookup field (eg. select box, checkbox & radio button) option label. The field value or field value label can also be obtained from other apps by including the APP_ID, else it uses the current app context. By providing the PRIMARY_KEY argument, field value or field value label from a different record can be retrieved, else data from the current record id is retrieved instead. |
| Attributes |
|
| Scope of Use |
|
| Sample Attributes | #binder.addCard.title# #binder.cardViewer.addCard.title# #binder.cardViewer.addCard.title[b30bce20-c0a82095-14976e70-fded1735]# #binder.options.addCard.title# #binder.options.cardViewer.addCard.title# #binder.options.cardViewer.addCard.title[b30bce20-c0a82095-14976e70-fded1735]# |
App Message Hash Variable (Internationalization)
| Name | Description |
|---|---|
| Prefix | i18n |
| Description | To support language localization on application level. |
| Attributes |
|
| Scope of Use |
|
| Sample Attributes | #i18n.logout# |
| Example | Please see Add Message. |
Performer Hash Variable
| Name | Description | ||||
|---|---|---|---|---|---|
| Prefix | performer | ||||
| Description | To get user information of the performer of an activity. | ||||
| Attributes |
| ||||
| Scope of Use |
| ||||
| Sample Attributes |
|
Request Parameter Hash Variable
| Name | Description |
|---|---|
| Prefix | requestParam |
| Description | To access request parameter' values. |
| Attributes |
|
| Scope of Use |
|
| Sample Attributes |
|
User Hash Variable
| Name | Description |
|---|---|
| Prefix | user |
| Description | To get user information based on username. |
| Attributes |
|
| Scope of Use |
|
| Sample Attributes |
|
Userview Key Hash Variable
| Name | Description |
|---|---|
| Prefix | userviewKey |
| Description | Userview Key Hash Variable is used solely for the purpose of accessing the current Userview key's value. Typical use case for this hash variable are:-
|
| Attributes |
|
| Scope of Use |
Workflow Variable Hash Variable
| Name | Description |
|---|---|
| Prefix | variable |
| Description | To get the value of a workflow variable in a Process Flow. |
| Attributes |
|
| Scope of Use |
|
| Sample Attributes | #variable.approvalStatus# |
Request Hash Variable
| Name | Description | |||||
|---|---|---|---|---|---|---|
| Prefix | request | |||||
| Description | To get the value from the current HttpServletRequest object of the page view. | |||||
| Attributes |
| |||||
| Scope of Use |
| |||||
| Sample Attributes | To retrieve the "Referer" header attribute value in the screenshot above, one may use the following hash variable.
|
Platform Hash Variable
| Panel | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
This is a new feature in Joget Workflow v6. |
| Name | Description |
|---|---|
| Prefix | platform |
| Description | To retrieve platform specific information. |
| Attributes |
In Joget Enterprise edition, these additional attributes are available:-
|
| Scope of Use |
|
Users Hash Variable
| Panel | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
This is a new feature in Joget Workflow v6. |
| Name | Description |
|---|---|
| Prefix | users |
| Description | To retrieve information of all the users in the selected group, grade, department and organization. Multiple results will be separated by semicolon. |
| Attributes |
|
| Scope of Use |
|
| Sample Attributes | To return all the users in the current user's groups id:
|

