Versions Compared

Key

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

What is Hash Variable?

Hash Variables gives users greater flexibility and freedom in accessing useful information or relevant runtime 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.

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 '{' and '}'.

Syntax:

 

#prefix.{prefix.variableKey}#
 

Example:

...

#date.{envVariable.dateFormat}#
#user.{variable.username}.firstName#
#form.tableChild.field1[{form.tableParent.childId}]#
 

List of Hash Variables

Workflow Assignment Hash 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 

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.

...

NameDescription
Prefixdate
Description

To get date time according to a specified format.

Attributes
  • #date.dateFormat#
Scope of Use
  • All components within the App.
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

...