SlideShare une entreprise Scribd logo
1  sur  105
Télécharger pour lire hors ligne
Easy J get v3
for the absolute beginner
i
ii
Preliminaries
Joget Workflow is a free open source app builder that allows you to
create full-fledged process apps from any computer with Internet
connection. Its simple drag-and drop wizards make designing
forms, tables, processes and user interfaces (UI) easy as pie.
More and more businesses looking for an easy-to-use yet
powerful complement to their groove are finding Joget
Workflow essential and useful to their organization.
www.joget.org spells out the details.
Joget is not just about workflows.
To build apps using Joget, one needs to move around the
Workflow Designer, Form Builder, Datalist Builder and
Userview Builder. I’m guessing, though, that some of you
may not want to design workflows but would like it if you
could build process apps sans all the diagraming.
Joget’s Userview Builder --- the jewel among Joget’s crown
jewels --- sets you where the rubber meets the road. You’ll goggle at how
easily anyone can build apps using the Userview Builder, and with those apps,
efficiently take care of all kinds of office work that are done repeatedly.
iii
Joget Workflow Ecosystem Let’s take a look at what makes up Joget Workflow:
This book provides handy information for you, the average Joe, while
you build your first Joget Workflow process app. It does not discuss
what Joget can do in full-scale. Rather, it guides you through the
features that you can use to make your work processes flow as they
should. This book comes clean and clear so you can move on without
the frustrating jargons and get your apps done. The contents are
organized in linear style, but you can always hop to any chapter that
you feel you need to go to.
Each time you don’t understand something, look for the topic under the table of
contents or in the index page. For quick definitions on words that baffle you, turn to the glossary
at the end of the book.
• Words or phrases that you are being asked to type in or click on are marked in bold text.
• Words that are being defined are written in italics.
iv
• ( > ) is used when showing selected commands in menus, for example, File > Open
which means that you are being asked to click on the File menu and select the Open
command.
• Website addresses are written in monolith, like this: http://www.joget.org/download/.
• Currently, Joget Workflow is available for both Windows and Linux. However, everything
in this book pertains to Joget on Windows.
v
Table of Contents
Chapter 1 Introducing Joget Workflow 1 - 9
• Is Joget really that simple to use?
• Choosing the Right Joget Workflow Edition
• How do you start using Joget Workflow
• Touring Joget
• Workflow Designer
• Form Builder
• Datalist Builder
• Userview Builder
• Web Console
Chapter 2 Setting Up the Organization Chart 10 - 17
• Creating a New Organization
• Adding Departments
• Structuring Grades
• Creating Users
• Setting up User Details
• Setting up Employee Details
Chapter 3 The Joget Walkabout 18 - 36
• Designing Your First Process App
• Up and Going with Workflow Designer
• Adding Participants to a Process
• Setting Participant Properties
• Adding Activities to Swimlanes
• Adding Tools to System-type Participants
• Adding Transitions
• Adding Routes
• Figuring Out Where to Go Next
• Adding and Removing Start and End Bubbles
Chapter 4 Joget at Work 37 - 44
• Mapping Participants to Users
• Participant Mapping for Approver
• Participant Mapping for Applicant
• Mapping Activities to Forms
• Mapping Tools to Plugins
Chapter 5 Designing Web Forms with Form Builder 45 - 62
• Building the Foundation of Databases
• Basic Elements of Form Builder
• Designing a Simple Form
• Launching the Form Builder
• Start by Adding Form Elements
• Add a Text Field Element
• Exploring the Text Field Property Editor
• Add a Date Picker Element vi
• Exploring the Date Picker Property Editor
• Add a Text Area
• Exploring the Text Area Property Editor
• Let's create another form!
• Add a SubForm Element
• Add a SelectBox Element
• Add a Text Area
Chapter 6 Using the Datalist Builder 63 - 72
• Create Datalists the Way You Want to See Them
• Creating a Datalist
• Selecting a Form to Link to the Datalist
• Let's begin with columns
• Adding Columns to the Layout
• Defining Column Properties
• Adding Actions
• Delete Action Explained
• Setting Filters
Chapter 7 Putting It All Together with Userview Builder 73 - 82
• Building User Interfaces
• Key Areas of Userview Builder
• Your Userview Builder Toolbox
• Building a Userview
• Create New Userview
• Add a New Category
• Add an HTML Page
• Add an Inbox
• Add a Form
• Add a List
• Add a Run Process Element
• Set Userview Theme
Chapter 8 Test-Drive Your Process 83 - 86
• Let's Run the Process!
Chapter 9 Joget Places 84 - 89
• Joget Workflow Community Knowledge Base
• Joget Marketplace
• Joget Unplugged
Glossary 90 - 97
vii
Chapter 1
Introducing Joget Workflow
You're in the office. You have work to finish but get little or no work done because
there's still no reply to that approval request you sent last lunar eclipse. You are a
jangle of nerves as you try to figure out what's gonna hit you first --- your deadline
or the Prophet of Doom.
Joget Workflow (Joget, for short) is computer software that you can use to build any
process app based on what works and what doesn't, what you have and what you
don't need to have in your business processes, without any web programming. The idea is to
automate office work and get the best results in the least number of steps and errors possible.
Take administrative tasks, for example. They take you through a planet of forms that sit around
and wait for someone to complete them. Sometimes, the wrong person does something about
them. Other times, the right person does something wrong.
What’s new in Joget v3.1.0? At the time of writing, v3.1.0 is the latest version. With
each new version released, Joget Workflow has become more powerful and its features
more enriched. The upgrade to v3.1.0 is no different. New in the v3 release are:
• a cleaner and more streamlined user interface
• enhanced Form, List and Userview features
• enhanced reporting through integration with JasperReports
• enhanced security features
• better multi-language support
Is Joget really that simple to use? Joget was designed to be a no-fuss process app
builder because, love it or hate it, processes are a fundamental part of every business life. But
"easy" all boils down to being relative. You may need a little more elbow grease compared to the
Joe three floors up who cruises along fine and dandy from day one.
The reason could be a combination of factors, who knows? But you
definitely don't have to be a tech person to use Joget effectively. You
just have to start somewhere, like in everything else you master in life.
My tip would be to explore. Don’t be afraid if you don’t know a lot at
the start; you'll always learn something new along the way. You have this book, and there are a
host of other help topics at http://dev.joget.org/community/display/KB/Joget+Workflow
+Community+Knowledge+Base that may help you find your way if you’ve gotten off-track.
1
Figure 1-1. JogetWorkflowCommunityKnowledgeBase
Now Let’s Get Started!
This part of the book shows you how to begin putting Joget to work and starts by walking you
through a series of download, installation and basic getting-to-know-you steps.
Choosing the Right Joget Workflow Edition
Joget Workflow comes in two editions - Community and Enterprise. Each
is customized to cater to the needs of different types of organizations.
• Community Edition - built for small organizations
• Enterprise Edition - built for medium to large organizations
How do you get Joget in one swoop?
Open your web browser.
Type http://www.joget.org/download/ in the address bar.
Choose a Joget Workflow edition and click on Download.
2
Figure 1-2. http://www.joget.org/download/
Click on your preferred Joget version download. For this example,
we will use v3 Enterprise Edition.
Figure 1-3. http://www.joget.org/download/downloads-for-v3/
3
Figure 1-4. http://www.joget.org/download/v3-enterprise-windows/
Wait for your download to finish, then double-click on the setup file joget-
setup-x.x.x.exe to launch the Joget Workflow Setup Wizard.
The Joget Workflow Setup Wizard breezes you through these steps:
• Click on Next in the Welcome page; you’ll see the License page.
Figure 1-5. JogetWorkflowSetupWizard
4
• Click on I Agree in the License page to accept the license; you’ll see the Components
page.
• Click on Next in the Components page. This will take you to the Installation page.
• Click on Install to install Joget Workflow in the preselected destination folder C:Joget-v3.
• Click on Finish when the installation is done.
How do you start using Joget Workflow?
To begin using Joget, you will have to start the Joget server first. Joget server is where all your
data are kept as you build your process apps.
Follow these steps to start the Joget server:
• Go to Start Menu > Programs > Joget Workflow.
• Click on the green Start Joget Server icon. A window displaying consecutive lines of
white text (or“commands”) on a black background will appear. That window is called a
command window.
• Wait until the message "INFO: Server startup in XXXX ms" appears in the command
window. XXXX represents the time it has taken the server to start and may take a little
longer than you expect.
Do not close the command window.
• Go to Start Menu > Programs > Joget Workflow.
• Click on Web Console to access the Joget Workflow start page http://localhost:
8080/jw in your web browser.
• Click on Access the Web Console. This will bring you to the Login page.
5
• Type admin in the Username field.
• Type admin in the Password field.
• Click on Login. This will bring you to your web console Home/Welcome Page where
you can get started. The main menu lets you:
1. Setup Users
2. Design Apps
3. Run Apps
4. Monitor Apps
Figure 1-6. JogetWorkflowWebConsole
Touring Joget Now that you’ve got the full groundwork,
here’s a quick tour of the key areas of Joget. The following are inter-
related sections in Joget that make process app building a snap!
Workflow Designer is where you draw and visualize how work is done
in your organization. If you have never used a graphic tool before, you
will first need to acquaint yourself with the designer’s features in order
to make the most out of it.
6
Figure 1-7. WorkflowDesignerUserInterface
Design pane the big space where you create your work diagram by adding participants,
activities, tools, subflows, routes and transitions
Element menu a column of clickable buttons (on the left side of the design pane) that
provide an easy way of selecting element functions
Elements in the Element menu:
⁃ Selection - for choosing an element in the design pane whenever you want to do
something to it, like copy, delete, move, and a number of other actions.
Selected elements look different: activity elements turn yellow, while other elements become outlined with
broken lines or bounded areas.
⁃ Participant - the user who does the work
⁃ Start - marks where the process begins, where a form is first submitted
⁃ End - marks where the process finishes, when the goal is achieved or the problem
resolved
⁃ Activity - action that involves human input , what the participant does
⁃ Tool - automated task performed by the system, like sending emails
⁃ Route - a point in the workflow design where a decision needs to be made first to
determine where the flow should go
⁃ Subflow - a process that is inserted in another process
⁃ Transition - connects all elements together
Swimlane illustrates how participants interact with each other in the workflow as they
perform their activities in sequence
7
Menu bar a list of options, settings, actions and just about everything you do in Workflow
Designer
Tool bar a series of clickable buttons (above the design pane) used to set an action or
command
Navigator shows the apps and their processes in the current workflow design
Dialog box an enclosed area that looks like a window on your screen, for typing in data
Pop-up menu a list of commands or options that appear momentarily when you right-click
on an element in the design pane
View options switches the workflow design view between graph (which shows the
diagram) and XPDL (which shows the coding)
Process guide warns you about errors in your workflow as you are designing it
Form Builder lets you design online forms without HTML or coding. It uses a guided interface
that is simple enough for anyone to use, and it is sufficiently customizable to meet the needs of
different types of organizations.
Figure 1-8. FormBuilderUserInterface
Datalist Builder sports a look and feel similar to Form Builder. It offers an intuitive way of
building data lists based on submitted form data.
8
Figure 1-9. DatalistBuilderUserInterface
Userview Builder is designed for ease-of-use so that anyone can build a front-end interface that
process app users can directly interact with.
Figure 1-10. UserviewBuilderUserInterface
Web Console is where Joget lets you work behind the scene so you can manage your apps. It is
where you, as administrator, get to push all the control buttons and assign users their access
levels and privileges, among many others.
9
Chapter 2
Setting Up the Organization Chart
Creating a New Organization
Before you begin designing your process app, set up your organization chart.
• Go to Setup Users and click on Setup Organization Chart in the drop-down menu.
Figure 2-1. SetupOrganizationChart
• Click on Create New Organization. This will bring up the Create New Organization
dialog box.
Figure 2-2. CreateNewOrganization
Figure 2-3. CreateNewOrganizationDialogBox
10
• Complete the fields under Organization Details. For this example, enter abc_co in the
Organization ID field and ABC Co. in the Organization Name field.
• Click on Save. The Create New Organization dialog box will close.
You are only allowed to use alphabets (a-z and A-Z), numbers (0-9), dash (-) and underscore ( _ ) in the Organization ID field.
This is also true for all other IDs.
You must complete fields marked with an asterisk (*).
IDs are case-sensitive. This means that“joget”and“Joget”are two different names. So when you’re being asked to type an ID,
observe uppercases and lowercases to avoid errors.
Adding Departments
You can manage your process app users by creating and managing departments in your
organization.
• Go to Setup Users and click on Setup Organization Chart.
• Click on an organization name in the list. For this example, click on ABC Co.
Figure 2-4. ClickonABCCo.
The resulting page shows the organization details and its department list.
11
Figure 2-5. DepartmentList
• Click on Create New Department under Department List. This will bring up the Create
New Department dialog box.
• Complete the department details. For this example, enter personnel in the
Department ID field and Personnel Department in the Department Name field.
Figure 2-5. CreateNewDepartmentDialogBox
• Click on Save. The Create New Department dialog box will close.
Figure 2-6. UpdatedDepartmentList
12
Structuring Grades
One way of arranging and placing employees in their correct categories is by determining a
grading structure.
• Go to Setup Users and click on Setup Organization Chart.
• Click on an organization name in the list. For this example, click on ABC Co. The
resulting page shows the organization details and its department list.
Figure 2-7. Grade List
• Click on Create New Grade under Grade List. This will bring up the Create New Grade
dialog box.
• Complete the grade details. For this example, enter clerical in the Grade ID field and
Clerical in the Grade Name field.
Figure 2-8. CreateNewGradeDialogBox
• Click on Save. The Create New Grade dialog box will close.
Follow the same steps to create another grade. Type management in the Grade ID field and
Management in the Grade Name field.
13
Figure 2-9. UpdatedGradeList
Creating Users
Users complete your organization layout. Each user stands for a unique account that can sign in
to Joget and be a participant in the process apps.
Setting up User Details:
• Go to Setup Users and click on Setup Users.
Figure 2-10. CreatingUsers
• Click on Create New User.
14
Figure 2-11. CreateNewUserPage
This will bring up the Create New User dialog box.
• Complete the following user details:
Username: Jane
First Name: Jane
Last Name: Hill
Password: password
Confirm Password: password
Role(s): User
Time Zone: (GMT +08:00) Beijing, Hong Kong, Perth, Kuala Lumpur, Singapore, Taipei
Status: Active
Figure 2-12. CreateNewUserDialogBox
Setting up Employee Details:
• Type the following under Employee Details:
Organization: ABC Co.
15
Department: Personnel Department
Head of Department (HOD)? Yes
Grade Management
Figure 2-13. SettingUpEmployeeDetails
• Click on Save. This will close the Create New User dialog box.
Repeat the same steps to create our second user. Complete the details as follows:
User Details:
Username: Brad
First Name: Brad
Last Name: Fritz
Password: password
Confirm Password: password
Role(s): User
Time Zone: (GMT +08:00) Beijing, Hong Kong, Perth, Kuala Lumpur, Singapore, Taipei
Status: Active
Employee Details:
Organization: ABC Co.
Department: Personnel Department
Head of Department (HOD)? No
Grade Clerical
16
Figure 2-14. ViewingUserDetails
Figure 2-15. UserDirectoryPage
17
Chapter 3
The Joget Walkabout
Designing Your First Process App
This chapter walks you through your first Joget steps and shows you how to build a simple
process app. To start designing apps, make sure that you are logged in to your web console.
In the Home/Welcome Page:
• Go to Design Apps and click on Design New App in the drop-down menu.
Figure 3-1. DesignNewApp
This will bring up the Design New App dialog box.
• Complete the App Details. For this example, enter leave_app in the App ID field and
Leave App in the App Name field.
18
Figure 3-2. DesignNewAppDialogBox
• Click on Save. The Design New App dialog box will close.
• To publish this app, click on Not Published on the upper-left part of the page.
Figure 3-3. PublishinganApp Figure 3-4. ManageAppVersionDialogBox
This will bring up the Manage App Version dialog box.
• Click on the radio button beside Version 1.
• Click on Publish.
19
• Click on OK when asked if you are sure that you want to publish the app.
• Click on the x button found on the upper-right corner of the Manage App Version
dialog box to close it.
You will now see Leave App in the Design Apps drop-down list.
Figure 3-5. ListofApps
Up and Going with Workflow Designer
Joget’s Workflow Designer visualizes workflow with a powerful drag-and-drop capability that
makes it even simpler to use.
• Go to Design Apps in the Home/Welcome Page.
• For this example, click on Leave App in the drop-down menu.
• Click on Launch Workflow Designer. This will start Workflow Designer.
Figure 3-6. StartingtheWorkflowDesigner
You will see the Leave App package in the Navigator pane of Workflow Designer. You will also
see that Workflow Designer has automatically added the process“Workflow Process 1”under
the Leave App package. Rename Workflow Process 1 and set its properties by following these
steps:
• Right-click on Workflow Process 1.
• Select Properties in the popup menu. This will bring up the Workflow Process
properties dialog box.
20
• For this example, type leaveApplicationProcess in the ID field and Leave
Application Process in the Name field. Set Hour as Duration unit.
• Click on OK to close the dialog box.
Figure 3-7. WorkflowProcessPropertiesDialogBox
To manually add a process, right-click on Leave App then select New Process in the pop-up menu. Or, click
on Process in theWorkflow Designer menu bar and then select Insert New Process in the pop-up menu.
There are a couple of other ways to access theWorkflow Process properties dialog box:
1. By clicking on Workflow Process 1 > Edit (in the menu bar) > Properties (in the pop-up menu)
2. By double-clicking on Workflow Process 1 and then selecting Properties in the pop-up menu
Adding Participants to a Process
Notice that Joget automatically adds Participant 1 for you when you insert a new process
under the Leave App package. You can add other participants by dragging and dropping the
Participant element icon found in the Element menu to an empty part in the design pane.
You will see a swimlane added after each drag-and-drop.
Figure 3-8. Swimlane
21
Swimlanes represent participants and other types of information in a process flow. For this
example, we will have 3 participants.
You can organize your process elements by dragging them to where you want them to be in the swimlane(s).
Point your mouse on the element, click and hold it, then drag and drop the element to where it should belong.
Setting Participant Properties
Here’s how you set Participant properties:
• Right-click on Participant 1.
• Select Properties in the pop-up menu. This will bring up the Participant properties
dialog box.
Figure 3-9. SettingParticipantProperties
• For this example, type applicant in the ID field and Applicant in the Name field. Click
on the radio button to set participant type to Participant.
22
Figure 3-10. ParticipantPropertiesDialogBox
• Click on OK. This will close the dialog box.
Repeat the same steps for Participant 2, using the following:
ID field: approver
Name field: Approver
Type: Participant
We have one more participant to add and it will be a system-type participant. System-type
participants perform automated tasks such as sending emails.
Add Participant 3 and follow these steps to set its properties:
• Right-click on Participant 3.
• Select Properties in the pop-up menu. This will bring up the Participant properties
dialog box.
• For this example, type system in the ID field and System in the Name field. Click on the
radio button to set participant type to System.
Figure 3-11. SettingParticipantProperties
23
• Click on OK. This will close the dialog box.
Figure 3-12. SystemParticipantAdded
Adding Activities to Swimlanes
Activities are actions that participants perform. They are tasks that need human input.
Figure 3-13. ActivityElement
To add our first activity in the Leave Application Process, drag the Activity element icon in
the Element menu to an empty part in the Applicant swimlane.
24
Figure 3-14. AddinganActivityElementintheSwimlane
To set Activity properties:
• Double-click on the Activity element that you added. This will bring up the Activity
properties dialog box.
• Type submit_completed_leave_application_form in the ID field.
• Type Submit completed leave application form in the Name field.
Figure 3-15. ActivityPropertiesDialogBox
• Click on OK. This will close the Activity properties dialog box.
We’ll add our second activity and this time around, it will be for the Approver. Drag the
Activity element icon in the Element menu to an empty part in the Applicant swimlane.
Set the Activity properties as follows:
ID: approve_leave
25
Name: Approve leave
Don’t forget to click on OK to close the Activity properties dialog box.
Adding Tools to System-type Participants
We use the Tool element instead of the Activity element when the activity to be added is an
automated task and the participant is a system. Automated tasks such as sending emails do
not require human input.
To add a tool, drag the Tool element icon in the Element menu to an empty part in the
System swimlane.
Figure 3-16. AddingaToolElement
To set Tool properties:
• Double-click on the Tool element in the System swimlane. This will bring up the Tool
properties dialog box.
• Type email_approval_notification in the ID field.
• Type Email approval notification in the Name field.
• Click on OK. This will close the Tool properties dialog box.
Repeat the same steps using:
ID: email_rejection_notification
Name: Email rejection notification
26
Figure 3-17. ToolsAddedintheSystemSwimlane
Adding Transitions
Transitions connect workflow elements together and show the order by which activities are
performed from start to end.
Figure 3-18. TransitionElementIcon
Look at our example process and connect the first activity to the second activity by adding a
transition. Here’s how:
• Click on the Transition element icon in the Element menu.
• Click on the Submit completed leave application form activity in the Applicant
swimlane.
• Click on the Approve leave activity in the Approver swimlane.
• RIght-click on any empty space to stop adding transitions.
27
Figure 3-19. TransitionAddedtoConnectActivity1toActivity2
Adding Routes
Routes are points in the workflow where decisions are made based on existing rules and
standards.
Figure 3-20. RouteElementIcon
For this example, we will add a route to the Approver swimlane to show that a decision has to
be made by the approver of the leave application before the next action can be determined.
• Click and hold the Route element icon in the Element menu before dragging it to the
Approver swimlane and arranging it under the Approve leave activity element.
28
Figure 3-21. AddingaRouteElement
• Add a transition to connect the Approve leave activity to the route.
Figure 3-22. ConnectingActivitytoRoutebyAddingaTransition
Figuring Out Where to Go Next
Now that we know there’s a decision to be made when the process reaches the Approve
leave activity, there are a few things that we need to do:
• Add missing transitions to connect the rest of the elements in the workflow design.
Refer to Adding Transitions to connect the remaining elements like this:
29
Figure 3-23. ActivitieswithRouteandTransitions
You can reposition an element in the design pane by dragging it to where you want it to be.
• Define the route type to determine how the process will flow once a decision is made.
Here’s how you do it:
• Double-click on the route element; this will bring up the properties dialog box.
Figure 3-24. DefiningRouteType
30
• Make sure that Split type is set to Xor, which means that:
(1) the leave request may be approved and if it does, an approval notification will
be emailed to the applicant; OR
(2) the leave request may be rejected and if it does, a rejection notification will be
emailed instead.
• Click on the x button found on the upper-left corner of the dialog box to close it.
Figure 3-25. ClosingtheDialogBox
• Define route conditions. Route conditions depend on what we call the business rules of
the organization.
Follow these steps to set the 1st route condition:
• Double-click on the transition connecting the route to the Email approval
notification tool. This will bring up the Transition properties dialog box.
Figure 3-26. TransitionConnectingRoutetoEmailApprovalNotificationTool
• Select Condition from the Type list.
31
Figure 3-27. SettingTransitionType
• Type status=='Approved' in the Expression text area.
Figure 3-28. StatingtheExpression
• Click on OK. The Transition properties dialog box will close.
• Double-click on Leave Application Process in the Navigator pane. This will bring
up the Workflow Process properties dialog box.
• Click on the Create new element icon found under SLA Limit > Workflow
variables.
32
Figure 3-29. CreateNewElementIconintheWorkflowProcessPropertiesDialogBox
This will bring up the Workflow Variable properties dialog box.
• Type status in the ID text field.
Figure 3-30. WorkflowVariableDialogBox
• Click on OK. This will close the Workflow Variable properties dialog box.
Moving the mouse over the element icons under SLA Limit >Workflow variables in theWorkflow Process
properties dialog box brings up text that tells you what the icons stand for.
Follow these steps to set the 2nd route condition:
• Double-click on the transition connecting the route to the Email rejection
notification tool. This will bring up the Transition properties dialog box.
33
• Select Otherwise from the Type list.
Figure 3-31. SettingTypeto“Otherwise”
• Type Otherwise in the Name field.
Figure 3-32. GivingtheTransitionaName
• Click on OK. The Transition properties dialog box will close.
Figure 3-33. ConnectingtheRoutetotheTools
34
Adding and Removing Start and End Bubbles
There are two ways by which you can add Start and End bubbles to the workflow design to
show where the process starts and ends:
• The tool bar of Workflow Designer includes icons that you can click on to Insert Missing
Start and End Bubbles and to Remove Start and End Bubbles. When using this tool,
Workflow Designer automatically detects the start and end points of the process, then
adds the bubbles and transitions for you.
Figure 3-34. WorkflowDesignerToolBar
• The Element menu also has Start and End element icons to represent the start and
end points of the process. Just drag them to where the start and end points are in the
process, them connect the elements together using transitions.
Figure 3-35. StartBubble Figure 3-36. EndBubble
Adding start and end bubbles to the process completes the workflow design and readies it
for deployment.
35
Figure 3-37. CompletedLeaveAppWorkflowDesign
You can delete workflow design elements by right-clicking on the element that you want to trash, then
clicking on Delete in the resulting pop-up menu.
Figure 3-38. DeletinganElement
36
Chapter 4
Joget at Work
You can’t view a process in the web console without having deployed it first from the Workflow
Designer. Remember that data created in the designer has to be transferred to the web console.
To deploy a process:
• Click on Deploy found at the bottom of the Process Guide pane.
• Click on OK in the“Deploy Successful!”message box. This will close Workflow Designer.
Figure 4-1. DeployButton
Mapping Participants to Users
In Chapter 2, we created users as a finishing touch to setting up our organization chart. We will
now map those users to our participants for the purpose of defining their roles.
We’ll start with Approver. Keep in mind that the approver should be the applicant’s HOD (Head
of Department).
Participant Mapping for Approver:
• Click on Add/Edit Mapping found along“Approver”in the list of participants. This will
bring up the Map Participants to Users dialog box.
37
Figure 4-2. MappingApprovertoUser
• Click on Map to User or Group.
• Click on Map to User.
• Select ABC Co. in the Filter By Organization drop-down list.
• Check the box beside Jane.
Figure 4-3. MappingApprovertoJaneHill
• Click on Map to Org Chart.
• Click on Map to the Performer.
• Click on the Performer’s HOD radio button to select it.
• Select Submit completed leave application form from the Where the performer
executed drop-down list.
38
Figure 4-4. MappingApprovertoOrganizationChart
• Click on Submit. This will bring up a confirmation box.
• Click on OK to confirm.
Participant Mapping for Applicant:
• Click on Add/Edit Mapping found along“Applicant”in the list of participants. This will
bring up the Map Participants to Users dialog box.
• Click on Map to User or Group.
• Click on Map to User.
• Select ABC Co. in the Filter By Organization drop-down list.
• Check the box beside Brad.
Figure 4-5. MappingApplicanttoBradFritz
• Click on Map to Org Chart.
• Click on Map to the Performer.
• Click on the Performer radio button to select it.
39
• Select Run Process from the Where the performer executed drop-down list.
Figure 4-6. MappingApplicanttoOrganizationChart
• Click on Submit. This will bring up a confirmation box.
• Click on OK to confirm.
Mapping Activities to Forms
You need to have your forms ready first before you can map activities to them. Hop to Chapter 5 to design the Leave
Application and Leave Approval forms.
Once your forms are ready, follow these steps to begin mapping them. Make sure that you are
on the Leave App management page of your web console.
• Click on Map Activities to Forms. You will see a list of the workflow design activities.
Figure 4-7. MappingActivitiestoForms
• Click on Add/Edit Form along“Submit completed leave application form”. In the
resulting window, click on Map to a Form.
40
Figure 4-8. SelectingaFormtoMapto“Submitcompletedleaveapplicationform”Activity
• Click on Leave Application Form. This will close the window.
Repeat the same steps to map Approve leave to Leave Approval Form.
Figure 4-9. ActivitiesMappedtoForms
Mapping Tools to Plugins
In our example Leave App, we will need the Email Tool plugin so that emails can be sent
automatically to the leave applicant after a decision is made.
To map the Email approval notification tool to an Email Tool plugin, go to Processes > Map
Tools to Plugins in the Leave App management page of your web console.
41
Figure 4-10. MappingToolstoPlugins
Then follow these steps:
• Click on Add/Edit Plugin along the Email approval notification tool under the list of
tools defined in the workflow design. This will bring up the plugin list.
Figure 4-11. PluginList
• Click on Email Tool in the plugin list. This will bring up the Plugin Configuration dialog
box.
42
Figure 4-12. ConfigureEmailTool
• Type mailserver in the SMTP Host field.
• Type 25 in the SMTP Port field.
• Click on Next.
• Type email@domain in the From field.
• Type #performer.runProcess.email# in the To (Specific email address) field.
Figure 4-13. TypeEmailDetails
• Click on Submit. The Plugin Configuration dialog box will close.
Repeat the same steps for the Email rejection notification tool.
43
Figure 4-14. ToolsMappedtoEmailToolPlugin
44
Chapter 5
Designing Web Forms with Form Builder
Building the Foundation of Databases
Joget’s Form Builder is the answer to your workflow data collection needs. It lets you design
online forms using a simple drag-and-drop interface and set them up so that information is
routed to the right people in your organization. All these without having to write a single line of
code!
Before we start designing the forms we need for our sample Leave App, let’s take a look at the
basic elements that make up this Form Builder.
Basic Elements of Form Builder
So many features, so little time! Form Builder is pretty hefty on good stuff that we just don’t
want you to be overwhelmed with at this point. Let’s take a peek at the basic elements instead
and see how we can use them to build the simple forms we need for this book’s Leave App
exercise.
Hidden Field a text field that is not shown in the form but is used for setting
values that are also submitted when the form is submitted
Text Field a space where you can type in one line of text
Password Field a text field that shows text as dots on the screen to prevent
other people from reading it
Text Area a text field where you can type in many lines of text
SelectBox also known as a“drop-down”or“pull-down”list; it contains pre-
designated options for you to choose from.
CheckBox a box that you can check/tick to select one or more items from a set
of options
Radio a round area that you can click on to select an option. Unlike check
boxes that allow multiple selections, radios limit you to only one.
Date Picker a display that allows you to choose a calendar date
File Upload allows you to choose a file and transfer it to the Joget server; also
known as“http upload”
Sub Form a form that is inserted in another form
45
Grid a framework of spaces that contains organized and related data
Designing a Simple Form
For this example, we will work on two forms: the Leave Application Form and Leave Approval
Form.
Launching the Form Builder
• Click on Forms in the left sidebar of the web console.
Make sure that your are in the Leave App management page of your web console.
• Click on Create New Form. This will bring up the Create New Form
dialog box.
• Complete Form Details:
Form ID leaveApplicationForm
Form Name Leave Application Form
Table Name hr_leave
Figure 5-1. CreateNewFormDialogBox
• Click on Save to launch Form Builder.
Start by Adding Form Elements
We begin designing the Leave Application Form by dragging and dropping the form elements
we require to the design pane. Form elements are found in the Element palette on the left of the
Form Builder.
46
Notice that Form Builder automatically adds a section when it opens for the first time.
Figure 5-2. FormBuilderautomaticallyaddsaSectionwhenopenedforthefirsttime.
Follow these steps to rename Section:
• Move your mouse anywhere in the section area in the design pane. You will see 4
buttons pop up --- Add Section, Add Column, Edit Section and Delete Section.
Figure 5-3. IntheSectionelement,youcanadd,editanddeleteasection,andyoucanaddacolumn,too.
47
• Click on Edit Section to bring up the property editor.
Figure 5-4. EditSectionButton
• Type Leave Application in the Label field.
Figure 5-5. SectionPropertyEditor
• Click on OK. This will close the property editor.
Add a Text Field Element
• Drag Text Field from the Element palette to the design pane.
• Move your mouse anywhere near Text Field. You will see 2 buttons pop up ---
Edit and Delete.
• Click on Edit to bring up the property editor.
Figure 5-6. TextFieldEditButton
• Type name in the ID field.
• Type Name in the Label field. Click on Next.
48
Figure 5-7. TextFieldPropertyEditor
• Select Default Validator from the Validator drop-down list. Click on Next. You’ll
see a check mark beside“Mandatory”in the Configure Validator window.
Figure 5-8. ValidatorDrop-downList Figure 5-9. MandatoryCheckBox
• Click on OK. This will close the property editor.
Exploring the Text Field Property Editor
• ID a set of characters that is explicitly linked to the Label tag. IDs are unique
within a form.
• Label the name that you assign to the text field
• Value the text that is automatically displayed in the text field; you can use, for
example, Enter. If there is no specified value, then you will see a blank field.
• Max Length specifies the maximum number of characters (letters, numbers and
symbols) that can be typed in the field. This is to ensure that the form user does
not type in more than what can be displayed.
• Size determines how many visible characters the field can have. By“visible”we
mean that which can be displayed and can be seen by the form user.
• Readonly prevents form users from making changes to the element.
• Display field as label when readonly? displays the value of the text field as plain
text when the element is set to“Readonly”.
49
Figure 5-10. EditTextField
• Validator checks and ensures that the form user has typed the required
information in the text field for the form to be completed and before it is allowed
to be submitted.
Figure 5-11. ChooseValidator
• Mandatory means that the form user needs to complete the field to be able to
successfully submit the form.
50
• Type is the format or pattern that a form user should follow when entering text in
the text field, for validation purposes. The Type list includes Alphabet,
Alphanumeric, Numeric, Email and Custom Regular Expression.
• Custom Regular Expression the format that you select if preferred Type is not
Alphabet, Alphanumeric, Numeric or Email and you want to specify your own
• Custom Error Message Shown When Validation Fails the message displayed when
a form user entered text that does not follow the selected Type or custom regular
expression
Figure 5-12. ConfigureValidator
Add a Date Picker Element
• Drag Date Picker from the Element palette to the design pane.
• Move your mouse anywhere near Date Picker. You will see 2 buttons pop up ---
Edit and Delete.
• Click on Edit to bring up the property editor.
Figure 5-13. AddingaDatePicker
51
• Type startDate in the ID field.
• Type Start Date in the Label field. Click on Next.
Figure 5-14. EditDatePicker
• Select Default Validator in the Validator drop-down list.
Figure 5-15. ChooseValidator
• Click on Next. You’ll see a check mark beside“Mandatory”in the Configure
Validator window.
52
Figure 5-16. ConfigureValidator
• Click on OK. This will close the property editor.
Follow the same steps to add another Date Picker element using endDate as ID and
End Date as Label.
Exploring the Date Picker Property Editor
• ID is a set of characters that is explicitly linked to the Label tag. IDs are unique
within a form.
• Label the name that you assign to the date picker field
• Value the text that is automatically displayed in the date picker field; you can use,
for example, Select. If there is no specified value, then you will see a blank field.
• Format lets you display date feedback in different ways, for example dd/mm/yy
and yy-mm-dd.
• Date Picker Year Range controls which years are shown in the date picker.
• Readonly prevents form users from making changes to the element.
• Display field as label when readonly? displays the value of the date picker as plain
text when the element is set to“Readonly”.
• Validator checks and ensures that the form user has selected a date in the date
picker for the form to be completed.
• Mandatory means that the form user needs to choose a date to be able to
successfully submit the form.
• Custom Regular Expression the format that you select if preferred Type is not
Alphabet, Alphanumeric, Numeric or Email and you want to specify your own
• Custom Error Message Shown When Validation Fails the message displayed when
a form user does not follow the selected Type or custom regular expression
Add a Text Area
• Drag Text Area from the Element palette to the design pane.
• Move your mouse anywhere near Text Area. You will see 2 buttons pop up ---
Edit and Delete.
53
• Click on Edit to bring up the property editor.
Figure 5-17. AddTextArea
• Type reason in the ID field.
• Type Reason in the Label field. Click on Next.
Figure 5-18. EditTextArea
• Select Default Validator from the Validator drop-down list.
54
Figure 5-19. ChooseValidator
• Click on Next. You’ll see a check mark beside“Mandatory”in the Configure
Validator window.
• Click on OK. This will close the property editor.
Figure 5-20. ConfigureValidator
Exploring the Text Area Property Editor
• ID is a set of characters that is explicitly linked to the Label tag. IDs are unique
within a form.
• Label the name that you assign to the text area
• Value the text that is automatically displayed in the text area; you can use, for
example, Enter. If there is no specified value, then you will see a blank area.
• Cols specifies how many columns you want in the text area.
55
• Rows specifies how many rows you want in the text area.
• Readonly prevents form users from making changes to the element.
• Display field as label when readonly? displays the value of the text area as plain
text when the element is set to“Readonly”.
• Validator checks and ensures that the form user has typed the required
information in the text area for the form to be completed and before it is allowed
to be submitted.
• Mandatory means that the form user needs to complete the field to be able to
successfully submit the form.
• Type is the format or pattern that a form user should follow when entering text in
the text area, for validation purposes. The Type list includes Alphabet,
Alphanumeric, Numeric, Email and Custom Regular Expression.
• Custom Regular Expression the format that you select if preferred Type is not
Alphabet, Alphanumeric, Numeric or Email and you want to specify your own
• Custom Error Message Shown When Validation Fails the message displayed when
a form user entered text that does not follow the selected Type or custom regular
expression
When you have finished adding all the form elements that you need, click on Preview
in the Form Builder menu to see how the form looks like. To save the form, click on
Save.
This is how your Leave Application Form should look like:
Figure 5-21. LeaveApplicationForm
Let’s create another form!
To begin designing the Leave Approval Form, click on Create New Form again and type the
following under Form Details:
Form ID leaveApprovalForm
Form Name Leave Approval Form
Table Name hr_leave
• Click on Save to launch Form Builder.
56
Follow these steps to rename Section:
• Move your mouse anywhere in the section area in the design pane. You will see 5
buttons pop up --- Add Section, Add Column, Edit Section, Delete Section and Edit
Column.
• Click on Edit Section to bring up the property editor.
• Type Leave Approval in the Label field.
• Click on OK. This will close the property editor.
Add a SubForm Element
• Drag SubForm from the Element palette to the design pane.
• Move your mouse anywhere near SubForm. You will see 2 buttons pop up ---
Edit and Delete.
• Click on Edit to bring up the property editor.
• Type leaveApplication in the ID field. Leave the Label field blank.
• Select Leave Application Form in the Form drop-down list.
• Tick the Readonly checkbox.
• Click on Choose Load Binder in the Edit SubForm menu.
Figure 5-22. EditSubform
• Select Workflow Form Binder in the Load Binder drop-down list. Click on Next.
57
Figure 5-23. ChooseLoadBinder
• Select Workflow Form Binder in the Store Binder drop-down list.
Figure 5-24. ChooseStoreBinder
• Click on OK. This will close the property editor.
We will now add another Section to the form. Remember the 5 buttons that pop up
whenever you move your mouse anywhere near Section in the design pane? Go back
there and click on the Add Section button to add our second section.
Figure 5-25. AddingAnotherSection
Then click on Edit Section to bring up the property editor. Type Approver Action in the
Label field, then click on OK to close the property editor.
58
Figure 5-26. EditSection
Add a SelectBox Element
• Drag SelectBox from the Element palette to the design pane in the Approver
Action section.
• Move your mouse anywhere near SelectBox. You will see 2 buttons pop up ---
Edit and Delete.
• Click on Edit to bring up the property editor.
• Type status in the ID field.
• Type Status in the Label field.
• Add 3 rows to the Options table by clicking on the + button thrice.
• Complete Value and Label for the 3 rows, like this:
Figure 5-27. EditSelectBox
59
TheValue column in the Options table contains the value of the workflow variable“status”that we had set earlier inWorkflow
Designer. Type it the way it is typed in theTransition property dialog box, without the single quotation marks.
Figure 5-28. WorkflowDesignerTransitionSettings
• Click on Choose Validator in the property editor menu.
Figure 5-29. ChooseValidator
• Select Default Validator from the Validator drop-down list.
Figure 5-30. SelectDefaultValidator
• Click on Next. You will see a check mark in the Mandatory checkbox.
60
Figure 5-31. ConfigureValidator
• Click on Next.
• Type status in the Workflow Variable field.
Figure 5-32. SelectBoxWorkflowVariable
• Click on OK. The property editor will close.
Add a Text Area
• Drag Text Area from the Element palette to the design pane, under the Status
select box in the Approver Action section.
• Move your mouse anywhere near Text Area. You will see 2 buttons pop up ---
Edit and Delete.
• Click on Edit to bring up the property editor.
• Type remarks in the ID field.
• Type Approver Remarks in the Label field.
• The column number is automatically set to 20 and the row to 5.
Figure 5-33. TextAreaPropertyEditor
• Click on OK. This will close the property editor.
61
To save the form, click on Save in the Form Builder menu and then click on OK to confirm.
Figure 5-34. LeaveApprovalForm
Close Form Builder and return to the app management page in your web console to
begin mapping activities to forms. Refer to Chapter 4 for a step-by-step guide on
Mapping Activities to Forms.
62
Chapter 6
Using the Datalist Builder
Create Datalists the Way You Want to See Them
Joget Workflow’s Form Builder, Datalist Builder and Userview Builder share a lot of the basic
interface. You drag and drop elements from the Element palette to the design pane to create
the layout and to add tools for performing specific tasks. You set properties using property
editors. You preview. You save.
In Datalist Builder, you can enter data in rows and columns by linking a form to the list. The list is
then updated progressively each time the form is completed.
Creating a Datalist
For this example, we will build a datalist by linking it to the Leave Application Form that we
created in the previous chapter. Make sure that you are in the Leave App management page of
your web console before you begin.
• Click on Lists in the sidebar of the Leave App management page.
• Click on Create New Datalist.
Figure 6-1. CreateNewDatalist
• Under Datalist Details, type leaveApplicationList in the ID field.
• Type Leave Application List in the Name field.
63
Figure 6-2. EnteringDatalistDetails
• Click on Save. This will start the Datalist Builder and bring up the Select Binder
window.
Selecting a Form to Link to the Datalist
For a datalist to know where to fetch information from, you have to specify which form you
would like it to take the data from. In other words, assign a binder.
• Under Select Binder, select Form Data Binder in the Select Source of Data (Binder) list.
Figure 6-3. SelectingtheSourceofData
64
• Click on Next.
• Select Leave Application Form in the Form list under the Select Form tab.
Figure 6-4. SelectingaForm
• Click on OK. This will launch the Datalist Builder.
Datalist Builder includes tools that let you add columns, define filters and specify
actions.
Let’s begin with columns.
Adding Columns to the Layout
In Datalist Builder, you will see that the Element palette contains Columns/Filters as well as
Actions, and that column/filter elements are taken from the table (hr_leave) that we assigned
to the Leave Application Form when we were in Form Builder (Chapter 5).
Let’s add 3 columns to our Leave Application List by dragging the following from the
Columns/Filters element palette to the design pane where it says“Drag Columns Here”:
• Name
• Start Date
• End Date
65
Figure 6-5. ColumnsAdded
A table can have more than one form assigned to it. In our Leave App example, table hr_leave has 2 forms
assigned to it --- the Leave Application Form and Leave Approval Form.
Columns/Filters items that are written in regular text are field names taken from the selected form. In this
example, the selected form is Leave Application Form.
Columns/Filters items that are written in italicizedtext are items that are in the table assigned to the form, but
not in the form itself.
You can rearrange columns with a simple drag-and-drop move.
Defining Column Properties
If you point your mouse over the column names, you will see the Properties and Delete
buttons pop up.
Figure 6-6. ColumnPropertiesandDeleteButtons
Follow these steps for each of the column names (Name, Start Date, End Date):
66
• Click on Properties to bring up the Property Editor.
• Change the name in the Label field if you wish to another name to be displayed.
• Set Sortable to Yes.
Figure 6-7. ColumnPropertyEditor
• Click on OK to close the property editor.
Adding Actions
An action allows you to link a datalist item to a predefined action, script or executable.
There are 2 types of datalist actions:
• Hyperlink
• Delete
Follow these steps to add a Hyperlink action and set its properties:
67
• Drag Hyperlink from the Element palette to the design pane where it says“Drag Row
Actions Here”.
Figure 6-8. AddingaHyperlinkAction
• If you point your mouse over Hyperlink, you will see the Edit and Delete buttons pop
up. Click on Edit. This will bring up the property editor where you can configure the
link.
Figure 6-9. HyperlinkEditButton
• Type application_new in the Hyperlink field.
In the next chapter, we will build a userview using Joget’s Userview Builder. You will see then that the
hyperlink“application_new”points to a new leave application file or form. More on this in our Userview
Builder chapter.
• Set Hyperlink Target to Current Window.
68
• Type id as Column Name. This column is the column that pertains to the value given in
the Hyperlink Parameter Name.
• Type New Application in the Label field. Label is the row action name that the column
displays.
Figure 6-10. HyperlinkActionPropertyEditor
• Click on OK. The property editor will close.
69
Delete Action Explained
The Delete action allows you to erase the database record of a matching record ID. You set its
properties by completing these fields in the property editor:
• Label is the row action that the column displays.
• Form ID is the form table that will perform the delete action.
• Confirmation Message is the verification message displayed before deleting the record.
Setting Filters
These are the types of filters you can use when building a datalist:
• Text Field Filter lets you type a search criteria when you want to look for information. For
this example, drag Name from the Element palette to the design pane where it says
“Drag Filters Here”.
Figure 6-11. AddingaTextFieldFilter
Then follow these steps to set the filter properties:
• Point your mouse over Name; you will see the Edit and Delete buttons pop up.
Figure 6-12. TextFieldFilterEditButton
70
• Click on Edit. This will bring up the property editor where you’ll see name in the
Name field and Name in the Label field. You’ll also see that Text Field is
automatically selected for you in the Type list. Text Field is the default filter.
Figure 6-13. ConfiguringTextFieldFilterProperties
• Click on OK. The property editor will close.
• Select Box Filter lets you find information based on a selection. For this example, add
status to the design pane the same way you added the Name text field filter. Set the
filter properties by clicking on the Edit button to bring up the property editor. You’ll see
status in the Name field.
• Change“status”in the Label field to All Status.
• Select Select Box in the Type list.
Figure 6-14. SelectBoxFilterinTypeDrop-downList
• Click on Next to configure the select box filter.
• Leave the Multiple Selection check box and the Size and Default Value fields
blank.
• In the Options table, add 2 rows by clicking on the “+”button twice. Then, type
the values and labels as follows:
71
Figure 6-15. SelectBoxFilterPropertyEditor
• Click on OK to close the property editor. Remember to preview your datalist
before saving it.
Figure 6-16. CompletedLeaveApplicationList
72
Chapter 7
Putting It All Together with Userview Builder
Building User Interfaces
Userview, also known as front-end or user interface, wraps your app’s processes, forms and
datalists. It plays a crucial role in determining how easily a user can make your app do the work
you built it to do.
Joget Workflow’s Userview Builder does not only let you build a user interface. It also lets you
build a full-fledged process app without having to diagram a workflow in Workflow Designer or
write a single programming code! It comes with preloaded themes and, for the more
adventurous, the ability to customize themes. It provides tools for organizing tasks in
hierarchical structure to make completing processes easier and more manageable.
Key Areas of Userview Builder
Before we start filling our userview, here’s a look-see of the Userview Builder interface and its
features.
Quick Selector lets you switch easily between forms, lists and userviews.
Main Menu contains tasks and options to guide you through your design.
Element Palette contains tools for adding content.
Design Pane is the space where you drag and drop elements when building userviews.
Your Userview Builder Toolbox
Form allows users to interact with other app users through the use of forms.
HTML Page allows you to design what is called the front page, landing page, home page or
starting point of a userview.
Inbox stores incoming and pending tasks.
Link lets a user open another document from within the userview itself.
73
List allows a datalist to be integrated in userview.
Run Process provides a means for a process instance to be started from within the userview.
Building a Userview
We will now build a basic userview for our sample Leave App. Make sure that you are in the
Leave App management page of your web console.
Create New Userview
• Click on Userview in the left sidebar, then click on Create New Userview.
Figure 7-1. CreateNewUserview
• In the Create New Userview dialog box, complete Userview Details as follows:
ID: leavePortal
Name: Leave Portal
74
Figure 7-2. CompletingtheUserviewDetails
• Click on Save. This will launch Userview Builder.
Add a New Category
• Put your mouse over Menu in the design pane; you’ll see the Add Category
button pop up. Click on it to add a category.
Figure 7-3. AddCategoryButton
• Put your mouse over New Category; you’ll see the Edit Label, Permission and
Delete Category buttons pop up. Click on Edit Label.
75
Figure 7-4. ChangingtheNewCategoryName
• Type Main in place of“New Category”.
You can click anywhere in the design pane or press the Enter key on your keyboard to close the Edit
Label box.
Add an HTML Page
• Drag HTML Page from the Element palette to the design pane, under Main.
Figure 7-5. AddinganHTMLPage
76
Userview always loads the first item under Menu. For our sample Leave Portal, the first item is an HTML page
which will serve as the userview landing page.
• Put your mouse over HTML Page; you’ll see the Properties and Delete Menu
buttons pop up. Click on Properties to bring up the Edit HTML Page dialog box.
Figure 7-6. HTMLPagePropertiesButton
• Complete the fields as follows:
Custom ID: home
Label: Home
Content pane: Welcome to the Leave Portal.
Figure 7-7. EditingtheHTMLPage
• Click on OK to close the Edit HTML Page dialog box.
Add an Inbox
• Add another new category by clicking on the Add Category button found along
Menu.
77
• Edit the New Category label by clicking on the Edit Label button found along
New Category and typing Leave Applications in place of“New Category”.
• Drag Inbox from the Element palette to the design pane, under Leave
Applications.
• Put your mouse over Inbox; you’ll see the Properties and Delete Menu buttons
pop up. Click on Properties to bring up the Edit Inbox dialog box.
• Complete the fields as follows:
Custom ID: inbox
Label: Inbox
• Select All Assignments in the Assignments to Display list.
• Select Leave Application Process in the Process list.
Figure 7-8. SettingInboxProperties
• Click on OK. The Edit Inbox dialog box will close.
Add a Form
• Drag Form from the Element palette to the design pane, under Leave
Applications.
• Put your mouse over Form; you’ll see the Properties and Delete Menu buttons pop
up. Click on Properties to bring up the Edit Form dialog box.
• Complete the fields as follows:
Custom ID: application_new
Label: New Application
• Select Leave Application Form in the Form list.
• Leave Show in popup dialog?, Readonly? and Display field as Label when
readonly? boxes unchecked.
78
Figure 7-9. EditFormDialogBox
• Click on Next. Under Redirection, complete the fields as follows:
Message Shown After Form Submission: Application updated.
URL Redirect After Form Submission: application_list
URL Redirect on Cancellation: application_list
• Select Top Window in the Redirect Target on Cancellation list.
• Select Append to URL in the Field Value Passover Method list.
Figure 7-10. Redirection
• Click on OK. The dialog box will close.
79
Add a List
• Drag List from the Element palette to the design pane, under Leave Applications.
• Put your mouse over List; you’ll see the Properties and Delete Menu buttons pop
up. Click on Properties to bring up the Edit List dialog box.
• Complete the fields as follows:
Custom ID: application_list
Label: Application List
• Select Leave Application List in the List list. Click on Next.
Figure 7-11. EditingtheApplicationList
• Under UI, set the following:
Put a check mark in the Show Number of Rows in Menu box.
Button Position: Bottom Left
Selection Type: Multiple
Selector Position: Left
• Click on OK. The Edit List dialog box will close.
80
Figure 7-12. ConfiguringtheUI
Add a Run Process Element
• Drag Run Process from the Element palette to the design pane, under Leave
Applications.
• Put your mouse over Run Process; you’ll see the Properties and Delete Menu
buttons pop up. Click on Properties to bring up the Edit Run Process dialog box.
• Complete the fields as follows:
Custom ID: leaveProcess
Label: Apply Leave
• Select Leave Application Process in the Process list.
• Leave Run process without confirmation screen? and Show in popup dialog?
boxes unchecked.
Figure 7-13. EditingtheRunProcessElement
81
• Click on OK. The Edit Run Process dialog box will close.
Set Userview Theme
• Click on Setting in the main menu of Userview Builder.
Figure 7-14. Theme&PermissionSettingsTab
• Select a theme in the Theme list.
Figure 7-15. ThemeDrop-downList
• Click on OK.
Figure 7-16. PreviewofUserview
Remember to preview and then save your userview before closing the Userview Builder.
82
Chapter 8
Test-Drive Your Process
This is the part where you roll up your sleeves and test-drive your first app.
Before you test your process, make sure that you have assigned your users’passwords.
If you have not done so, follow these steps:
Go to Setup Users.
Select ABC Co. in the Filter By Organization drop-down list and click on Brad.
Click on Edit User.
Assign a password and confirm by re-typing it in the Confirm Password text field before clicking on Save.
Repeat the same steps for Jane.
Let’s Run the Process!
As Brad is our applicant, you can begin to run the process by logging out of the admin web
console then logging in as Brad. Make sure that you enter the correct password.
• Go to Run Apps then click on Published Processes in the drop-down list.
83
Figure 8-1. RunApps
• Click on the Launch button for Leave App under Published Processes.
Figure 8-2. PublishedProcesses
• Click on Run Process to confirm that you want to run the process.
Figure 8-3. RunProcessConfirmationBox
• Complete the Leave Application and then submit it by clicking on Complete. To
submit later, click on Save as Draft.
84
Figure 8-4. SubmitCompletedLeaveApplicationForm
The calendar widget enables a user to select dates when using the Date Picker element. Click on the calendar
icon to expand it.
Remember that an asterisk (*) denotes a required field.
Brad’s HOD, Jane, will now have to approve his leave application. For Jane to attend to the
process:
• Logout of Brad’s web console and login as Jane where you can check for tasks in
her Inbox.
Figure 8-5. Jane’sInboxandPendingTask
• Click on the activity name Approve Leave to open the task. This will bring up the
Leave Approval Form.
85
Figure 8-6. LeaveApprovalForm
• Complete the form by choosing Approved from the Status list and adding
remarks (if any).
• Submit the form by clicking on Complete.
Check if the routing worked correctly by logging out of Jane’s web console and logging in as Brad to
check his Inbox. You should see“Approved”under Activity Name.
86
Chapter 9
Joget Places
Joget Workflow Community Knowledge Base is
a collection of useful information about Joget Workflow.
You’ll find it at http://dev.joget.org/community/
display/KB/Joget+Workflow+Community+Knowledge
+Base where you can sign up to be a member in order to
browse and contribute tips and relevant know-how. You
can also visit the Forum to watch or join discussions as members share Joget-relevant questions,
answers, views and ideas.
To join the Joget community:
• Click on Sign Up on the upper right portion of the page.
Figure 9-1. JogetWorkflowCommunityKnowledgeBase
• Complete the Sign Up for Confluence form then click on the Sign up button to
submit.
87
Figure 9-2. SignUpforConfluence
Joget Marketplace offers a variety of plugins and ready-to-customize
process templates for your everyday business needs, in just a few mouse
clicks. No bothersome steps and lengthy sales gabbing so you get your
work done without delay! Visit http://marketplace.joget.org to find
out more.
Figure 9-3. GettingStartedwithJogetMarketplace
88
Joget Unplugged is where Jogetians share their insights on Joget Workflow. Follow them at
blog.joget.org to keep abreast of the latest buzz.
Figure 9-4. JogetUnplugged
89
GLOSSARY
A
activity a form-based action or task that a participant does
AJAX (Asynchronous Javascript and XML) a term used when several technologies are used
together allowing for quick updates without reloading the browser
AJAX subform an AJAX form within a form
app a program or software designed to accomplish a specific purpose
audit trail a record of information listed in a logical path linking a series of activities
auto populate to automatically fill in with data
B
Bean Shell a free embeddable Java scripting language
binder holds and keeps pieces of information synchronised so that when one is changed, the
rest are automatically updated
browser a graphical user interface for displaying and navigating webpages
C
calculation field a form field where arithmetic computations involving other fields can be done
checkbox a clickable box found in graphical user interfaces and which is used to turn an option
on or off
child form a form found within a multi-paged form
command an instruction to perform a specific task
command prompt a symbol on a display screen awaiting a command input
command line the line on the display screen where a command is expected
condition a situation that must exist before something else is possible or allowed
CRUD (Create Read Update Delete) allows you to build and manage records in Userview
CSS (Cascading Style Sheets) a feature added to HTML that determines how elements such as
headers, footers and links are displayed
CSV (Comma-separated Values) format used for representing data
CSV import enables one to transfer bulk data from one file into a form table
90
D
database a structured set of information
datalist information displayed in list order
datalist inbox inbox that contains form data
data migration the process of putting data from one format to another
datasource a name given to the connection set up to the database from a server
date picker a drop-down calendar for selecting a date
deadline limit the latest time or date by which an activity should be completed
default a preselected option when no alternative is specified by the user
default formatter allows you to apply standard formatting to objects, such as text
department options binder enables a return of the list of departments based on the
organisation
deploy to put into action
destination folder a user-specified folder to which the setup Joget Workflow program will be
installed
directory an organizational unit that contains files in hierarchical structure
directory user someone who has access to the directory
directory user form binder an option under Store Form Binder that allows you to create a user
in the user directory with a form created in Form Builder
duplicate value validator checks for and prevents identical values
duration unit the measure of time during which something continues
E
element an entity that is a single member of a set
element palette a range of elements available to the user
end bubble indicates where the process finishes
environment variable value given to a parameter or setting that is frequently or repeatedly
used within the app
91
equal value validator allows you to verify that the values of two fields match before submitting
a form
exception a condition, often an error, which causes an activity to branch out to a new activity
F
field a space allocated for a specific information
field value passover method determines how a redirect URL is formed
file upload allows one to attach a file to a form
filter limits the criteria through which data is passed or sorted for a list
foreign key a key (or key field) that identifies records in a different table
form a document with blank fields to be filled in (with data)
Form Builder enables one to design forms with the use of a simple and guided interface
formatter allows you to set the properties of an object, such as text, displayed on the computer
screen
form options binder allows you to fill in form data based on an organisation chart
form selection dialog a window that appears on a display screen requesting for the user to
choose a form
front-end interface enables a user to communicate with and access other parts of a program
G
grid a series of vertical and horizontal blocks of spaces
group users put together under the same functional role within an organization
group options binder enables a return of the list of groups based on organisation
H
hash a unique numeric value commonly used for accessing data
hash variable a hash that may take on more than one value during process execution (runtime)
hidden field a general HTML form input element that allows one to set values that are out of
view
host a remote computer system that contains the data being accessed by another remote
computer connected to it by modems and telephone lines
92
HTML (HyperText Markup Language) a standardised system for creating text files to achieve
font, colour, graphic and hyperlink effects on web pages
hyperlink allows you to jump from the current document to another document on your
computer, network or the Internet
hyperlink action allows the user to create a hyperlink between documents or parts of a
document
hyperlink parameter name name of the parameter to be added at the end of the hyperlink
hyperlink target the way or type of location where you want the hyperlink to open (ex: current
window, new window)
I
ID generator field used to create numbers that continue to run in sequence
image upload used for attaching picture files to a form
installer a specialised program that puts software on a computer
J
Jasper reports an open source Java reporting tool
Jasper reports definition (JRXML) source code for Jasper reports
Java a general purpose programming language with several features that make it ideal for use
on the World Wide Web
JDBC (Java Database Connectivity) allows Java programs to access database management
systems
JDBC datalist database binder
JSON (JavaScript Object Notation) a simple, language independent text file format for
representing data
K
key a field that you use to sort data (also called key field or index)
L
launch to start a computer program
LDAP (Lightweight Directory Acesss Protocol) an agreed format for transferring data between
two devices
Linux an open-source operating system
93
load binder where to copy and transfer data from
locale a set of information specific to a a given language and country or geographical location
M
mandatory required to be completed
map to associate an element in a set with an element in another set
MS SQL Server software whose main function is to keep and fetch data as required by other
software applications
multi row form binder enables one to save data taken from a series of vertical and horizontal
blocks of spaces, into a table
multi paged form allows one to build a single form containing several other forms
multi select box allows one to choose several items at once from a list of options
MySQL an open source relational database management system used for adding, removing,
modifying and updating information in the database
N
O
option a choice in a menu, dialog box, checkbox
options binder used for filling in options
Oracle a software company whose primary business is database products
organisation options binder enables a return of the list of organisations
P
parameter a characteristic that defines an element
parent form the form to which a child form is linked
participant a user or system that takes part in a process
password a string of characters used for verifying the identity of a user
password field the space allocated for entering a password
permission type determines which activities will be displayed under a user's Userview Activity
placeholder similar to a dummy text which fills an empty field until the real text is placed in
plugin a software extension that adds capabilities to an app
94
popup select box allows one to choose from a datalist instead of the common horizontal menu
that displays a list of options
preview to view something for checking before it is made available
process a series of interdependent activities taken to accomplish a desired result
process deadline checker interval how often an activity is checked for completion
properties attributes related to a a given data or data structure
protocol a set of rules defining a format
publish an app to make an app's processes and userviews available to all users
Q
query a request for information from a database
query language a specialised system for requesting information from a database
R
radio a small round area in a form that you can use to click to choose an option
read-only capable of being displayed, but not modified or deleted
redirect target the location or specified path after a form submission
refNo (Reference No.) an example of an environment variable name
relational database management system the most commonly used database format
return to display the results of the searched information
routing the process of directing information along a specified path from starting point (source)
to target (destination)
row actions allows one to associate a horizontal group of cells or boxes to an available
predefined task (such as Delete and Hyperlink)
row validation ensures that data entered in a horizontal group of cells or boxes are correct
S
schema database system structure that defines the behaviour of and the relationships between
tables and fields
script an automated series of instructions carried out in a specific order
server a computer that manages access to a centralised resource or service in a network
95
SLA (Service Level Agreement) limit agreed time limit for delivering a service or a solution to an
incident
SQL (Structured Query Language) a standard query language used by data management
systems for retrieving and modifying information in a database
SQL chart allows you to customise your own SQL query when making reports in the form of
tables, graphs or diagrams
SQL query enables one to create and run queries using SQL
status the situation at a particular time during a process
start bubble indicates where the process begins
store binder the location for retaining or entering data for future retrieval
subflow a process within a process
subform a form within a form
suite a set of programs with a uniform design and the ability to share data
T
table data arranged and stored in rows and columns
target a file or location to which data is copied or transferred
TCP/IP a suite of communications protocols used to connect hosts in the Internet
terminal window a display for entering data or commands and received output
text area section used for text input in forms
text field space used for text input in forms
thumbnail a small picture of an image or page layout that represents the larger original
time zone an area where a common standard time is used
tool a system-related activity
transition the path between two elements, such as between two activities
U
universal inbox shows all queued tasks across the process app
URL (Uniform Resource Locator) the address of a World Wide Web page
96
URL redirect the web page that will open after form submission
URL redirect value passover the form field value to be used as part of a URL redirect
user one who is given a unique account to login and participate in the Joget process app
UI (User Interface) the means by which a user and a computer system interact
user options binder enables a return of the list of users based on organisation, department and
group
user profile information about a user such as username, password and email address
username a name used by a participant to gain access to a Joget process app
userview front end interface [also "UI"]
userview key serves as a placeholder for a common value to be used when setting the limits of
contents to a certain category or attribute
userview key name determines the form field ID where the userview key value will be taken
from
V
validation ensures that data entered is correct
validator verifies that data entered falls within specified standards or conditions
value the computer representation of a piece of information
variable a data item that may take on more than one value during process execution (runtime)
W
wizard a help feature of a software package that automates complex tasks by asking the user a
series of easy-to-answer questions
workflow a series of processes through which an action passes from initiation (start) to
completion (finish)
X
XPDL (XML Process Definition Language) enables workflow management and business
processes to exchange and use information
Y
Z
zip a file that was compressed so that it takes less space in storage
97
98

