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

Compare with Current View Page History

« Previous Version 22 Next »

What is Hash Variable?

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.

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.

Syntax / Format
#prefix.{prefix.variableKey}#
Here's some examples:
Example
#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

 

Example
#envVariable.script?java#

 

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.

Date Hash Variable  

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

Environment Variable Hash Variable  

NameDescription
PrefixenvVariable
Description

To retrieve Environment Variable value. Learn more 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  

NameDescription
Prefixform
Description

To 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  

NameDescription
Prefix performer
Description

To get user information of the performer 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.

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.

The activity chosen must had already been performed.

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

Request Parameter Hash 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  

NameDescription
Prefixuser
Description

To get user information 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  

NameDescription
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:-

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

Workflow Variable Hash Variable

NameDescription
Prefix variable
Description

To get 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.approvalStatus#


  • No labels