Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
Training Exercise
You have now learnt how to create and configure Actionflows requiring advanced business logic and can competently use all Actionflow features. To reinforce the techniques you have learnt, complete these assignments.
Don't worry, this is not an exam. You can use the Help to broaden your understanding and assimilate knowledge. A number of hints have been provided; use these if you are struggling as each hint gives you more information on the solution.
Tip |
---|
A training instance is required to complete these assignments. Use the application: Actionflow Advanced Application. |
.Remember to close and reopen your screen if you do not see the changes you expect.
Expand | ||
---|---|---|
| ||
You may find it useful to use the debug function within your Expressions to add messages to the System Console. |
Assignment 1
Difficulty Level:
Task 1
When deleting rejected companies in bulk, we need to also delete all employees associated with that company from the application.
- On the Company Rejected Companies screen, modify the Actionflow that you created in 3.01 Bulk Delete Action Configuration on the Delete All button to also delete all employees associated with the rejected companies
Tip |
---|
Before starting, roll back and reinstate the data in the Companies, Orders and Order Lines tables, if you have not already. |
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Use a Lookup
|
Expand | ||
---|---|---|
| ||
Add an Output Attribute to the Calculate action that converts the Employee IDs to structured data. |
Expand | ||
---|---|---|
| ||
Remember to set a filter on the Bulk Delete action containing the criteria of the records to be deleted. |
.
Expand | ||
---|---|---|
| ||
Step 1: Employee Lookup Setup Step 2: Calculate Action Setup Step 3: Bulk Delete Employees Setup Step 4: Mappings - Calculate to Bulk Delete |
Task 2
On the Company Approval Review screen, the area holding the icon requires setup to allow companies to be dragged and dropped onto this area and then subsequently rejected.
- If you have not already completed the optional example, Example 2: Reject Company Using Drag and Drop on 3.04 Drag and Drop Configuration, configure this now
The Actionflow must:
- Set the Company's Status to
Rejected
- Update the Company's UpdatedByName attribute, using the same syntax as can be seen in the existing data
- Update the Company's UpdatedTime attribute
Expand | ||
---|---|---|
| ||
Revisit the worked example on 3.04 Drag and Drop Configuration to familiarise yourself with the drop target and Actionflow setup. |
Expand | ||
---|---|---|
| ||
Drop Target Setup Mappings - Drag Type to Input Mappings - Input to Calculate Calculate Setup Mappings - Calculate to Save Save Setup |
Assignment 2
Difficulty Level:
Task 1
When deleting rejected companies in bulk, we need to provide the user with more details, such as counts of the companies, orders and employees that will be affected by the deletion. In addition, we should give the user the ability to cancel or confirm the deletion using this information.
- Add the confirmation screen, Company Bulk Delete Confirmation, to the Actionflow on the Delete All button on the Company Rejected Companies screen
- In the Actionflow, create counts of the affected companies, orders and employees, and map these onto the screen
Expand | ||
---|---|---|
| ||
Add a Confirmation Phase before the Processing Phase on the BulkDeleteRejectedCompanies Actionflow. |
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
In the Confirmation Phase, use Lookup
|
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Use a
|
Expand | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
Use a
|
Expand | ||
---|---|---|
| ||
Actionflow Overview and Calculate Action Setup Rejected Companies - Lookup View Setup Rejected Orders - Lookup View Setup Rejected Employees - Lookup View Setup Mappings - Calculate to Open Screen |
Task 2
A number of companies have created webpages on their company website for their employees. The website for the employees is the company website followed by "/employeeportal" .
- On the Company Management screen, expand the AdditionalDetails area on the Employees card and find the dynamic text component, Website
- This component is backed by the attribute, Website, which is currently empty
- On the Company Form screen, add an Actionflow to the Update Employee Website button that updates the Website attribute on the Employee table using a
actionInsert excerpt _action_bulkupdate _action_bulkupdate nopanel true - Every employee for the selected company should be updated
- The syntax for the employee website is CompanyWebsite/employeeportal, e.g. www.phixflow.com/employeeportal
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Use a
|
Expand | ||
---|---|---|
| ||
Remember to set a filter on the Bulk Update action containing the criteria of the records to be updated. |
.
Expand | ||
---|---|---|
| ||
Actionflow Setup Mappings - Screen to Input Mappings - Input to Calculate Mappings - Calculate to Bulk Update Bulk Update Setup Company Management - Screen Setup |
.
Assignment 3
Difficulty Level:
Task 1
Additional information about all employees has been made available. We need to make sure it is available across all applications and can be called by external systems as an API.
Set up an
Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
On the Company Employee Extra Information screen, create a button that calls the API. The Response from URL can be seen in the
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Optional: If you wish, you can create a screen to display the results.
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Use the JSON script from 3.11 Setting up an API Endpoint to help you write the script for this task. | ||||||||||
Expand | ||||||||||
| ||||||||||
On the toJson function in a
toJson(lookupConnector) . |
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
On the
|
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
On the
|
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
On the
|
Expand | ||
---|---|---|
| ||
Ensure Log Traffic to enabled on the HTTP action on the Actionflow calling the API so that the Response from URL is logged. |
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
In the
|
.
Expand | ||
---|---|---|
| ||
API Endpoint Setup API Endpoint Setup - Mappings - Input to Calculate API Endpoint Setup - Lookup View Setup API Endpoint Setup - Calculate Setup - Constructed JSON Code Block | API Endpoint Setup - Lookup View Setup API Endpoint Setup - Calculate Setup - Constructed JSON API Endpoint Setup - Mappings - Calculate to View (Incoming) API Endpoint Setup - Mappings - View to Calculate (Outgoing) API Endpoint Setup - Mappings - Calculate to Output Actionflow Setup Actionflow Setup - Including Optional Screen Display System Console - Response from URL |
Task 2
We need to call the API containing the additional information about employees to obtain their start dates.
On the Company Employee Extra Information screen, add an Actionflow to the Run button that displays Employees from the Employees Additional Information API you set up in Assignment 3, Task 1 above, with an start date between the two set parameters as shown in the drop down fields on the Company Employee Extra Information screen.
Important:
- You can either create a new Actionflow or add to the one you made in the task above
- Your Actionflow must contain a
and loop through each year parameter.Insert excerpt _action_loop _action_loop name loop nopanel true
Optional Task: For the purposes of this example we save the data to the table Employee Start Date Analysis but you can use the Employee ID to merge the Start Dates into the Employees table.
Expand | ||
---|---|---|
| ||
Remember to set up a JSON action on the API endpoint to receive the incoming parameters. |
Expand | ||
---|---|---|
| ||
On the API endpoint, use the incoming parameters to filter the data being returned from the lookup. |
Expand | ||
---|---|---|
| ||
Look at the Actionflow setup on 3.08 Loop Action Configuration to help with setup. |
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Use a
|
Expand | ||
---|---|---|
| ||
Rename the From attribute going into the HTTP action to make it easier to distinguish it from the From attribute elsewhere in the Actionflow. |
Expand | ||
---|---|---|
| ||
On the HTTP action, pass in parameters using curly {} brackets. |
Expand | ||
---|---|---|
| ||
On the End Loop action, set the Max Loops to be a sensible number. In this example the maximum number of loops that can occur is 4 as a loop is processed for each date in the drop down field on the Company Employee Extra Information screen (2018-2021). |
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
The API Endpoint (setup in Task 1) requires a JSON action to allow it to receive parameters that can be used in the lookup filter. API Endpoint Setup - JSON API Endpoint Setup - Mappings - Input to JSON API Endpoint Setup - Mappings - JSON to Calculate API Endpoint Setup - Mappings - Calculate to View (Incoming) API Endpoint Setup - View/Lookup Actionflow Setup Actionflow Setup - Mappings - Screen to Input Actionflow Setup - Mappings - Input to 'Convert to Integer' Calculate Actionflow Setup - 'Convert to Integer' Calculate Actionflow Setup - Mappings - 'Convert to Integer' Calculate to Loop Start Actionflow Setup - Mappings - Loop Start to HTTP The attribute has been renamed on the HTTP side of the Mappings by right-clicking and clicking
Actionflow Setup - HTTP Actionflow Setup - Mappings - HTTP to JSON Actionflow Setup - JSON Actionflow Setup - Mappings - JSON to Save Actionflow Setup - Save Actionflow Setup - Mappings - Save to 'Increment By 1' Calculate Actionflow Setup - 'Increment By 1' Calculate Actionflow Setup - Mappings - 'Increment By 1' Calculate to End Loop Actionflow Setup - End Loop Actionflow Setup - Mappings - End Loop to Start Loop |
Task 3
We need a way to quickly create a number of companies where we have limited information about them, e.g. just their name.
- On the Company Management screen, click the Quick Add button to open the Company Quick Add screen
- On this screen, add an Actionflow to the Save button, using a
action, that allows new companies to be added to the Companies table using just their nameInsert excerpt _action_for_each _action_for_each nopanel true - Users should be able to enter a list of company names, separated by a comma
- When a record for each company is created, a unique ID number should be generated
- Each company's Status should be set to "New" so that they populate the Company Approval Review screen
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Use a
|
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Use the trim function to trim white space on the array values being mapped out of the |
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Use a
|
Expand | ||
---|---|---|
| ||
Actionflow Setup Mappings - Screen to Input Calculate Setup Mappings - Calculate to For Each For Each Setup Mappings - For Each to Save Save Setup |
Testing
Ensure you test your Actionflows are working, and where relevant, test for both a positive and negative result.
Once you have verified your Actionflows are working, the screens and data can be modified in any way you wish. For example, you may wish to add additional screens to process the Employees data and practice some of the techniques you have learnt using that data.