Contenu connexe

Tendances

Rapid prototyping technologies,applications &part deposition planning 2
Rapid prototyping technologies,applications &part deposition planning 2Rapid prototyping technologies,applications &part deposition planning 2
Rapid prototyping technologies,applications &part deposition planning 2
Johnbin Johnson
 

Tendances (20)

Phase gate, 5 s lean manufacturing
Phase gate, 5 s lean manufacturingPhase gate, 5 s lean manufacturing
Phase gate, 5 s lean manufacturing
 
3D transformation - Unit 3 Computer grpahics
3D transformation - Unit 3 Computer grpahics3D transformation - Unit 3 Computer grpahics
3D transformation - Unit 3 Computer grpahics
 
AutoForm-HemPlanner^plus R7 in Hemming Simulation
AutoForm-HemPlanner^plus R7 in Hemming SimulationAutoForm-HemPlanner^plus R7 in Hemming Simulation
AutoForm-HemPlanner^plus R7 in Hemming Simulation
 
Product design and development ch2
Product design and development ch2Product design and development ch2
Product design and development ch2
 
Software Sizing
Software SizingSoftware Sizing
Software Sizing
 
Introduction to design and analysis of algorithm
Introduction to design and analysis of algorithmIntroduction to design and analysis of algorithm
Introduction to design and analysis of algorithm
 
