Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Joget Workflow v5 Training Slides - Module 9 - Hash variable

714 views

Published on

List of Modules
1-Introduction to Joget Workflow
2-Setting up Joget Workflow
3-Designing your first Process
4-Localizing your Joget Workflow
5-Designing your first Form
6-Using your first Process Tool
7-Designing your first Datalist
8-Designing your first Userview
9-Hash Variable
10-SLA and Deadlines
12-Version Control
13-Improving your Form design and Presentation
14-Introduction to Reporting
15-Introduction to Plugin Architecture
16-Preparing Development Environment
17-Building Plugins
18-Integrating with External System
19-Doing more with your Process Design
20-Basic System Administration
21-Best Practices on Application Building

Published in: Software
  • Be the first to comment

  • Be the first to like this

Joget Workflow v5 Training Slides - Module 9 - Hash variable

  1. 1. All Rights Reserved © Joget Inc Joget Workflow v5 Hash Variable http://facebook.com/jogetworkflow http://twitter.com/jogetworkflow Last Revised on May 2016Joget Inc Internal Use Only
  2. 2. All Rights Reserved © Joget Inc Prerequisites • General understanding on how to design an App using the Joget Workflow platform (i.e. Process, Form, Datalist, Userview). Joget Inc Internal Use Only
  3. 3. All Rights Reserved © Joget Inc Content 1. Introduction to Hash Variable 2. List of Hash Variable and its usages 3. Nested Hash Variable Joget Inc Internal Use Only
  4. 4. All Rights Reserved © Joget Inc Chapter 1 Introduction to Hash Variable Joget Inc Internal Use Only
  5. 5. All Rights Reserved © Joget Inc What is Hash Variable? • Hash Variable != Workflow Variable • Hash Variable is a special hash-escaped keyword that can be used in but NOT limited to. – 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 value of some useful runtime variables from Workflow Engine Joget Inc Internal Use Only
  6. 6. All Rights Reserved © Joget Inc Hash Variable • Each Hash Variable element has its own prefix. Eg.: – #date.D-MMM-yyyy# – #form.leave_applications.name# – #variable.status# – #i18n.smtpServer# • A new Hash Variable (with it’s own unique prefix) can be built through Joget Workflow’s plugin architecture. Joget Inc Internal Use Only
  7. 7. All Rights Reserved © Joget Inc Plugin Types Joget Inc Internal Use Only
  8. 8. All Rights Reserved © Joget Inc Chapter Review • Brief understanding on the purpose that Hash Variable serves. Joget Inc Internal Use Only
  9. 9. All Rights Reserved © Joget Inc Chapter 2 List of Hash Variables and its usages Joget Inc Internal Use Only
  10. 10. All Rights Reserved © Joget Inc Sample use case • How to display requestor’s full name in a form? Joget Inc Internal Use Only
  11. 11. All Rights Reserved © Joget Inc Sample use case • How to display requestor’s full name in task / activity name instead of just “Approve Leave”? Joget Inc Internal Use Only for Cat Grant
  12. 12. All Rights Reserved © Joget Inc List of Hash variables • Performer • Internationalization • Request Parameter • Environment Variable • Current User • User • Assignment • Form • Workflow Variable • Date Joget Inc Internal Use Only
  13. 13. All Rights Reserved © Joget Inc Performer Hash Variable • Performer – To get user information of the performer of an activity. • #performer.activityDefId.id#, • #performer.activityDefId.username#, • #performer.activityDefId.firstName#, • #performer.activityDefId.lastName#, • #performer.activityDefId.email#, • #performer.activityDefId.active#, • #performer.activityDefId.timeZone# • Replace “activityDefId” with the appropriate activity definition id. • Reference: http://dev.joget.org/community/display/KBv5/Hash+Variable#HashVariable- PerformerHashVariable Joget Inc Internal Use Only
  14. 14. All Rights Reserved © Joget Inc Using #performer Hash Variable #performer.facilities_request.username# Joget Inc Internal Use Only
  15. 15. All Rights Reserved © Joget Inc Using #performer Hash Variable in Form Builder Joget Inc Internal Use Only Hash Variable can be used in Form Title, Section Title, Form Element
  16. 16. All Rights Reserved © Joget Inc Using #performer Hash Variable in Workflow Designer Joget Inc Internal Use Only #performer.submitLeave.firstName# #performer.submitLeave.lastName#
  17. 17. All Rights Reserved © Joget Inc Using #performer Hash Variable in Plugin Configuration Joget Inc Internal Use Only In Email Plugin, Hash Variables are supported in From, To (specific email address), CC, Subject and Message fields.
  18. 18. All Rights Reserved © Joget Inc Internationalization Hash Variable • Internationalization support on application – Support language localization on application level. • #i18n.keyName# • Replace “keyName” with the appropriate message key. • Reference: http://dev.joget.org/community/display/KBv5/Hash+Variable#HashVariable-AppMessageHashVariable(Internationalization) Joget Inc Internal Use Only
  19. 19. All Rights Reserved © Joget Inc Using #i18n in Userview Builder • The #i18n Hash Variable retrieves values from the Message set of the App. • E.g. Message with key app.hello in 2 locales. Joget Inc Internal Use Only
  20. 20. All Rights Reserved © Joget Inc Using #i18n in Userview Builder • With the key defined, the hash variable can be used in the Userview Builder to dynamically show corresponding value depending on the user’s locale. Joget Inc Internal Use Only
  21. 21. All Rights Reserved © Joget Inc Request Parameter Hash Variable • Request Parameter – For accessing request parameters. • #requestParam.parameterName# • Replace “parameterName” with the appropriate request parameter name. • Reference: http://dev.joget.org/community/display/KBv5/Hash+Variable#HashVariable-RequestParameterHashVariable Joget Inc Internal Use Only
  22. 22. All Rights Reserved © Joget Inc Using #requestParam in Form Builder • Useful to prepopulate form field. Joget Inc Internal Use Only
  23. 23. All Rights Reserved © Joget Inc Environment Variable Hash Variable • Environment Variable – Application level environment variable is typically used to store common or re-usable values such as Email server settings. • #envVariable.keyName# • Replace “keyName” with the appropriate Environment Variable name. • Reference: http://dev.joget.org/community/display/KBv5/Hash+Variable#HashVariable-EnvironmentVariableHashVariable Joget Inc Internal Use Only
  24. 24. All Rights Reserved © Joget Inc Using #envVariable in Email Tool • Use Environment Variable on Email Tool to ease maintenance. Joget Inc Internal Use Only
  25. 25. All Rights Reserved © Joget Inc Current User Hash Variable • Current User – Retrieve currently logged in user information. • #currentUser.id#, • #currentUser.username#, • #currentUser.firstName#, • #currentUser.lastName#, • #currentUser.email#, • #currentUser.active#, • #currentUser.timeZone# • Reference: http://dev.joget.org/community/display/KBv5/Hash+Variable#HashVariable-CurrentUserHashVariable Joget Inc Internal Use Only
  26. 26. All Rights Reserved © Joget Inc Using #currentUser on Form Builder • Prepopulate applicant’s name in Form Joget Inc Internal Use Only
  27. 27. All Rights Reserved © Joget Inc User Hash Variable • User – To get user information based on username. • #user.username.id# • #user.username.username# • #user.username.firstName# • #user.username.lastName# • #user.username.email# • #user.username.active# • #user.username.timeZone# • Replace “username” with the appropriate user’s username. • Reference: http://dev.joget.org/community/display/KBv5/Hash+Variable#HashVariable-UserHashVariable Joget Inc Internal Use Only
  28. 28. All Rights Reserved © Joget Inc Using #user Hash Variables • To get user information based on the username. Example: #user.admin.email# #user.cat.firstName# #user.{form.leave_applications.username}.firstName# #user.{form.leave_applications.username}.lastName# Joget Inc Internal Use Only This is a Nested hash variable where one can include a hash variable inside another hash variable. Subsequent level of hash variable is encapsulated with a pair of square bracket.
  29. 29. All Rights Reserved © Joget Inc Assignment Hash Variable • Assignment – To get workflow activity information of the current assignment. • #assignment.processId#, • #assignment.processDefId#, • #assignment.processName#, • #assignment.processVersion#, • #assignment.processRequesterId#, • #assignment.description#, • #assignment.activityId#, • #assignment.activityName#, • #assignment.activityDefId#, • #assignment.assigneeId# • Reference: http://dev.joget.org/community/display/KBv5/Hash+Variable#HashVariable-WorkflowAssignmentHashVariable Joget Inc Internal Use Only
  30. 30. All Rights Reserved © Joget Inc Using #assignment on Form Builder • Retrieve current assignment information. Joget Inc Internal Use Only
  31. 31. All Rights Reserved © Joget Inc Form Hash Variable • Form – To get data from form table. – #form.formDataTableName.fieldId# • Replace “formDataTableName” and “fieldId” with the appropriate table name and field id. • Reference: http://dev.joget.org/community/display/KBv5/Hash+Variable#HashVariable-FormDataHashVariable Joget Inc Internal Use Only
  32. 32. All Rights Reserved © Joget Inc Using #form in Email Tool / Plugin Configuration Joget Inc Internal Use Only • Examples: • #form.registration.registered_date# • #form.registration.issued_date# • #form.registration.issued_date[0001]# – To retrieve the field value by specifying a specific record primary key value, 0001. • #form.registration.registered_date[{variable.recordId}]# //using nested Hash Variable with curly bracket. – To achieve the same result like the previous point but by making reference to another Hash Variable for its record primary key value.
  33. 33. All Rights Reserved © Joget Inc Using #form in Email Tool / Plugin Configuration Joget Inc Internal Use Only
  34. 34. All Rights Reserved © Joget Inc Workflow Variable Hash Variable • Workflow Variable – To get the value of a workflow variable. • #variable.variableName# • Replace “variableName” with the appropriate workflow variable name. • Reference: http://dev.joget.org/community/display/KBv5/Hash+Variable#HashVariable-WorkflowVariableHashVariable Joget Inc Internal Use Only
  35. 35. All Rights Reserved © Joget Inc Using #variable Hash Variable • To get the value of a workflow variable. Joget Inc Internal Use Only Example: #variable.status#
  36. 36. All Rights Reserved © Joget Inc Date Hash Variable • Date – To get date time according to a specified format. • #date.dateFormat# • #date.[DAY/MONTH/YEAR][+/-]IntegerValue.dateFormat# – Examples: • #date.h:mm a# will produce 12:08 PM • #date.EEE, d MMM yyyy h:mm:ss a# will produce Wed, 4 Jul 2009 12:08:56 PM • Replace “dateFormat” with the appropriate keyword documented in SimpleDateFormat class http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html • Reference: http://dev.joget.org/community/display/KBv5/Hash+Variable#HashVariable-DateHashVariable Joget Inc Internal Use Only
  37. 37. All Rights Reserved © Joget Inc Using #date Hash Variables Joget Inc Internal Use Only Letter Date or Time Component Presentation Examples G Era designator Text AD y Year Year 1996; 96 M Month in year Month July; Jul; 07 w Week in year Number 27 W Week in month Number 2 D Day in year Number 189 d Day in month Number 10 F Day of week in month Number 2 E Day in week Text Tuesday; Tue a Am/pm marker Text PM H Hour in day (0-23) Number 0 k Hour in day (1-24) Number 24 K Hour in am/pm (0-11) Number 0 h Hour in am/pm (1-12) Number 12 m Minute in hour Number 30 s Second in minute Number 55 S Millisecond Number 978 z Time zone General time zone Pacific Standard Time; PST; GMT-08:00 Z Time zone RFC 822 time zone -0800 • Source: http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
  38. 38. All Rights Reserved © Joget Inc Using #date Hash Variables • Example: #date.EEE, d MMM yyyy h:mm:ss a# • Sample Output: Mon, 28 Dec 2009 11:27:26 AM Java SimpleDateFormat Joget Inc Internal Use Only
  39. 39. All Rights Reserved © Joget Inc Using #date Hash Variables • Example: #date.DAY+7.EEE, d MMM yyyy h:mm:ss a# • Sample Output: Mon, 4 Jan 2010 11:27:26 AM Java SimpleDateFormat+7 days Joget Inc Internal Use Only
  40. 40. All Rights Reserved © Joget Inc Using #date Hash Variables • Example: #date.MONTH-2.EEE, d MMM yyyy h:mm:ss a# • Sample Output: Wed, 28 Oct 2009 11:27:26 AM Java SimpleDateFormat-2 months Joget Inc Internal Use Only
  41. 41. All Rights Reserved © Joget Inc Using #date Hash Variables • Example: #date.YEAR+1.EEE, d MMM yyyy h:mm:ss a# • Sample Output: Tue, 28 Dec 2010 11:27:26 AM Java SimpleDateFormat+1 year Joget Inc Internal Use Only
  42. 42. All Rights Reserved © Joget Inc Hash Variable assistant/autocomplete • Use CTRL+SHIFT+3 ( CTRL + # ) to open up the autocomplete to help you with hash variable. Joget Inc Internal Use Only
  43. 43. All Rights Reserved © Joget Inc Chapter 3 Nested Hash Variable Joget Inc Internal Use Only
  44. 44. All Rights Reserved © Joget Inc Nested Hash Variable • Hash Variable can be used inside another Hash Variable to form a Nested Hash Variable. • The syntax for the inner and subsequent Hash Variables is wrapped by a pair of curly bracket '{' and '}' instead of the usual paif of #. • Example: #prefix.{prefix.variableKey}# • There is no limit to the depth of the nested variable. Joget Inc Internal Use Only
  45. 45. All Rights Reserved © Joget Inc Example of Nested Hash Variable • #date.{envVariable.dateFormat}# • #user.{variable.username}.firstName# • #form.tableChild.field1[{form.tableParent.childId}]# Joget Inc Internal Use Only
  46. 46. All Rights Reserved © Joget Inc Chapter Review • Appreciate the flexibility and convenience brought by the Hash Variable. • Able to apply the Hash Variable feature into application development. Joget Inc Internal Use Only
  47. 47. All Rights Reserved © Joget Inc Exercise 1. In “Submit Leave” form, pre-populate the applicant’s name using hash variable. Joget Inc Internal Use Only
  48. 48. All Rights Reserved © Joget Inc Exercise 2. In “Send Rejected Email Notification” Email Tool, compose the message as follow using hash variable. Go through the process flow to send out the test email. Dear [applicant name], Your application has been [status] due to the following reason:- [rejected reason] Thank you. Joget Inc Internal Use Only
  49. 49. All Rights Reserved © Joget Inc Exercise 3. In Inbox, instead of just showing “Approve Leave”, include the applicant’s name to the example as follow:- Joget Inc Internal Use Only
  50. 50. All Rights Reserved © Joget Inc Exercise 4. Create a new listing that will only show applications submitted by the logged in user.  Create a new Datalist Add filter criteria in “Extra Filter Condition”. – Eg. ( e.customProperties.name = 'Cat Grant' ) – Replace 'Cat' with the appropriate Hash Variable  Add the created list into the existing Userview Reference: http://dev.joget.org/community/display/KBv5/Form+Data+Binder Joget Inc Internal Use Only
  51. 51. All Rights Reserved © Joget Inc Exercise 5. Make use of Environment Variable to store commonly used settings (e.g. Email configuration used in Email Tool plugin.) Reference: http://dev.joget.org/community/display/KBv5/Environment+Variable Joget Inc Internal Use Only
  52. 52. All Rights Reserved © Joget Inc Discussion • When will the hash variables be parsed? • Can end user write hash variable when submitting form? • Can we develop a new hash variable plugin? • Can we have redundant hash variable prefix? Joget Inc Internal Use Only
  53. 53. All Rights Reserved © Joget Inc Module Review 1. Introduction to Hash Variable 2. List of Hash Variable and its usages 3. Nested Hash Variable Joget Inc Internal Use Only
  54. 54. All Rights Reserved © Joget Inc Stay Connected with Joget Workflow • http://www.joget.org • http://community.joget.org • http://twitter.com/jogetworkflow • http://facebook.com/jogetworkflow • http://youtube.com/jogetworkflow • http://slideshare.net/joget Joget Inc Internal Use Only

×