...
Section | ||||||
---|---|---|---|---|---|---|
What You Will Need
Step 1: Create Roles and UsersIn order to design and test the flow, you need to create a role called employee and 3 users. The role will be used to control who can start a quote request. The following user accounts are also required:
A user is not needed for the vendor. Roles can only be created by the tenant administrator. The steps are:
Manage Tenant Page Create Role Page Users can also only be created by the tenant administrator. The steps are:
Create User Screen Example (for the employee user) Create User Example (for the designer) You should now have a designer, manager and employee user (with the employee role) and a reporting relationship defined between the manager and the employee. Step 2: Create the Workflow Now it is time to create the workflow. Login to your tenant as the designer user. Workflows are always contained within a frevvo application. From the Applications page you can either click Edit on an existing application or click the New button in the upper right hand corner to create a new application. Once you are in the application, click on Flows in the navigation bar on the left side. Finally click the New button in the upper right-hand corner. You will be in the flow designer now. Enter Vendor Quote for the flow name property on the left. The flow will consist of 4 activitiessteps:
Start by dragging a single form activity step on to the flow designer workspace and then an email activity step directly below it. We will add the rest of the steps later. Click on the 1st form activity step and set the Name to “Employee”. Click on the 2nd activity step and change the name to ‘Send to Vendor’. Step 3: Build the FormFor this workflow, we are going to design the entire form layout as part of the first step. We will then use the linked activity step feature of frevvo and business rules to customize the view based on which activity step is being performed. The steps are:
The layout of the form consists of 5 components:
Drag and drop the various controls on your form, name the fields and give them labels so that the form looks something like the following: The form you create does not have to look exactly like the picture above. Using the form designer is out of scope for this tutorial so it will focus only on features relevant to this particular workflow. For more detailed instructions on designing forms, go here. When you are happy with the way the form looks, click on the Manager section of the form and uncheck the Visible property. We will handle enabling this section in the last step of the setup. Step 4: Employee InfoFirst we will work with the fields designed to capture information about the user initiating the work flow:
The first 3 fields should be visible but disabled as we can determine these values automatically and don’t need to enter them manually or changed by someone using the workflow. Select each control and then uncheck Enabled in the Settings section under Properties on the left side of the designer. The Employee Manager field should be hidden so uncheck Visible for that control. Next we need to initialize these values with a business rule:
The first if statement makes sure that the logic only executes once when the form is initialized. The second if statement makes sure the values are only set once. If they have been set already, we leave them alone. Click the save toolbar button on the right to save the flow so we can test it out. You should be back in the flow designer at this point. Click save again to get back to the flow list. Click Test and verify that first name, last name and email are being populated correctly. Form Designer Toolbar (rule button highlighted) Create Rule Step 5: Vendor SectionNow let’s set up the part of the workflow that the vendor is going to use. The form should contain a field called VendorEmail. The employee will need to enter this so frevvo knows where to send the email for the next step. Let’s enforce this by going into the form designer for the first step and making VendorEmail required:
Next we need to configure the flow so that step 2 uses the the email address entered into the VendorEmail control:
The usage of the curly brace syntax is used throughout frevvo as a shorthand to get a given control’s value. Finally we need the vendor to see everything that the employee entered in the first step. Rather than create a second form for this, we’ll used the linked activity step feature to create an activity step for the vendor that is derived from (or linked to) the form in the first activitystep:
You will see a new activity step inserted into the flow between the Employee activity step and the Email activitystep. Linked activities steps are denoted by a dashed border. Finally this activity step needs to be performed after the email step so drag the new activity step below the email address. Step 6: Changing Form Behavior Based On The StepThe same information is needed for both the employee and vendor steps however we don’t want the Vendor changing data that the employee entered. Come to think of it, we don’t even want or need the employee to see the section that the vendor has to fill out. This can be accomplished with a minor modification to our initialize rule:
The updated rule first figures out the current activitystep. If the current activity step is the employee step, the JobRequest section is enabled but the VendorQuoteSection is hidden. If the current step is the vendor, we disable the JobRequest section, make the VendorQuoteSection visible and mark any fields that the vendor must fill in as required. Step 7: Manager ApprovalFinally we need to set up the manager approval. Just as in the previous step we want to create a linked activitystep:
This step should only be performed by the manager of the user that initiated the request. When the “Manager” step has focused, you will notice role and user fields to the left under settings. These properties allow the designer to specify what roles or even a specific user that can perform a given step. This can’t be determined when the flow is being designed as it depends on the user that initiated the workflow. Now we will make use of the hidden EmployeeManagerId control that we are initializing with the business rule we wrote in step 4. Next to User enter {EmployeeManagerId}. When the workflow gets to the manager approval step, frevvo will get the value from the EmployeeManagerId control in the form and assign the step to that user. Once the vendor has completed the quote an email will be sent to the approving manager. Let’s customize the message a bit by setting the Pending Msg property to the following:
Once again, we are leverage frevvo’s templating capability to use data from the from to provide some specific details about the quote to the approving manager. Finally we need to make sure the manager can see all the data in the form and can do the needed approval. To accomplish this, we need one last change to our initializtion rule:
Note that in addition to showing the manager section, we are making the IApproveThisQuote control required. Step 8: Access ControlSince this flow requires contributions from people that are anonymous (don’t have a frevvo user id) we need to make the flow accessible to anyone. This can be done by:
Click the lock on the flow designer toolbar to configure access Access Control Window Changing the flow to public will allow the vendor to access their step but we don’t want just anyone to able to start the flow (which someone could with a public flow if they know have the URL). To fix this, we can assign the employee role to the first step in the flow:
Now only a user that is logged into frevvo and has the employee role can access the first step and initiate a workflow. SummaryWhile this type of quoting workflow would need to be enhanced to suit specific business cases (mostly by adding more form fields) it illustrates how quickly a workflow can be created that can include collaboration with people that are not in your organization and do not have frevvo accounts.
|