Versions Compared

Key

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

What is Hash Variable?

Hash Variables gives gives users greater flexibility and freedom in accessing useful information or relevant run-time values from the system.

...

Nested Hash Variable

Since version 3.0.3, a Hash Variable can can be used inside another another Hash Variable to to form a Nested Hash Variable.

The syntax for the inner Hash Variable is wrapped by a pair of curly bracket.

...

Here's some examples:
Code Block
titleExample
#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
  • json
  • javascript
  • html
  • xml
  • java
  • sql
  • url

 

Code Block
titleExample
#envVariable.script?java#

 

List of Hash Variables

Workflow Assignment Hash Variable Variable

NameDescription
Prefixassignment
Description

To get workflow activity information of the current assignment.

Attributes
  • #assignment.processId#
  • #assignment.processDefId#
  • #assignment.processName#
  • #assignment.processVersion#
  • #assignment.processRequesterId#
  • #assignment.description#
  • #assignment.activityId#
  • #assignment.activityName#
  • #assignment.activityDefId#
  • #assignment.assigneeId#
Scope of Use
  • Elements within and part of a Process.
    1. Activity Name.
    2. Form mapped as part of process activity mapping.
    3. Email Tool configuration as part of process tool mapping.

Current User Hash Variable Variable

NameDescription
PrefixcurrentUser
DescriptionTo retrieve currently logged in user information.  
Attributes
  • #currentUser.id#
  • #currentUser.username#
  • #currentUser.firstName#
  • #currentUser.lastName#
  • #currentUser.email#
  • #currentUser.active#
  • #currentUser.timeZone#

In Joget Enterprise edition, these additional attributes are available:-

Organization

  • #currentUser.organization.id#
  • #currentUser.organization.name#
  • #currentUser.organization.description#

Department

  • #currentUser.department.id#
  • #currentUser.department.name#
  • #currentUser.department.description#
  • #currentUser.department.treeStructure#

Grade

  • #currentUser.grade.id#
  • #currentUser.grade.name#
  • #currentUser.grade.description#
  • #currentUser.grade.organizationId#

HOD

  • #currentUser.hod.username#
  • #currentUser.hod.firstName#
  • #currentUser.hod.lastName#
  • #currentUser.hod.email#
  • #currentUser.hod.active#
  • #currentUser.hod.timeZone#

Group

  • #currentUser.groups.id#
  • #currentUser.groups.name#

Employment

  • #currentUser.employee.code#
  • #currentUser.employee.jobTitle#
  • #currentUser.employee.isHod#

Department HOD

  • #currentUser.department.hod.username#
  • #currentUser.department.hod.firstName#
  • #currentUser.department.hod.lastName#
  • #currentUser.department.hod.email#
  • #currentUser.department.hod.active#
  • #currentUser.department.hod.timeZone#
Scope of Use
  • All components within the App.

Date Hash Variable Variable  

NameDescription
Prefixdate
Description

To get get date time according according to a specified format.

Attributes
  • #date. dateFormat #
Scope of Use
  • All components within the App.
Sample Attributes#date.h:mm a# a# // 12:08 PM
#date.EEE, d MMM yyyy h:mm:ss a# a# // Wed, 4 Jul 2014 12:08:56 PM
#date.DAY+ 7 .EEE, d MMM yyyy h:mm:ss a# a# // Add 7 days on top of current date time - Wed, 11 Jul 2014 12:08:56 PM

Environment Variable Hash Variable Variable  

NameDescription
PrefixenvVariable
Description

To retrieve retrieve Environment Variable value value. Learn more about about Environment Variables .

Attributes
  • #envVariable. keyName #
Scope of Use
  • Anywhere within the Joget app itself. (i.e. Process, Process Tool, Form, List, Userview)
Sample Attributes#envVariable.smtpServer#
#envVariable.smtpPort#

Form Data Hash Variable Variable  

NameDescription
Prefixform
Description

To get get field value from form table.

Attributes
  • #form. tableName . fieldId #
  • #form. tableName . fieldId [recordId]# (Available in 3.1 and above)
Scope of Use
  • In a Process Tool part of a Process.
  • In a Form.
  • In a process design.
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.

App Message Hash Variable (Internationalization)   

NameDescription
Prefixi18n
Description

To support language localization on application level.

Attributes
  • #i18n. keyName #
Scope of Use
  • All components within the App.
Sample Attributes#i18n.app.hello#

Performer Hash Variable Variable  

NameDescription
Prefix performerperformer
Description

To get get user information of the performer of of an activity.

Attributes
  • #performer. activityDefId .id#
  • #performer. activityDefId .username#
  • #performer. activityDefId .firstName#
  • #performer. activityDefId .lastName#
  • #performer. activityDefId .email#
  • #performer. activityDefId .active#
  • #performer. activityDefId .timeZone#
Scope of Use
  • Elements within and part of a Process.
    1. Activity Name.
    2. Form mapped as part of process activity mapping.
    3. Email Tool configuration as part of process tool mapping.
Info

To get activityDefId (activity definition ID), mouseover the activity name in the Activity Mapping tab (Workflow Management Console); there will be an overlay showing the ID.

Warning

The activity chosen must had already been performed.

Sample Attributes
  • #performer.runProcess.firstName#
  • #performer.submitLeave.firstName#

Request Parameter Hash Variable Variable  

NameDescription
PrefixrequestParam
Description

To access request parameter' values.

Attributes
  • #requestParam.parameterName#
Scope of Use
  • All components within the App.
Sample Attributes

User Hash Variable Variable  

NameDescription
Prefixuser
Description

To get get user information based on  based on username.

Attributes
  • #user. username .id#
  • #user. username .username#
  • #user. username .firstName#
  • #user. username .lastName#
  • #user. username .email#
  • #user. username .active#
  • #user. username .timeZone#
Scope of Use
  • All components within the App.
Sample Attributes
  • #user.admin.email#
  • #user.cat.firstName#

 

Userview Key Hash Variable Variable  

NameDescription
Prefix userviewKeyuserviewKey
Description

Userview Key Hash Hash Variable is used solely for the purpose of accessing the current current Userview key's value.

Typical use case for this hash variable are:-

  • Filtering a Datalist based based on Userview Key.
  • Preloading certain form data field (e.g. subform) in a Form or  or Form part of a process flow based based on Userview Key.
Attributes
  • #userviewKey#
Scope of Use

Workflow Variable Hash Variable

NameDescription
Prefix variablevariable
Description

To get the the value of a workflow variable in a Process Flow.

Attributes
  • #variable. variableName #
Scope of Use
  • Elements within and part of a Process.
    1. Activity Name.
    2. Form mapped as part of process activity mapping.
    3. Email Tool configuration as part of process tool mapping.
Sample Attributes #variable#variable.approvalStatus#