Mathematical Analysis of Recursive Algorithm.
Mathematical Analysis of Recursive Algorithm.Mathematical Analysis of Recursive Algorithm.
Mathematical Analysis of Recursive Algorithm.
 
Dr Dev Kambhampati | Stage Gate Innovation Management
Dr Dev Kambhampati | Stage Gate Innovation ManagementDr Dev Kambhampati | Stage Gate Innovation Management
Dr Dev Kambhampati | Stage Gate Innovation Management
 
B. SC CSIT Computer Graphics Unit1.1 By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Unit1.1 By Tekendra Nath YogiB. SC CSIT Computer Graphics Unit1.1 By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Unit1.1 By Tekendra Nath Yogi
 
Association rules apriori algorithm
Association rules   apriori algorithmAssociation rules   apriori algorithm
Association rules apriori algorithm
 
PPT-1 Starting with Hypermesh
PPT-1 Starting with HypermeshPPT-1 Starting with Hypermesh
PPT-1 Starting with Hypermesh
 
Huffman
HuffmanHuffman
Huffman
 
CONCEPT GENERATION AND SELECTION PRESENTATION
CONCEPT GENERATION AND SELECTION PRESENTATIONCONCEPT GENERATION AND SELECTION PRESENTATION
CONCEPT GENERATION AND SELECTION PRESENTATION
 
