Versions Compared

Key

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

Objective

Create two User Decision Forms:

  1. Use the first form to select a person for leave approval.

  2. Create the second form for the approver to approve the leaves.

Credentials:

User ID: Test

Password: P@$$w0rd

  1. Start the 20331B-NYC-DC-05 virtual machine. Wait for the virtual machine to display the Desktop.

  2. On your Desktop, Right-click Workflow Studio (WFS), and then click Run as administrator.

  3. Wait for WFS to start and enter your credentials.

  1. In Solution Explorer, right-click on the Developer Packages folder, create a new folder called DemoLabs, and click the Ok button.

  1. Add New Folder dialog box will appear from it; select the following options

  • User Interface > Lookup Control

  • User Interface > Forms

  • User Interface > UI Pages

  • Workflows > Applications

And click the Ok button.

  1. Expand the Developer Packages folder, find the DemoLabs folder, expand it under the DemoLabs folder, expand the User Interface folder, right-click on the Forms folder, hover your mouse on the New User Interface option and Click on Form.

  1. Wait for the Form designer to be loaded.

  2. After loading the Form Designer, navigate to the Properties tab. From there, change the 'Form Type’ to UserDecision and set 'ShowComments' to True

  1. Click on the Save button to save your Form and give it the name VacationRequestForm.

  2. Give your section name Vacation Request

  3. Right-click on the Form Data then click on Add Object and go to Rbac Components tab from there select the Person component and click on Add button.

  1. Double-click on Person1 and rename it to TargetApprover only.

  2. Now expand the TargetApprover and drag and drop the PersonID (Rename it to Approver’s Name)

  3. Next, right click on the Approver’s Name text box then click on the Edit option. This action will open the Field Configuration dialog box. From there go to Control Types tab and choose the PersonAutoComplete control. Now proceed the Standard Properties tab and check the Enable Dialog and Populate Autocomplete Object checkboxes and click on the Ok button.

  1. Now your form will resemble the image below.

  1. Publish your Form. After publishing, allow the Workflow Studio to restart. This will generate a Form Activity.

  2. On your newly created Form go to the Properties tab. From there, change the 'Form Type’ to UserDecision and set 'ShowComments' to True

  1. Click on the Save button to save your Form and give it the name VacationApprovalForm.

  2. Give your section name Requestor Info

  3. Now go to Approval Decisions and from there enable the Approved and Rejected buttons.

  4. Right-click on the Form Data then click on Add Object and go to Rbac Components tab from there select the Person component and click on Add button.

  1. Double-click on Person1 and rename it to TargetRequestor only.

  2. Now expand the TargetRequestor and drag and drop the following fields/columns on the Form Designer.

  • FirstName

  • Last Name

  • Email

  • Friendly Name

  • Company

  • Title

  1. Now right click on all the fields one by one and set IsRead only.

  2. Now your Form will look like this one in the below image.

  3. Publish your Form. After publishing, allow the Workflow Studio to restart. This will generate a Form Activity.

  4. Expand the Developer Packages folder, find the DemoLabs folder expand it under the DemoLabs folder, expand the Workflows folder right click on the Applications folder, hover your mouse on the New Workflow option and Click on Flow Chart Workflow

  1. Wait for the Workflow Designer Pane to be loaded. Once loaded, click on the save button to save your workflow.

  1. Give your workflow a name in this case RequestVacationWF.

  2. Once saved, drag and drop your Form control activity onto the designer pane of Workflow.

  3. First drag and drop the Vacation Request Form and then Vacation Approval Form onto the designer pane of Workflow.

  4. Select the Vacation Request Form, and in its Name property, write RequestVacationForm. In its 'Description property, write Request Vacation.

    Image Added
  5. Select the Vacation Approval Form, and in its Name property, write ApprovalVacationRequestForm. In its Description property, write Approval Form.

    Image Added
  6. Right-click anywhere on the Workflow Designer pane and select the 'Workflow Business Rules' option. This action will open a Workflow Business Rules dialog box. In the Name textbox, enter IsDecisionApprove_Rule and click the Add button.

Image Added

Image Added

  1. Now double click on the IsDecisionApprove_Rule, and it will generate a class. Go to its Evaluate method and write the below code.

    Code Block
    return CurrentWorkflow.ApprovalVacationRequestForm.FormDecision == E.BusinessProcessTaskSlotResponseTypeList.Approved;
    Image Added

In the above code, ensure that you provide the name of your Form. In my case, the name was ApprovalVacationRequestForm. If it had been different, I would have used that name.

  1. Now that we have both Forms and Business Rule on our workflow designer pane, it's time to connect them with lines. Connect them with lines as shown in the image below.

    Image Added
  2. Select the line coming out from the bottom of second Form Activity, right-click on it, and choose Select Line Rule. From the Select Rule dialog box, select the rule we have created and click the OK button.

Image Added
Image Added

  1. Repeat the same process for the line coming out from the left of your second activity. But this time, after selecting the rule, also check the If Rule Not True checkbox and Click Ok button.

Image Added

Image Added

  1. This is how your workflow will look. Please refer to the image below.

    Image Added
  2. Now it's time to perform the binding so that we can transfer data from our first form to the second form, and in case of rejection, pass the data back to the first form.

  3. First, bind the workflow initiator to the DesignatedPersonApprover property of the first form, which is RequestVacationForm. Then, in the DesignatedPersonApprover property of the second form, which is ApprovalVacationRequestForm, pass the TargetApprover from the 'RequestVacationForm.

  4. Now bind the workflow initiator with the TargetRequestor for second form which is ApprovalVacationRequest form.

Image Added
Image Added

  1. Now it's time to publish your workflow. Once it's published, go to the EmpowerID web UI. From there, publish this workflow as well as the two other forms we have created.

  2. In order to test this workflow, you need two users. one user for creating the request and the other user who will approve the request.