Versions Compared

Key

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

In this chapter we will create a simple workflow, to create invoices for a chosen contact. This uses many of the features of app building you have used up to this point, and adds a new feature - context variables - which are crucial as you take users from one screen to another in a workflow.

Intermediate step: assign transaction to contact

In this exercise, we will create the intermediate step of the workflow, where the user can assign a transaction to a chosen contact. In the exercise you will need a sample file of transactions. You can download the file here:

...

Open the Contacts dashboard, and go into App Mode. Select a contact, and press the Create Invoice button - this will take you to the Assign Transactions dashboard, with details for the selected contact shown.

Final step: create invoice

Widget Connector
width900
urlhttps://www.youtube.com/watch?v=lfpO9uhAEQ0&list=PLbPt6SI1Zhb_n3lXboTC_Qzq0Kg2x8LtT&index=17
height500

...

Note

An alternative method of implementing the final step of the workflow would be, instead of running analysis to update the Invoices stream, create an Insert action on the Invoices stream. From the intermediate step, you would need to pass up all details needed to populate an invoice record - including any contact fields required. Then you would associate this action with the button on the intermediate dashboard that completes the invoice creation process.

Which method you choose is a design decision based on the the data set you are dealing with, and the process you are trying to implement. If, for example, the final step of creating invoices involves a lot of rules which are easily implemented in analysis - such as enriching the data through lookups, then the method we have used here would be best.

However, if the creation of invoices involved no additional logic, using an insert action is probably easier to implement. If you have time, try and create invoices using this alternative method.


Panel

Next chapter: 15. Controlling access to apps