Bin packing
Bin packingBin packing
Bin packing
 
Rapid prototyping
Rapid prototyping Rapid prototyping
Rapid prototyping
 
Clipping
ClippingClipping
Clipping
 
chap 2-4 other casting process.ppt
chap 2-4 other casting process.pptchap 2-4 other casting process.ppt
chap 2-4 other casting process.ppt
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
 
Rapid prototyping technologies,applications &part deposition planning 2
Rapid prototyping technologies,applications &part deposition planning 2Rapid prototyping technologies,applications &part deposition planning 2
Rapid prototyping technologies,applications &part deposition planning 2
 
A brief history of automation in Software Engineering
A brief history of automation in Software EngineeringA brief history of automation in Software Engineering
A brief history of automation in Software Engineering
 

Similaire à Easy joget v3 for the absolute beginner

Workflow Driven Application Development v1.0
Workflow Driven Application Development v1.0Workflow Driven Application Development v1.0
Workflow Driven Application Development v1.0
Tien-Soon Law
 
Getting started with workflow
Getting started with workflowGetting started with workflow
Getting started with workflow
seenu126
 
Presentation microsoft office 2013 akshay
Presentation microsoft office 2013 akshayPresentation microsoft office 2013 akshay
Presentation microsoft office 2013 akshay
Akshay Singh
 
jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013
dmethvin
 

Similaire à Easy joget v3 for the absolute beginner (20)

Joget Workflow Web App Development Methodology for the Citizen Developer
Joget Workflow Web App Development Methodology for the Citizen DeveloperJoget Workflow Web App Development Methodology for the Citizen Developer
Joget Workflow Web App Development Methodology for the Citizen Developer
 
Dojo tutorial
Dojo tutorialDojo tutorial
Dojo tutorial
 
Git Makes Me Angry Inside
Git Makes Me Angry InsideGit Makes Me Angry Inside
Git Makes Me Angry Inside
 
Workflow Driven Application Development v1.0
Workflow Driven Application Development v1.0Workflow Driven Application Development v1.0
Workflow Driven Application Development v1.0
 
Joget Workflow v6 Training Slides - 2 - Setting Up Joget Workflow
Joget Workflow v6 Training Slides - 2 - Setting Up Joget WorkflowJoget Workflow v6 Training Slides - 2 - Setting Up Joget Workflow
Joget Workflow v6 Training Slides - 2 - Setting Up Joget Workflow
 
GUI toolkits comparison for python
GUI toolkits comparison for pythonGUI toolkits comparison for python
GUI toolkits comparison for python
 
Joget Workflow v4 Training - Module 2 - Setting up Joget Workflow
Joget Workflow v4 Training - Module 2 - Setting up Joget WorkflowJoget Workflow v4 Training - Module 2 - Setting up Joget Workflow
Joget Workflow v4 Training - Module 2 - Setting up Joget Workflow
 
Joget Workflow v5 Training Slides - Module 2 - Setting up Joget Workflow
Joget Workflow v5 Training Slides - Module 2 - Setting up Joget WorkflowJoget Workflow v5 Training Slides - Module 2 - Setting up Joget Workflow
Joget Workflow v5 Training Slides - Module 2 - Setting up Joget Workflow
 
Getting started with workflow
Getting started with workflowGetting started with workflow
Getting started with workflow
 
Joget Workflow v5 Training Slides - Module 13 - Improving your form design an...
Joget Workflow v5 Training Slides - Module 13 - Improving your form design an...Joget Workflow v5 Training Slides - Module 13 - Improving your form design an...
Joget Workflow v5 Training Slides - Module 13 - Improving your form design an...
 
Joget Workflow v5 Training Slides - Module 8 - Designing your first Userview
Joget Workflow v5 Training Slides - Module 8 - Designing your first UserviewJoget Workflow v5 Training Slides - Module 8 - Designing your first Userview
Joget Workflow v5 Training Slides - Module 8 - Designing your first Userview
 
Joget Workflow v6 Training Slides - 8 - Designing your First Userview
Joget Workflow v6 Training Slides - 8 - Designing your First UserviewJoget Workflow v6 Training Slides - 8 - Designing your First Userview
Joget Workflow v6 Training Slides - 8 - Designing your First Userview
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slides
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
Presentation microsoft office 2013 akshay
Presentation microsoft office 2013 akshayPresentation microsoft office 2013 akshay
Presentation microsoft office 2013 akshay
 
Windows 7, 8, 8.1 & 10
Windows 7, 8, 8.1 & 10Windows 7, 8, 8.1 & 10
Windows 7, 8, 8.1 & 10
 
Joget workflow v3 - Software Business Made Easy
Joget workflow v3 - Software Business Made EasyJoget workflow v3 - Software Business Made Easy
Joget workflow v3 - Software Business Made Easy
 
Build Your First Android App Session #1
Build Your First Android App Session #1Build Your First Android App Session #1
Build Your First Android App Session #1
 
jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013
 
Skippipe: skipping the watermark in digital content
Skippipe: skipping the watermark in digital contentSkippipe: skipping the watermark in digital content
Skippipe: skipping the watermark in digital content
 

Dernier

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Dernier (20)

Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 

Easy joget v3 for the absolute beginner

  • 1. Easy J get v3 for the absolute beginner i
  • 2. ii
  • 3. Preliminaries Joget Workflow is a free open source app builder that allows you to create full-fledged process apps from any computer with Internet connection. Its simple drag-and drop wizards make designing forms, tables, processes and user interfaces (UI) easy as pie. More and more businesses looking for an easy-to-use yet powerful complement to their groove are finding Joget Workflow essential and useful to their organization. www.joget.org spells out the details. Joget is not just about workflows. To build apps using Joget, one needs to move around the Workflow Designer, Form Builder, Datalist Builder and Userview Builder. I’m guessing, though, that some of you may not want to design workflows but would like it if you could build process apps sans all the diagraming. Joget’s Userview Builder --- the jewel among Joget’s crown jewels --- sets you where the rubber meets the road. You’ll goggle at how easily anyone can build apps using the Userview Builder, and with those apps, efficiently take care of all kinds of office work that are done repeatedly. iii
  • 4. Joget Workflow Ecosystem Let’s take a look at what makes up Joget Workflow: This book provides handy information for you, the average Joe, while you build your first Joget Workflow process app. It does not discuss what Joget can do in full-scale. Rather, it guides you through the features that you can use to make your work processes flow as they should. This book comes clean and clear so you can move on without the frustrating jargons and get your apps done. The contents are organized in linear style, but you can always hop to any chapter that you feel you need to go to. Each time you don’t understand something, look for the topic under the table of contents or in the index page. For quick definitions on words that baffle you, turn to the glossary at the end of the book. • Words or phrases that you are being asked to type in or click on are marked in bold text. • Words that are being defined are written in italics. iv
  • 5. • ( > ) is used when showing selected commands in menus, for example, File > Open which means that you are being asked to click on the File menu and select the Open command. • Website addresses are written in monolith, like this: http://www.joget.org/download/. • Currently, Joget Workflow is available for both Windows and Linux. However, everything in this book pertains to Joget on Windows. v
  • 6. Table of Contents Chapter 1 Introducing Joget Workflow 1 - 9 • Is Joget really that simple to use? • Choosing the Right Joget Workflow Edition • How do you start using Joget Workflow • Touring Joget • Workflow Designer • Form Builder • Datalist Builder • Userview Builder • Web Console Chapter 2 Setting Up the Organization Chart 10 - 17 • Creating a New Organization • Adding Departments • Structuring Grades • Creating Users • Setting up User Details • Setting up Employee Details Chapter 3 The Joget Walkabout 18 - 36 • Designing Your First Process App • Up and Going with Workflow Designer • Adding Participants to a Process • Setting Participant Properties • Adding Activities to Swimlanes • Adding Tools to System-type Participants • Adding Transitions • Adding Routes • Figuring Out Where to Go Next • Adding and Removing Start and End Bubbles Chapter 4 Joget at Work 37 - 44 • Mapping Participants to Users • Participant Mapping for Approver • Participant Mapping for Applicant • Mapping Activities to Forms • Mapping Tools to Plugins Chapter 5 Designing Web Forms with Form Builder 45 - 62 • Building the Foundation of Databases • Basic Elements of Form Builder • Designing a Simple Form • Launching the Form Builder • Start by Adding Form Elements • Add a Text Field Element • Exploring the Text Field Property Editor • Add a Date Picker Element vi
  • 7. • Exploring the Date Picker Property Editor • Add a Text Area • Exploring the Text Area Property Editor • Let's create another form! • Add a SubForm Element • Add a SelectBox Element • Add a Text Area Chapter 6 Using the Datalist Builder 63 - 72 • Create Datalists the Way You Want to See Them • Creating a Datalist • Selecting a Form to Link to the Datalist • Let's begin with columns • Adding Columns to the Layout • Defining Column Properties • Adding Actions • Delete Action Explained • Setting Filters Chapter 7 Putting It All Together with Userview Builder 73 - 82 • Building User Interfaces • Key Areas of Userview Builder • Your Userview Builder Toolbox • Building a Userview • Create New Userview • Add a New Category • Add an HTML Page • Add an Inbox • Add a Form • Add a List • Add a Run Process Element • Set Userview Theme Chapter 8 Test-Drive Your Process 83 - 86 • Let's Run the Process! Chapter 9 Joget Places 84 - 89 • Joget Workflow Community Knowledge Base • Joget Marketplace • Joget Unplugged Glossary 90 - 97 vii
  • 8. Chapter 1 Introducing Joget Workflow You're in the office. You have work to finish but get little or no work done because there's still no reply to that approval request you sent last lunar eclipse. You are a jangle of nerves as you try to figure out what's gonna hit you first --- your deadline or the Prophet of Doom. Joget Workflow (Joget, for short) is computer software that you can use to build any process app based on what works and what doesn't, what you have and what you don't need to have in your business processes, without any web programming. The idea is to automate office work and get the best results in the least number of steps and errors possible. Take administrative tasks, for example. They take you through a planet of forms that sit around and wait for someone to complete them. Sometimes, the wrong person does something about them. Other times, the right person does something wrong. What’s new in Joget v3.1.0? At the time of writing, v3.1.0 is the latest version. With each new version released, Joget Workflow has become more powerful and its features more enriched. The upgrade to v3.1.0 is no different. New in the v3 release are: • a cleaner and more streamlined user interface • enhanced Form, List and Userview features • enhanced reporting through integration with JasperReports • enhanced security features • better multi-language support Is Joget really that simple to use? Joget was designed to be a no-fuss process app builder because, love it or hate it, processes are a fundamental part of every business life. But "easy" all boils down to being relative. You may need a little more elbow grease compared to the Joe three floors up who cruises along fine and dandy from day one. The reason could be a combination of factors, who knows? But you definitely don't have to be a tech person to use Joget effectively. You just have to start somewhere, like in everything else you master in life. My tip would be to explore. Don’t be afraid if you don’t know a lot at the start; you'll always learn something new along the way. You have this book, and there are a host of other help topics at http://dev.joget.org/community/display/KB/Joget+Workflow +Community+Knowledge+Base that may help you find your way if you’ve gotten off-track. 1
  • 9. Figure 1-1. JogetWorkflowCommunityKnowledgeBase Now Let’s Get Started! This part of the book shows you how to begin putting Joget to work and starts by walking you through a series of download, installation and basic getting-to-know-you steps. Choosing the Right Joget Workflow Edition Joget Workflow comes in two editions - Community and Enterprise. Each is customized to cater to the needs of different types of organizations. • Community Edition - built for small organizations • Enterprise Edition - built for medium to large organizations How do you get Joget in one swoop? Open your web browser. Type http://www.joget.org/download/ in the address bar. Choose a Joget Workflow edition and click on Download. 2
  • 10. Figure 1-2. http://www.joget.org/download/ Click on your preferred Joget version download. For this example, we will use v3 Enterprise Edition. Figure 1-3. http://www.joget.org/download/downloads-for-v3/ 3
  • 11. Figure 1-4. http://www.joget.org/download/v3-enterprise-windows/ Wait for your download to finish, then double-click on the setup file joget- setup-x.x.x.exe to launch the Joget Workflow Setup Wizard. The Joget Workflow Setup Wizard breezes you through these steps: • Click on Next in the Welcome page; you’ll see the License page. Figure 1-5. JogetWorkflowSetupWizard 4
  • 12. • Click on I Agree in the License page to accept the license; you’ll see the Components page. • Click on Next in the Components page. This will take you to the Installation page. • Click on Install to install Joget Workflow in the preselected destination folder C:Joget-v3. • Click on Finish when the installation is done. How do you start using Joget Workflow? To begin using Joget, you will have to start the Joget server first. Joget server is where all your data are kept as you build your process apps. Follow these steps to start the Joget server: • Go to Start Menu > Programs > Joget Workflow. • Click on the green Start Joget Server icon. A window displaying consecutive lines of white text (or“commands”) on a black background will appear. That window is called a command window. • Wait until the message "INFO: Server startup in XXXX ms" appears in the command window. XXXX represents the time it has taken the server to start and may take a little longer than you expect. Do not close the command window. • Go to Start Menu > Programs > Joget Workflow. • Click on Web Console to access the Joget Workflow start page http://localhost: 8080/jw in your web browser. • Click on Access the Web Console. This will bring you to the Login page. 5
  • 13. • Type admin in the Username field. • Type admin in the Password field. • Click on Login. This will bring you to your web console Home/Welcome Page where you can get started. The main menu lets you: 1. Setup Users 2. Design Apps 3. Run Apps 4. Monitor Apps Figure 1-6. JogetWorkflowWebConsole Touring Joget Now that you’ve got the full groundwork, here’s a quick tour of the key areas of Joget. The following are inter- related sections in Joget that make process app building a snap! Workflow Designer is where you draw and visualize how work is done in your organization. If you have never used a graphic tool before, you will first need to acquaint yourself with the designer’s features in order to make the most out of it. 6
  • 14. Figure 1-7. WorkflowDesignerUserInterface Design pane the big space where you create your work diagram by adding participants, activities, tools, subflows, routes and transitions Element menu a column of clickable buttons (on the left side of the design pane) that provide an easy way of selecting element functions Elements in the Element menu: ⁃ Selection - for choosing an element in the design pane whenever you want to do something to it, like copy, delete, move, and a number of other actions. Selected elements look different: activity elements turn yellow, while other elements become outlined with broken lines or bounded areas. ⁃ Participant - the user who does the work ⁃ Start - marks where the process begins, where a form is first submitted ⁃ End - marks where the process finishes, when the goal is achieved or the problem resolved ⁃ Activity - action that involves human input , what the participant does ⁃ Tool - automated task performed by the system, like sending emails ⁃ Route - a point in the workflow design where a decision needs to be made first to determine where the flow should go ⁃ Subflow - a process that is inserted in another process ⁃ Transition - connects all elements together Swimlane illustrates how participants interact with each other in the workflow as they perform their activities in sequence 7
  • 15. Menu bar a list of options, settings, actions and just about everything you do in Workflow Designer Tool bar a series of clickable buttons (above the design pane) used to set an action or command Navigator shows the apps and their processes in the current workflow design Dialog box an enclosed area that looks like a window on your screen, for typing in data Pop-up menu a list of commands or options that appear momentarily when you right-click on an element in the design pane View options switches the workflow design view between graph (which shows the diagram) and XPDL (which shows the coding) Process guide warns you about errors in your workflow as you are designing it Form Builder lets you design online forms without HTML or coding. It uses a guided interface that is simple enough for anyone to use, and it is sufficiently customizable to meet the needs of different types of organizations. Figure 1-8. FormBuilderUserInterface Datalist Builder sports a look and feel similar to Form Builder. It offers an intuitive way of building data lists based on submitted form data. 8
  • 16. Figure 1-9. DatalistBuilderUserInterface Userview Builder is designed for ease-of-use so that anyone can build a front-end interface that process app users can directly interact with. Figure 1-10. UserviewBuilderUserInterface Web Console is where Joget lets you work behind the scene so you can manage your apps. It is where you, as administrator, get to push all the control buttons and assign users their access levels and privileges, among many others. 9
  • 17. Chapter 2 Setting Up the Organization Chart Creating a New Organization Before you begin designing your process app, set up your organization chart. • Go to Setup Users and click on Setup Organization Chart in the drop-down menu. Figure 2-1. SetupOrganizationChart • Click on Create New Organization. This will bring up the Create New Organization dialog box. Figure 2-2. CreateNewOrganization Figure 2-3. CreateNewOrganizationDialogBox 10
  • 18. • Complete the fields under Organization Details. For this example, enter abc_co in the Organization ID field and ABC Co. in the Organization Name field. • Click on Save. The Create New Organization dialog box will close. You are only allowed to use alphabets (a-z and A-Z), numbers (0-9), dash (-) and underscore ( _ ) in the Organization ID field. This is also true for all other IDs. You must complete fields marked with an asterisk (*). IDs are case-sensitive. This means that“joget”and“Joget”are two different names. So when you’re being asked to type an ID, observe uppercases and lowercases to avoid errors. Adding Departments You can manage your process app users by creating and managing departments in your organization. • Go to Setup Users and click on Setup Organization Chart. • Click on an organization name in the list. For this example, click on ABC Co. Figure 2-4. ClickonABCCo. The resulting page shows the organization details and its department list. 11
  • 19. Figure 2-5. DepartmentList • Click on Create New Department under Department List. This will bring up the Create New Department dialog box. • Complete the department details. For this example, enter personnel in the Department ID field and Personnel Department in the Department Name field. Figure 2-5. CreateNewDepartmentDialogBox • Click on Save. The Create New Department dialog box will close. Figure 2-6. UpdatedDepartmentList 12
  • 20. Structuring Grades One way of arranging and placing employees in their correct categories is by determining a grading structure. • Go to Setup Users and click on Setup Organization Chart. • Click on an organization name in the list. For this example, click on ABC Co. The resulting page shows the organization details and its department list. Figure 2-7. Grade List • Click on Create New Grade under Grade List. This will bring up the Create New Grade dialog box. • Complete the grade details. For this example, enter clerical in the Grade ID field and Clerical in the Grade Name field. Figure 2-8. CreateNewGradeDialogBox • Click on Save. The Create New Grade dialog box will close. Follow the same steps to create another grade. Type management in the Grade ID field and Management in the Grade Name field. 13
  • 21. Figure 2-9. UpdatedGradeList Creating Users Users complete your organization layout. Each user stands for a unique account that can sign in to Joget and be a participant in the process apps. Setting up User Details: • Go to Setup Users and click on Setup Users. Figure 2-10. CreatingUsers • Click on Create New User. 14
  • 22. Figure 2-11. CreateNewUserPage This will bring up the Create New User dialog box. • Complete the following user details: Username: Jane First Name: Jane Last Name: Hill Password: password Confirm Password: password Role(s): User Time Zone: (GMT +08:00) Beijing, Hong Kong, Perth, Kuala Lumpur, Singapore, Taipei Status: Active Figure 2-12. CreateNewUserDialogBox Setting up Employee Details: • Type the following under Employee Details: Organization: ABC Co. 15
  • 23. Department: Personnel Department Head of Department (HOD)? Yes Grade Management Figure 2-13. SettingUpEmployeeDetails • Click on Save. This will close the Create New User dialog box. Repeat the same steps to create our second user. Complete the details as follows: User Details: Username: Brad First Name: Brad Last Name: Fritz Password: password Confirm Password: password Role(s): User Time Zone: (GMT +08:00) Beijing, Hong Kong, Perth, Kuala Lumpur, Singapore, Taipei Status: Active Employee Details: Organization: ABC Co. Department: Personnel Department Head of Department (HOD)? No Grade Clerical 16
  • 24. Figure 2-14. ViewingUserDetails Figure 2-15. UserDirectoryPage 17
  • 25. Chapter 3 The Joget Walkabout Designing Your First Process App This chapter walks you through your first Joget steps and shows you how to build a simple process app. To start designing apps, make sure that you are logged in to your web console. In the Home/Welcome Page: • Go to Design Apps and click on Design New App in the drop-down menu. Figure 3-1. DesignNewApp This will bring up the Design New App dialog box. • Complete the App Details. For this example, enter leave_app in the App ID field and Leave App in the App Name field. 18
  • 26. Figure 3-2. DesignNewAppDialogBox • Click on Save. The Design New App dialog box will close. • To publish this app, click on Not Published on the upper-left part of the page. Figure 3-3. PublishinganApp Figure 3-4. ManageAppVersionDialogBox This will bring up the Manage App Version dialog box. • Click on the radio button beside Version 1. • Click on Publish. 19
  • 27. • Click on OK when asked if you are sure that you want to publish the app. • Click on the x button found on the upper-right corner of the Manage App Version dialog box to close it. You will now see Leave App in the Design Apps drop-down list. Figure 3-5. ListofApps Up and Going with Workflow Designer Joget’s Workflow Designer visualizes workflow with a powerful drag-and-drop capability that makes it even simpler to use. • Go to Design Apps in the Home/Welcome Page. • For this example, click on Leave App in the drop-down menu. • Click on Launch Workflow Designer. This will start Workflow Designer. Figure 3-6. StartingtheWorkflowDesigner You will see the Leave App package in the Navigator pane of Workflow Designer. You will also see that Workflow Designer has automatically added the process“Workflow Process 1”under the Leave App package. Rename Workflow Process 1 and set its properties by following these steps: • Right-click on Workflow Process 1. • Select Properties in the popup menu. This will bring up the Workflow Process properties dialog box. 20
  • 28. • For this example, type leaveApplicationProcess in the ID field and Leave Application Process in the Name field. Set Hour as Duration unit. • Click on OK to close the dialog box. Figure 3-7. WorkflowProcessPropertiesDialogBox To manually add a process, right-click on Leave App then select New Process in the pop-up menu. Or, click on Process in theWorkflow Designer menu bar and then select Insert New Process in the pop-up menu. There are a couple of other ways to access theWorkflow Process properties dialog box: 1. By clicking on Workflow Process 1 > Edit (in the menu bar) > Properties (in the pop-up menu) 2. By double-clicking on Workflow Process 1 and then selecting Properties in the pop-up menu Adding Participants to a Process Notice that Joget automatically adds Participant 1 for you when you insert a new process under the Leave App package. You can add other participants by dragging and dropping the Participant element icon found in the Element menu to an empty part in the design pane. You will see a swimlane added after each drag-and-drop. Figure 3-8. Swimlane 21
  • 29. Swimlanes represent participants and other types of information in a process flow. For this example, we will have 3 participants. You can organize your process elements by dragging them to where you want them to be in the swimlane(s). Point your mouse on the element, click and hold it, then drag and drop the element to where it should belong. Setting Participant Properties Here’s how you set Participant properties: • Right-click on Participant 1. • Select Properties in the pop-up menu. This will bring up the Participant properties dialog box. Figure 3-9. SettingParticipantProperties • For this example, type applicant in the ID field and Applicant in the Name field. Click on the radio button to set participant type to Participant. 22
  • 30. Figure 3-10. ParticipantPropertiesDialogBox • Click on OK. This will close the dialog box. Repeat the same steps for Participant 2, using the following: ID field: approver Name field: Approver Type: Participant We have one more participant to add and it will be a system-type participant. System-type participants perform automated tasks such as sending emails. Add Participant 3 and follow these steps to set its properties: • Right-click on Participant 3. • Select Properties in the pop-up menu. This will bring up the Participant properties dialog box. • For this example, type system in the ID field and System in the Name field. Click on the radio button to set participant type to System. Figure 3-11. SettingParticipantProperties 23
  • 31. • Click on OK. This will close the dialog box. Figure 3-12. SystemParticipantAdded Adding Activities to Swimlanes Activities are actions that participants perform. They are tasks that need human input. Figure 3-13. ActivityElement To add our first activity in the Leave Application Process, drag the Activity element icon in the Element menu to an empty part in the Applicant swimlane. 24
  • 32. Figure 3-14. AddinganActivityElementintheSwimlane To set Activity properties: • Double-click on the Activity element that you added. This will bring up the Activity properties dialog box. • Type submit_completed_leave_application_form in the ID field. • Type Submit completed leave application form in the Name field. Figure 3-15. ActivityPropertiesDialogBox • Click on OK. This will close the Activity properties dialog box. We’ll add our second activity and this time around, it will be for the Approver. Drag the Activity element icon in the Element menu to an empty part in the Applicant swimlane. Set the Activity properties as follows: ID: approve_leave 25
  • 33. Name: Approve leave Don’t forget to click on OK to close the Activity properties dialog box. Adding Tools to System-type Participants We use the Tool element instead of the Activity element when the activity to be added is an automated task and the participant is a system. Automated tasks such as sending emails do not require human input. To add a tool, drag the Tool element icon in the Element menu to an empty part in the System swimlane. Figure 3-16. AddingaToolElement To set Tool properties: • Double-click on the Tool element in the System swimlane. This will bring up the Tool properties dialog box. • Type email_approval_notification in the ID field. • Type Email approval notification in the Name field. • Click on OK. This will close the Tool properties dialog box. Repeat the same steps using: ID: email_rejection_notification Name: Email rejection notification 26
  • 34. Figure 3-17. ToolsAddedintheSystemSwimlane Adding Transitions Transitions connect workflow elements together and show the order by which activities are performed from start to end. Figure 3-18. TransitionElementIcon Look at our example process and connect the first activity to the second activity by adding a transition. Here’s how: • Click on the Transition element icon in the Element menu. • Click on the Submit completed leave application form activity in the Applicant swimlane. • Click on the Approve leave activity in the Approver swimlane. • RIght-click on any empty space to stop adding transitions. 27
  • 35. Figure 3-19. TransitionAddedtoConnectActivity1toActivity2 Adding Routes Routes are points in the workflow where decisions are made based on existing rules and standards. Figure 3-20. RouteElementIcon For this example, we will add a route to the Approver swimlane to show that a decision has to be made by the approver of the leave application before the next action can be determined. • Click and hold the Route element icon in the Element menu before dragging it to the Approver swimlane and arranging it under the Approve leave activity element. 28
  • 36. Figure 3-21. AddingaRouteElement • Add a transition to connect the Approve leave activity to the route. Figure 3-22. ConnectingActivitytoRoutebyAddingaTransition Figuring Out Where to Go Next Now that we know there’s a decision to be made when the process reaches the Approve leave activity, there are a few things that we need to do: • Add missing transitions to connect the rest of the elements in the workflow design. Refer to Adding Transitions to connect the remaining elements like this: 29
  • 37. Figure 3-23. ActivitieswithRouteandTransitions You can reposition an element in the design pane by dragging it to where you want it to be. • Define the route type to determine how the process will flow once a decision is made. Here’s how you do it: • Double-click on the route element; this will bring up the properties dialog box. Figure 3-24. DefiningRouteType 30
  • 38. • Make sure that Split type is set to Xor, which means that: (1) the leave request may be approved and if it does, an approval notification will be emailed to the applicant; OR (2) the leave request may be rejected and if it does, a rejection notification will be emailed instead. • Click on the x button found on the upper-left corner of the dialog box to close it. Figure 3-25. ClosingtheDialogBox • Define route conditions. Route conditions depend on what we call the business rules of the organization. Follow these steps to set the 1st route condition: • Double-click on the transition connecting the route to the Email approval notification tool. This will bring up the Transition properties dialog box. Figure 3-26. TransitionConnectingRoutetoEmailApprovalNotificationTool • Select Condition from the Type list. 31
  • 39. Figure 3-27. SettingTransitionType • Type status=='Approved' in the Expression text area. Figure 3-28. StatingtheExpression • Click on OK. The Transition properties dialog box will close. • Double-click on Leave Application Process in the Navigator pane. This will bring up the Workflow Process properties dialog box. • Click on the Create new element icon found under SLA Limit > Workflow variables. 32
  • 40. Figure 3-29. CreateNewElementIconintheWorkflowProcessPropertiesDialogBox This will bring up the Workflow Variable properties dialog box. • Type status in the ID text field. Figure 3-30. WorkflowVariableDialogBox • Click on OK. This will close the Workflow Variable properties dialog box. Moving the mouse over the element icons under SLA Limit >Workflow variables in theWorkflow Process properties dialog box brings up text that tells you what the icons stand for. Follow these steps to set the 2nd route condition: • Double-click on the transition connecting the route to the Email rejection notification tool. This will bring up the Transition properties dialog box. 33
  • 41. • Select Otherwise from the Type list. Figure 3-31. SettingTypeto“Otherwise” • Type Otherwise in the Name field. Figure 3-32. GivingtheTransitionaName • Click on OK. The Transition properties dialog box will close. Figure 3-33. ConnectingtheRoutetotheTools 34
  • 42. Adding and Removing Start and End Bubbles There are two ways by which you can add Start and End bubbles to the workflow design to show where the process starts and ends: • The tool bar of Workflow Designer includes icons that you can click on to Insert Missing Start and End Bubbles and to Remove Start and End Bubbles. When using this tool, Workflow Designer automatically detects the start and end points of the process, then adds the bubbles and transitions for you. Figure 3-34. WorkflowDesignerToolBar • The Element menu also has Start and End element icons to represent the start and end points of the process. Just drag them to where the start and end points are in the process, them connect the elements together using transitions. Figure 3-35. StartBubble Figure 3-36. EndBubble Adding start and end bubbles to the process completes the workflow design and readies it for deployment. 35
  • 43. Figure 3-37. CompletedLeaveAppWorkflowDesign You can delete workflow design elements by right-clicking on the element that you want to trash, then clicking on Delete in the resulting pop-up menu. Figure 3-38. DeletinganElement 36
  • 44. Chapter 4 Joget at Work You can’t view a process in the web console without having deployed it first from the Workflow Designer. Remember that data created in the designer has to be transferred to the web console. To deploy a process: • Click on Deploy found at the bottom of the Process Guide pane. • Click on OK in the“Deploy Successful!”message box. This will close Workflow Designer. Figure 4-1. DeployButton Mapping Participants to Users In Chapter 2, we created users as a finishing touch to setting up our organization chart. We will now map those users to our participants for the purpose of defining their roles. We’ll start with Approver. Keep in mind that the approver should be the applicant’s HOD (Head of Department). Participant Mapping for Approver: • Click on Add/Edit Mapping found along“Approver”in the list of participants. This will bring up the Map Participants to Users dialog box. 37
  • 45. Figure 4-2. MappingApprovertoUser • Click on Map to User or Group. • Click on Map to User. • Select ABC Co. in the Filter By Organization drop-down list. • Check the box beside Jane. Figure 4-3. MappingApprovertoJaneHill • Click on Map to Org Chart. • Click on Map to the Performer. • Click on the Performer’s HOD radio button to select it. • Select Submit completed leave application form from the Where the performer executed drop-down list. 38
  • 46. Figure 4-4. MappingApprovertoOrganizationChart • Click on Submit. This will bring up a confirmation box. • Click on OK to confirm. Participant Mapping for Applicant: • Click on Add/Edit Mapping found along“Applicant”in the list of participants. This will bring up the Map Participants to Users dialog box. • Click on Map to User or Group. • Click on Map to User. • Select ABC Co. in the Filter By Organization drop-down list. • Check the box beside Brad. Figure 4-5. MappingApplicanttoBradFritz • Click on Map to Org Chart. • Click on Map to the Performer. • Click on the Performer radio button to select it. 39
  • 47. • Select Run Process from the Where the performer executed drop-down list. Figure 4-6. MappingApplicanttoOrganizationChart • Click on Submit. This will bring up a confirmation box. • Click on OK to confirm. Mapping Activities to Forms You need to have your forms ready first before you can map activities to them. Hop to Chapter 5 to design the Leave Application and Leave Approval forms. Once your forms are ready, follow these steps to begin mapping them. Make sure that you are on the Leave App management page of your web console. • Click on Map Activities to Forms. You will see a list of the workflow design activities. Figure 4-7. MappingActivitiestoForms • Click on Add/Edit Form along“Submit completed leave application form”. In the resulting window, click on Map to a Form. 40
  • 48. Figure 4-8. SelectingaFormtoMapto“Submitcompletedleaveapplicationform”Activity • Click on Leave Application Form. This will close the window. Repeat the same steps to map Approve leave to Leave Approval Form. Figure 4-9. ActivitiesMappedtoForms Mapping Tools to Plugins In our example Leave App, we will need the Email Tool plugin so that emails can be sent automatically to the leave applicant after a decision is made. To map the Email approval notification tool to an Email Tool plugin, go to Processes > Map Tools to Plugins in the Leave App management page of your web console. 41
  • 49. Figure 4-10. MappingToolstoPlugins Then follow these steps: • Click on Add/Edit Plugin along the Email approval notification tool under the list of tools defined in the workflow design. This will bring up the plugin list. Figure 4-11. PluginList • Click on Email Tool in the plugin list. This will bring up the Plugin Configuration dialog box. 42
  • 50. Figure 4-12. ConfigureEmailTool • Type mailserver in the SMTP Host field. • Type 25 in the SMTP Port field. • Click on Next. • Type email@domain in the From field. • Type #performer.runProcess.email# in the To (Specific email address) field. Figure 4-13. TypeEmailDetails • Click on Submit. The Plugin Configuration dialog box will close. Repeat the same steps for the Email rejection notification tool. 43
  • 52. Chapter 5 Designing Web Forms with Form Builder Building the Foundation of Databases Joget’s Form Builder is the answer to your workflow data collection needs. It lets you design online forms using a simple drag-and-drop interface and set them up so that information is routed to the right people in your organization. All these without having to write a single line of code! Before we start designing the forms we need for our sample Leave App, let’s take a look at the basic elements that make up this Form Builder. Basic Elements of Form Builder So many features, so little time! Form Builder is pretty hefty on good stuff that we just don’t want you to be overwhelmed with at this point. Let’s take a peek at the basic elements instead and see how we can use them to build the simple forms we need for this book’s Leave App exercise. Hidden Field a text field that is not shown in the form but is used for setting values that are also submitted when the form is submitted Text Field a space where you can type in one line of text Password Field a text field that shows text as dots on the screen to prevent other people from reading it Text Area a text field where you can type in many lines of text SelectBox also known as a“drop-down”or“pull-down”list; it contains pre- designated options for you to choose from. CheckBox a box that you can check/tick to select one or more items from a set of options Radio a round area that you can click on to select an option. Unlike check boxes that allow multiple selections, radios limit you to only one. Date Picker a display that allows you to choose a calendar date File Upload allows you to choose a file and transfer it to the Joget server; also known as“http upload” Sub Form a form that is inserted in another form 45
  • 53. Grid a framework of spaces that contains organized and related data Designing a Simple Form For this example, we will work on two forms: the Leave Application Form and Leave Approval Form. Launching the Form Builder • Click on Forms in the left sidebar of the web console. Make sure that your are in the Leave App management page of your web console. • Click on Create New Form. This will bring up the Create New Form dialog box. • Complete Form Details: Form ID leaveApplicationForm Form Name Leave Application Form Table Name hr_leave Figure 5-1. CreateNewFormDialogBox • Click on Save to launch Form Builder. Start by Adding Form Elements We begin designing the Leave Application Form by dragging and dropping the form elements we require to the design pane. Form elements are found in the Element palette on the left of the Form Builder. 46
  • 54. Notice that Form Builder automatically adds a section when it opens for the first time. Figure 5-2. FormBuilderautomaticallyaddsaSectionwhenopenedforthefirsttime. Follow these steps to rename Section: • Move your mouse anywhere in the section area in the design pane. You will see 4 buttons pop up --- Add Section, Add Column, Edit Section and Delete Section. Figure 5-3. IntheSectionelement,youcanadd,editanddeleteasection,andyoucanaddacolumn,too. 47
  • 55. • Click on Edit Section to bring up the property editor. Figure 5-4. EditSectionButton • Type Leave Application in the Label field. Figure 5-5. SectionPropertyEditor • Click on OK. This will close the property editor. Add a Text Field Element • Drag Text Field from the Element palette to the design pane. • Move your mouse anywhere near Text Field. You will see 2 buttons pop up --- Edit and Delete. • Click on Edit to bring up the property editor. Figure 5-6. TextFieldEditButton • Type name in the ID field. • Type Name in the Label field. Click on Next. 48
  • 56. Figure 5-7. TextFieldPropertyEditor • Select Default Validator from the Validator drop-down list. Click on Next. You’ll see a check mark beside“Mandatory”in the Configure Validator window. Figure 5-8. ValidatorDrop-downList Figure 5-9. MandatoryCheckBox • Click on OK. This will close the property editor. Exploring the Text Field Property Editor • ID a set of characters that is explicitly linked to the Label tag. IDs are unique within a form. • Label the name that you assign to the text field • Value the text that is automatically displayed in the text field; you can use, for example, Enter. If there is no specified value, then you will see a blank field. • Max Length specifies the maximum number of characters (letters, numbers and symbols) that can be typed in the field. This is to ensure that the form user does not type in more than what can be displayed. • Size determines how many visible characters the field can have. By“visible”we mean that which can be displayed and can be seen by the form user. • Readonly prevents form users from making changes to the element. • Display field as label when readonly? displays the value of the text field as plain text when the element is set to“Readonly”. 49
  • 57. Figure 5-10. EditTextField • Validator checks and ensures that the form user has typed the required information in the text field for the form to be completed and before it is allowed to be submitted. Figure 5-11. ChooseValidator • Mandatory means that the form user needs to complete the field to be able to successfully submit the form. 50
  • 58. • Type is the format or pattern that a form user should follow when entering text in the text field, for validation purposes. The Type list includes Alphabet, Alphanumeric, Numeric, Email and Custom Regular Expression. • Custom Regular Expression the format that you select if preferred Type is not Alphabet, Alphanumeric, Numeric or Email and you want to specify your own • Custom Error Message Shown When Validation Fails the message displayed when a form user entered text that does not follow the selected Type or custom regular expression Figure 5-12. ConfigureValidator Add a Date Picker Element • Drag Date Picker from the Element palette to the design pane. • Move your mouse anywhere near Date Picker. You will see 2 buttons pop up --- Edit and Delete. • Click on Edit to bring up the property editor. Figure 5-13. AddingaDatePicker 51
  • 59. • Type startDate in the ID field. • Type Start Date in the Label field. Click on Next. Figure 5-14. EditDatePicker • Select Default Validator in the Validator drop-down list. Figure 5-15. ChooseValidator • Click on Next. You’ll see a check mark beside“Mandatory”in the Configure Validator window. 52
  • 60. Figure 5-16. ConfigureValidator • Click on OK. This will close the property editor. Follow the same steps to add another Date Picker element using endDate as ID and End Date as Label. Exploring the Date Picker Property Editor • ID is a set of characters that is explicitly linked to the Label tag. IDs are unique within a form. • Label the name that you assign to the date picker field • Value the text that is automatically displayed in the date picker field; you can use, for example, Select. If there is no specified value, then you will see a blank field. • Format lets you display date feedback in different ways, for example dd/mm/yy and yy-mm-dd. • Date Picker Year Range controls which years are shown in the date picker. • Readonly prevents form users from making changes to the element. • Display field as label when readonly? displays the value of the date picker as plain text when the element is set to“Readonly”. • Validator checks and ensures that the form user has selected a date in the date picker for the form to be completed. • Mandatory means that the form user needs to choose a date to be able to successfully submit the form. • Custom Regular Expression the format that you select if preferred Type is not Alphabet, Alphanumeric, Numeric or Email and you want to specify your own • Custom Error Message Shown When Validation Fails the message displayed when a form user does not follow the selected Type or custom regular expression Add a Text Area • Drag Text Area from the Element palette to the design pane. • Move your mouse anywhere near Text Area. You will see 2 buttons pop up --- Edit and Delete. 53
  • 61. • Click on Edit to bring up the property editor. Figure 5-17. AddTextArea • Type reason in the ID field. • Type Reason in the Label field. Click on Next. Figure 5-18. EditTextArea • Select Default Validator from the Validator drop-down list. 54
  • 62. Figure 5-19. ChooseValidator • Click on Next. You’ll see a check mark beside“Mandatory”in the Configure Validator window. • Click on OK. This will close the property editor. Figure 5-20. ConfigureValidator Exploring the Text Area Property Editor • ID is a set of characters that is explicitly linked to the Label tag. IDs are unique within a form. • Label the name that you assign to the text area • Value the text that is automatically displayed in the text area; you can use, for example, Enter. If there is no specified value, then you will see a blank area. • Cols specifies how many columns you want in the text area. 55
  • 63. • Rows specifies how many rows you want in the text area. • Readonly prevents form users from making changes to the element. • Display field as label when readonly? displays the value of the text area as plain text when the element is set to“Readonly”. • Validator checks and ensures that the form user has typed the required information in the text area for the form to be completed and before it is allowed to be submitted. • Mandatory means that the form user needs to complete the field to be able to successfully submit the form. • Type is the format or pattern that a form user should follow when entering text in the text area, for validation purposes. The Type list includes Alphabet, Alphanumeric, Numeric, Email and Custom Regular Expression. • Custom Regular Expression the format that you select if preferred Type is not Alphabet, Alphanumeric, Numeric or Email and you want to specify your own • Custom Error Message Shown When Validation Fails the message displayed when a form user entered text that does not follow the selected Type or custom regular expression When you have finished adding all the form elements that you need, click on Preview in the Form Builder menu to see how the form looks like. To save the form, click on Save. This is how your Leave Application Form should look like: Figure 5-21. LeaveApplicationForm Let’s create another form! To begin designing the Leave Approval Form, click on Create New Form again and type the following under Form Details: Form ID leaveApprovalForm Form Name Leave Approval Form Table Name hr_leave • Click on Save to launch Form Builder. 56
  • 64. Follow these steps to rename Section: • Move your mouse anywhere in the section area in the design pane. You will see 5 buttons pop up --- Add Section, Add Column, Edit Section, Delete Section and Edit Column. • Click on Edit Section to bring up the property editor. • Type Leave Approval in the Label field. • Click on OK. This will close the property editor. Add a SubForm Element • Drag SubForm from the Element palette to the design pane. • Move your mouse anywhere near SubForm. You will see 2 buttons pop up --- Edit and Delete. • Click on Edit to bring up the property editor. • Type leaveApplication in the ID field. Leave the Label field blank. • Select Leave Application Form in the Form drop-down list. • Tick the Readonly checkbox. • Click on Choose Load Binder in the Edit SubForm menu. Figure 5-22. EditSubform • Select Workflow Form Binder in the Load Binder drop-down list. Click on Next. 57
  • 65. Figure 5-23. ChooseLoadBinder • Select Workflow Form Binder in the Store Binder drop-down list. Figure 5-24. ChooseStoreBinder • Click on OK. This will close the property editor. We will now add another Section to the form. Remember the 5 buttons that pop up whenever you move your mouse anywhere near Section in the design pane? Go back there and click on the Add Section button to add our second section. Figure 5-25. AddingAnotherSection Then click on Edit Section to bring up the property editor. Type Approver Action in the Label field, then click on OK to close the property editor. 58
  • 66. Figure 5-26. EditSection Add a SelectBox Element • Drag SelectBox from the Element palette to the design pane in the Approver Action section. • Move your mouse anywhere near SelectBox. You will see 2 buttons pop up --- Edit and Delete. • Click on Edit to bring up the property editor. • Type status in the ID field. • Type Status in the Label field. • Add 3 rows to the Options table by clicking on the + button thrice. • Complete Value and Label for the 3 rows, like this: Figure 5-27. EditSelectBox 59
  • 67. TheValue column in the Options table contains the value of the workflow variable“status”that we had set earlier inWorkflow Designer. Type it the way it is typed in theTransition property dialog box, without the single quotation marks. Figure 5-28. WorkflowDesignerTransitionSettings • Click on Choose Validator in the property editor menu. Figure 5-29. ChooseValidator • Select Default Validator from the Validator drop-down list. Figure 5-30. SelectDefaultValidator • Click on Next. You will see a check mark in the Mandatory checkbox. 60
  • 68. Figure 5-31. ConfigureValidator • Click on Next. • Type status in the Workflow Variable field. Figure 5-32. SelectBoxWorkflowVariable • Click on OK. The property editor will close. Add a Text Area • Drag Text Area from the Element palette to the design pane, under the Status select box in the Approver Action section. • Move your mouse anywhere near Text Area. You will see 2 buttons pop up --- Edit and Delete. • Click on Edit to bring up the property editor. • Type remarks in the ID field. • Type Approver Remarks in the Label field. • The column number is automatically set to 20 and the row to 5. Figure 5-33. TextAreaPropertyEditor • Click on OK. This will close the property editor. 61
  • 69. To save the form, click on Save in the Form Builder menu and then click on OK to confirm. Figure 5-34. LeaveApprovalForm Close Form Builder and return to the app management page in your web console to begin mapping activities to forms. Refer to Chapter 4 for a step-by-step guide on Mapping Activities to Forms. 62
  • 70. Chapter 6 Using the Datalist Builder Create Datalists the Way You Want to See Them Joget Workflow’s Form Builder, Datalist Builder and Userview Builder share a lot of the basic interface. You drag and drop elements from the Element palette to the design pane to create the layout and to add tools for performing specific tasks. You set properties using property editors. You preview. You save. In Datalist Builder, you can enter data in rows and columns by linking a form to the list. The list is then updated progressively each time the form is completed. Creating a Datalist For this example, we will build a datalist by linking it to the Leave Application Form that we created in the previous chapter. Make sure that you are in the Leave App management page of your web console before you begin. • Click on Lists in the sidebar of the Leave App management page. • Click on Create New Datalist. Figure 6-1. CreateNewDatalist • Under Datalist Details, type leaveApplicationList in the ID field. • Type Leave Application List in the Name field. 63
  • 71. Figure 6-2. EnteringDatalistDetails • Click on Save. This will start the Datalist Builder and bring up the Select Binder window. Selecting a Form to Link to the Datalist For a datalist to know where to fetch information from, you have to specify which form you would like it to take the data from. In other words, assign a binder. • Under Select Binder, select Form Data Binder in the Select Source of Data (Binder) list. Figure 6-3. SelectingtheSourceofData 64
  • 72. • Click on Next. • Select Leave Application Form in the Form list under the Select Form tab. Figure 6-4. SelectingaForm • Click on OK. This will launch the Datalist Builder. Datalist Builder includes tools that let you add columns, define filters and specify actions. Let’s begin with columns. Adding Columns to the Layout In Datalist Builder, you will see that the Element palette contains Columns/Filters as well as Actions, and that column/filter elements are taken from the table (hr_leave) that we assigned to the Leave Application Form when we were in Form Builder (Chapter 5). Let’s add 3 columns to our Leave Application List by dragging the following from the Columns/Filters element palette to the design pane where it says“Drag Columns Here”: • Name • Start Date • End Date 65
  • 73. Figure 6-5. ColumnsAdded A table can have more than one form assigned to it. In our Leave App example, table hr_leave has 2 forms assigned to it --- the Leave Application Form and Leave Approval Form. Columns/Filters items that are written in regular text are field names taken from the selected form. In this example, the selected form is Leave Application Form. Columns/Filters items that are written in italicizedtext are items that are in the table assigned to the form, but not in the form itself. You can rearrange columns with a simple drag-and-drop move. Defining Column Properties If you point your mouse over the column names, you will see the Properties and Delete buttons pop up. Figure 6-6. ColumnPropertiesandDeleteButtons Follow these steps for each of the column names (Name, Start Date, End Date): 66
  • 74. • Click on Properties to bring up the Property Editor. • Change the name in the Label field if you wish to another name to be displayed. • Set Sortable to Yes. Figure 6-7. ColumnPropertyEditor • Click on OK to close the property editor. Adding Actions An action allows you to link a datalist item to a predefined action, script or executable. There are 2 types of datalist actions: • Hyperlink • Delete Follow these steps to add a Hyperlink action and set its properties: 67
  • 75. • Drag Hyperlink from the Element palette to the design pane where it says“Drag Row Actions Here”. Figure 6-8. AddingaHyperlinkAction • If you point your mouse over Hyperlink, you will see the Edit and Delete buttons pop up. Click on Edit. This will bring up the property editor where you can configure the link. Figure 6-9. HyperlinkEditButton • Type application_new in the Hyperlink field. In the next chapter, we will build a userview using Joget’s Userview Builder. You will see then that the hyperlink“application_new”points to a new leave application file or form. More on this in our Userview Builder chapter. • Set Hyperlink Target to Current Window. 68
  • 76. • Type id as Column Name. This column is the column that pertains to the value given in the Hyperlink Parameter Name. • Type New Application in the Label field. Label is the row action name that the column displays. Figure 6-10. HyperlinkActionPropertyEditor • Click on OK. The property editor will close. 69
  • 77. Delete Action Explained The Delete action allows you to erase the database record of a matching record ID. You set its properties by completing these fields in the property editor: • Label is the row action that the column displays. • Form ID is the form table that will perform the delete action. • Confirmation Message is the verification message displayed before deleting the record. Setting Filters These are the types of filters you can use when building a datalist: • Text Field Filter lets you type a search criteria when you want to look for information. For this example, drag Name from the Element palette to the design pane where it says “Drag Filters Here”. Figure 6-11. AddingaTextFieldFilter Then follow these steps to set the filter properties: • Point your mouse over Name; you will see the Edit and Delete buttons pop up. Figure 6-12. TextFieldFilterEditButton 70
  • 78. • Click on Edit. This will bring up the property editor where you’ll see name in the Name field and Name in the Label field. You’ll also see that Text Field is automatically selected for you in the Type list. Text Field is the default filter. Figure 6-13. ConfiguringTextFieldFilterProperties • Click on OK. The property editor will close. • Select Box Filter lets you find information based on a selection. For this example, add status to the design pane the same way you added the Name text field filter. Set the filter properties by clicking on the Edit button to bring up the property editor. You’ll see status in the Name field. • Change“status”in the Label field to All Status. • Select Select Box in the Type list. Figure 6-14. SelectBoxFilterinTypeDrop-downList • Click on Next to configure the select box filter. • Leave the Multiple Selection check box and the Size and Default Value fields blank. • In the Options table, add 2 rows by clicking on the “+”button twice. Then, type the values and labels as follows: 71
  • 79. Figure 6-15. SelectBoxFilterPropertyEditor • Click on OK to close the property editor. Remember to preview your datalist before saving it. Figure 6-16. CompletedLeaveApplicationList 72
  • 80. Chapter 7 Putting It All Together with Userview Builder Building User Interfaces Userview, also known as front-end or user interface, wraps your app’s processes, forms and datalists. It plays a crucial role in determining how easily a user can make your app do the work you built it to do. Joget Workflow’s Userview Builder does not only let you build a user interface. It also lets you build a full-fledged process app without having to diagram a workflow in Workflow Designer or write a single programming code! It comes with preloaded themes and, for the more adventurous, the ability to customize themes. It provides tools for organizing tasks in hierarchical structure to make completing processes easier and more manageable. Key Areas of Userview Builder Before we start filling our userview, here’s a look-see of the Userview Builder interface and its features. Quick Selector lets you switch easily between forms, lists and userviews. Main Menu contains tasks and options to guide you through your design. Element Palette contains tools for adding content. Design Pane is the space where you drag and drop elements when building userviews. Your Userview Builder Toolbox Form allows users to interact with other app users through the use of forms. HTML Page allows you to design what is called the front page, landing page, home page or starting point of a userview. Inbox stores incoming and pending tasks. Link lets a user open another document from within the userview itself. 73
  • 81. List allows a datalist to be integrated in userview. Run Process provides a means for a process instance to be started from within the userview. Building a Userview We will now build a basic userview for our sample Leave App. Make sure that you are in the Leave App management page of your web console. Create New Userview • Click on Userview in the left sidebar, then click on Create New Userview. Figure 7-1. CreateNewUserview • In the Create New Userview dialog box, complete Userview Details as follows: ID: leavePortal Name: Leave Portal 74
  • 82. Figure 7-2. CompletingtheUserviewDetails • Click on Save. This will launch Userview Builder. Add a New Category • Put your mouse over Menu in the design pane; you’ll see the Add Category button pop up. Click on it to add a category. Figure 7-3. AddCategoryButton • Put your mouse over New Category; you’ll see the Edit Label, Permission and Delete Category buttons pop up. Click on Edit Label. 75
  • 83. Figure 7-4. ChangingtheNewCategoryName • Type Main in place of“New Category”. You can click anywhere in the design pane or press the Enter key on your keyboard to close the Edit Label box. Add an HTML Page • Drag HTML Page from the Element palette to the design pane, under Main. Figure 7-5. AddinganHTMLPage 76
  • 84. Userview always loads the first item under Menu. For our sample Leave Portal, the first item is an HTML page which will serve as the userview landing page. • Put your mouse over HTML Page; you’ll see the Properties and Delete Menu buttons pop up. Click on Properties to bring up the Edit HTML Page dialog box. Figure 7-6. HTMLPagePropertiesButton • Complete the fields as follows: Custom ID: home Label: Home Content pane: Welcome to the Leave Portal. Figure 7-7. EditingtheHTMLPage • Click on OK to close the Edit HTML Page dialog box. Add an Inbox • Add another new category by clicking on the Add Category button found along Menu. 77
  • 85. • Edit the New Category label by clicking on the Edit Label button found along New Category and typing Leave Applications in place of“New Category”. • Drag Inbox from the Element palette to the design pane, under Leave Applications. • Put your mouse over Inbox; you’ll see the Properties and Delete Menu buttons pop up. Click on Properties to bring up the Edit Inbox dialog box. • Complete the fields as follows: Custom ID: inbox Label: Inbox • Select All Assignments in the Assignments to Display list. • Select Leave Application Process in the Process list. Figure 7-8. SettingInboxProperties • Click on OK. The Edit Inbox dialog box will close. Add a Form • Drag Form from the Element palette to the design pane, under Leave Applications. • Put your mouse over Form; you’ll see the Properties and Delete Menu buttons pop up. Click on Properties to bring up the Edit Form dialog box. • Complete the fields as follows: Custom ID: application_new Label: New Application • Select Leave Application Form in the Form list. • Leave Show in popup dialog?, Readonly? and Display field as Label when readonly? boxes unchecked. 78
  • 86. Figure 7-9. EditFormDialogBox • Click on Next. Under Redirection, complete the fields as follows: Message Shown After Form Submission: Application updated. URL Redirect After Form Submission: application_list URL Redirect on Cancellation: application_list • Select Top Window in the Redirect Target on Cancellation list. • Select Append to URL in the Field Value Passover Method list. Figure 7-10. Redirection • Click on OK. The dialog box will close. 79
  • 87. Add a List • Drag List from the Element palette to the design pane, under Leave Applications. • Put your mouse over List; you’ll see the Properties and Delete Menu buttons pop up. Click on Properties to bring up the Edit List dialog box. • Complete the fields as follows: Custom ID: application_list Label: Application List • Select Leave Application List in the List list. Click on Next. Figure 7-11. EditingtheApplicationList • Under UI, set the following: Put a check mark in the Show Number of Rows in Menu box. Button Position: Bottom Left Selection Type: Multiple Selector Position: Left • Click on OK. The Edit List dialog box will close. 80
  • 88. Figure 7-12. ConfiguringtheUI Add a Run Process Element • Drag Run Process from the Element palette to the design pane, under Leave Applications. • Put your mouse over Run Process; you’ll see the Properties and Delete Menu buttons pop up. Click on Properties to bring up the Edit Run Process dialog box. • Complete the fields as follows: Custom ID: leaveProcess Label: Apply Leave • Select Leave Application Process in the Process list. • Leave Run process without confirmation screen? and Show in popup dialog? boxes unchecked. Figure 7-13. EditingtheRunProcessElement 81
  • 89. • Click on OK. The Edit Run Process dialog box will close. Set Userview Theme • Click on Setting in the main menu of Userview Builder. Figure 7-14. Theme&PermissionSettingsTab • Select a theme in the Theme list. Figure 7-15. ThemeDrop-downList • Click on OK. Figure 7-16. PreviewofUserview Remember to preview and then save your userview before closing the Userview Builder. 82
  • 90. Chapter 8 Test-Drive Your Process This is the part where you roll up your sleeves and test-drive your first app. Before you test your process, make sure that you have assigned your users’passwords. If you have not done so, follow these steps: Go to Setup Users. Select ABC Co. in the Filter By Organization drop-down list and click on Brad. Click on Edit User. Assign a password and confirm by re-typing it in the Confirm Password text field before clicking on Save. Repeat the same steps for Jane. Let’s Run the Process! As Brad is our applicant, you can begin to run the process by logging out of the admin web console then logging in as Brad. Make sure that you enter the correct password. • Go to Run Apps then click on Published Processes in the drop-down list. 83
  • 91. Figure 8-1. RunApps • Click on the Launch button for Leave App under Published Processes. Figure 8-2. PublishedProcesses • Click on Run Process to confirm that you want to run the process. Figure 8-3. RunProcessConfirmationBox • Complete the Leave Application and then submit it by clicking on Complete. To submit later, click on Save as Draft. 84
  • 92. Figure 8-4. SubmitCompletedLeaveApplicationForm The calendar widget enables a user to select dates when using the Date Picker element. Click on the calendar icon to expand it. Remember that an asterisk (*) denotes a required field. Brad’s HOD, Jane, will now have to approve his leave application. For Jane to attend to the process: • Logout of Brad’s web console and login as Jane where you can check for tasks in her Inbox. Figure 8-5. Jane’sInboxandPendingTask • Click on the activity name Approve Leave to open the task. This will bring up the Leave Approval Form. 85
  • 93. Figure 8-6. LeaveApprovalForm • Complete the form by choosing Approved from the Status list and adding remarks (if any). • Submit the form by clicking on Complete. Check if the routing worked correctly by logging out of Jane’s web console and logging in as Brad to check his Inbox. You should see“Approved”under Activity Name. 86
  • 94. Chapter 9 Joget Places Joget Workflow Community Knowledge Base is a collection of useful information about Joget Workflow. You’ll find it at http://dev.joget.org/community/ display/KB/Joget+Workflow+Community+Knowledge +Base where you can sign up to be a member in order to browse and contribute tips and relevant know-how. You can also visit the Forum to watch or join discussions as members share Joget-relevant questions, answers, views and ideas. To join the Joget community: • Click on Sign Up on the upper right portion of the page. Figure 9-1. JogetWorkflowCommunityKnowledgeBase • Complete the Sign Up for Confluence form then click on the Sign up button to submit. 87
  • 95. Figure 9-2. SignUpforConfluence Joget Marketplace offers a variety of plugins and ready-to-customize process templates for your everyday business needs, in just a few mouse clicks. No bothersome steps and lengthy sales gabbing so you get your work done without delay! Visit http://marketplace.joget.org to find out more. Figure 9-3. GettingStartedwithJogetMarketplace 88
  • 96. Joget Unplugged is where Jogetians share their insights on Joget Workflow. Follow them at blog.joget.org to keep abreast of the latest buzz. Figure 9-4. JogetUnplugged 89
  • 97. GLOSSARY A activity a form-based action or task that a participant does AJAX (Asynchronous Javascript and XML) a term used when several technologies are used together allowing for quick updates without reloading the browser AJAX subform an AJAX form within a form app a program or software designed to accomplish a specific purpose audit trail a record of information listed in a logical path linking a series of activities auto populate to automatically fill in with data B Bean Shell a free embeddable Java scripting language binder holds and keeps pieces of information synchronised so that when one is changed, the rest are automatically updated browser a graphical user interface for displaying and navigating webpages C calculation field a form field where arithmetic computations involving other fields can be done checkbox a clickable box found in graphical user interfaces and which is used to turn an option on or off child form a form found within a multi-paged form command an instruction to perform a specific task command prompt a symbol on a display screen awaiting a command input command line the line on the display screen where a command is expected condition a situation that must exist before something else is possible or allowed CRUD (Create Read Update Delete) allows you to build and manage records in Userview CSS (Cascading Style Sheets) a feature added to HTML that determines how elements such as headers, footers and links are displayed CSV (Comma-separated Values) format used for representing data CSV import enables one to transfer bulk data from one file into a form table 90
  • 98. D database a structured set of information datalist information displayed in list order datalist inbox inbox that contains form data data migration the process of putting data from one format to another datasource a name given to the connection set up to the database from a server date picker a drop-down calendar for selecting a date deadline limit the latest time or date by which an activity should be completed default a preselected option when no alternative is specified by the user default formatter allows you to apply standard formatting to objects, such as text department options binder enables a return of the list of departments based on the organisation deploy to put into action destination folder a user-specified folder to which the setup Joget Workflow program will be installed directory an organizational unit that contains files in hierarchical structure directory user someone who has access to the directory directory user form binder an option under Store Form Binder that allows you to create a user in the user directory with a form created in Form Builder duplicate value validator checks for and prevents identical values duration unit the measure of time during which something continues E element an entity that is a single member of a set element palette a range of elements available to the user end bubble indicates where the process finishes environment variable value given to a parameter or setting that is frequently or repeatedly used within the app 91
  • 99. equal value validator allows you to verify that the values of two fields match before submitting a form exception a condition, often an error, which causes an activity to branch out to a new activity F field a space allocated for a specific information field value passover method determines how a redirect URL is formed file upload allows one to attach a file to a form filter limits the criteria through which data is passed or sorted for a list foreign key a key (or key field) that identifies records in a different table form a document with blank fields to be filled in (with data) Form Builder enables one to design forms with the use of a simple and guided interface formatter allows you to set the properties of an object, such as text, displayed on the computer screen form options binder allows you to fill in form data based on an organisation chart form selection dialog a window that appears on a display screen requesting for the user to choose a form front-end interface enables a user to communicate with and access other parts of a program G grid a series of vertical and horizontal blocks of spaces group users put together under the same functional role within an organization group options binder enables a return of the list of groups based on organisation H hash a unique numeric value commonly used for accessing data hash variable a hash that may take on more than one value during process execution (runtime) hidden field a general HTML form input element that allows one to set values that are out of view host a remote computer system that contains the data being accessed by another remote computer connected to it by modems and telephone lines 92
  • 100. HTML (HyperText Markup Language) a standardised system for creating text files to achieve font, colour, graphic and hyperlink effects on web pages hyperlink allows you to jump from the current document to another document on your computer, network or the Internet hyperlink action allows the user to create a hyperlink between documents or parts of a document hyperlink parameter name name of the parameter to be added at the end of the hyperlink hyperlink target the way or type of location where you want the hyperlink to open (ex: current window, new window) I ID generator field used to create numbers that continue to run in sequence image upload used for attaching picture files to a form installer a specialised program that puts software on a computer J Jasper reports an open source Java reporting tool Jasper reports definition (JRXML) source code for Jasper reports Java a general purpose programming language with several features that make it ideal for use on the World Wide Web JDBC (Java Database Connectivity) allows Java programs to access database management systems JDBC datalist database binder JSON (JavaScript Object Notation) a simple, language independent text file format for representing data K key a field that you use to sort data (also called key field or index) L launch to start a computer program LDAP (Lightweight Directory Acesss Protocol) an agreed format for transferring data between two devices Linux an open-source operating system 93
  • 101. load binder where to copy and transfer data from locale a set of information specific to a a given language and country or geographical location M mandatory required to be completed map to associate an element in a set with an element in another set MS SQL Server software whose main function is to keep and fetch data as required by other software applications multi row form binder enables one to save data taken from a series of vertical and horizontal blocks of spaces, into a table multi paged form allows one to build a single form containing several other forms multi select box allows one to choose several items at once from a list of options MySQL an open source relational database management system used for adding, removing, modifying and updating information in the database N O option a choice in a menu, dialog box, checkbox options binder used for filling in options Oracle a software company whose primary business is database products organisation options binder enables a return of the list of organisations P parameter a characteristic that defines an element parent form the form to which a child form is linked participant a user or system that takes part in a process password a string of characters used for verifying the identity of a user password field the space allocated for entering a password permission type determines which activities will be displayed under a user's Userview Activity placeholder similar to a dummy text which fills an empty field until the real text is placed in plugin a software extension that adds capabilities to an app 94
  • 102. popup select box allows one to choose from a datalist instead of the common horizontal menu that displays a list of options preview to view something for checking before it is made available process a series of interdependent activities taken to accomplish a desired result process deadline checker interval how often an activity is checked for completion properties attributes related to a a given data or data structure protocol a set of rules defining a format publish an app to make an app's processes and userviews available to all users Q query a request for information from a database query language a specialised system for requesting information from a database R radio a small round area in a form that you can use to click to choose an option read-only capable of being displayed, but not modified or deleted redirect target the location or specified path after a form submission refNo (Reference No.) an example of an environment variable name relational database management system the most commonly used database format return to display the results of the searched information routing the process of directing information along a specified path from starting point (source) to target (destination) row actions allows one to associate a horizontal group of cells or boxes to an available predefined task (such as Delete and Hyperlink) row validation ensures that data entered in a horizontal group of cells or boxes are correct S schema database system structure that defines the behaviour of and the relationships between tables and fields script an automated series of instructions carried out in a specific order server a computer that manages access to a centralised resource or service in a network 95
  • 103. SLA (Service Level Agreement) limit agreed time limit for delivering a service or a solution to an incident SQL (Structured Query Language) a standard query language used by data management systems for retrieving and modifying information in a database SQL chart allows you to customise your own SQL query when making reports in the form of tables, graphs or diagrams SQL query enables one to create and run queries using SQL status the situation at a particular time during a process start bubble indicates where the process begins store binder the location for retaining or entering data for future retrieval subflow a process within a process subform a form within a form suite a set of programs with a uniform design and the ability to share data T table data arranged and stored in rows and columns target a file or location to which data is copied or transferred TCP/IP a suite of communications protocols used to connect hosts in the Internet terminal window a display for entering data or commands and received output text area section used for text input in forms text field space used for text input in forms thumbnail a small picture of an image or page layout that represents the larger original time zone an area where a common standard time is used tool a system-related activity transition the path between two elements, such as between two activities U universal inbox shows all queued tasks across the process app URL (Uniform Resource Locator) the address of a World Wide Web page 96
  • 104. URL redirect the web page that will open after form submission URL redirect value passover the form field value to be used as part of a URL redirect user one who is given a unique account to login and participate in the Joget process app UI (User Interface) the means by which a user and a computer system interact user options binder enables a return of the list of users based on organisation, department and group user profile information about a user such as username, password and email address username a name used by a participant to gain access to a Joget process app userview front end interface [also "UI"] userview key serves as a placeholder for a common value to be used when setting the limits of contents to a certain category or attribute userview key name determines the form field ID where the userview key value will be taken from V validation ensures that data entered is correct validator verifies that data entered falls within specified standards or conditions value the computer representation of a piece of information variable a data item that may take on more than one value during process execution (runtime) W wizard a help feature of a software package that automates complex tasks by asking the user a series of easy-to-answer questions workflow a series of processes through which an action passes from initiation (start) to completion (finish) X XPDL (XML Process Definition Language) enables workflow management and business processes to exchange and use information Y Z zip a file that was compressed so that it takes less space in storage 97
  • 105. 98