- September 25, 2015 at 9:34 am #9921
Form linking is a method used to share data across multiple forms, and workflows. Utilizing “Linking” in your form build will save you a great amount of time when it comes to data entry by eliminating the need to enter data that has already been collected. The ability to pull data that has been previously entered can be key to creating advanced workflows that have multiple layers, or simply making current workflows easier to use.
A form link is established when you have shared relational data from one form to the next. The shared data can be any data in any field in the form. I like to use the original forms instance ID when configuring a form link. By sharing a forms instance ID, connecting to a form for specific data is easy. An added benefit is being able to ensure you are accessing the proper information.
We will now be covering what it takes to link a form. Please add the following items to your form:
1. Hidden page that allows for “Meta Data” to be stored.
*This is an extra page in your form you have either hidden or not created a way to access.
2. “Form Connection” to each form you wish to pass data.
3. Button Object
1. In the primary form you will add a hidden page that will hold your “Meta Data”.
*The “Meta Data” is information populated into fields that will be used as hidden relational data.
2. Add a text input.
3. Now, when the form is opened add a behavior that will set the text input to the forms instance ID.
4. Add a button object to form build.
5. On the button object, you will add the behavior “Show Form”.
6. Select the form you wish to show in the settings provided after clicking on the behavior.
7. In custom parameters add the name ID
8. For the source of the data, you will select the field that is holding the instance ID.
9. Now you will save your design, close the designer and publish the form.
10. In the PerfectForms dash, navigate over to the connections tab. Once you are there, click the “New” button. This will provide you with a list of connection types available.
11. You will next need to click “Form Connection”. This will allow you to build a connection to a specific form and provide additional options.
12. For the source of the connection you will select the form we have just configured and published.
13. To configure a send parameter you will click “Add”. Once a line is populated you will be able to click on the field adjacent. For this example your selection should be the “Meta Data Instance ID” field. Starting at the bottom of the list will make this easier to find.
14. For return parameters you can select any field you wish to return data from. Some fields will have 2 options available. For example, Drop Downs will have a caption, and a value.
15. Be sure to save the changes before you return to the form designer. You will then open the form that was selected in the “Show Form” behavior on your primary form.
16. On this form, you will once again add a hidden page. This page will also include a text input object that will be used to receive data.
17. Please navigate to the “When the form opens” behavior trigger, and add the behavior “Set Field”. This set field will be used to receive your primary forms instance ID. For the set field value, click the “Formula” button, remove the “empty” input that is present as a standard, now you will add a function. For the function you will select “Get Custom Parameter”. A custom parameter is data sent over in a URL string. Custom parameters differ from URL Parameters as they are encoded. This makes the data impossible for a user to falsify.
18. In the Custom Parameter, you will enter ID for the parameter name. Using this behavior will pull in the ID provided by the first form.
19. Within the same behavior, you will follow the “Set Field” with a connection.
20. In the “Connection” drop down, you will select the connection we just built.
21. The send parameter for this connection should be pointed at the text input object we have included on the hidden page.
22. The return parameters configured on the connection can point to any field you would like the data returned to.
23. Finally, we are done with the setup. Please be sure to save the changes to the form, followed by publishing.
The result of this lengthy configuration is a properly linked form. In order to test this setup you will want to open your primary form. Once your primary form has loaded click the button you have tied the “Show Form” action to. You will now see the secondary form open up and populate with data. What happens behind the scenes is, your secondary form will get the instance ID of the primary form. Once that behavior has been completed it will use the ID to connect to the primary form and pull back the data requested. This configuration can be used with many combinations. Having a linked form, you can easily achieve the following goals:
• Update another instance
• Create another instance
• Link to another instance
• Limit how many times a connection is made
All of these functions can be used to create apps with multiple purposes, provided data needed instantaneously, and even build in the ability to have forms with a login requirement. Combining these functions with simple branches, multi branches, and other behaviors, it is possible to add the power needed to run complex, multi-layered workflows.
Note: Form connections can be used to bring in multiple lines of data when paired with a table. This data can span across multiple instances matching a send parameter.
Following this instructional, you should now have the knowledge to be able to build more robust and elastic workflows.
As always, happy form building! If you have any follow up questions or comments, please feel free to post below and I will be more than happy to reply.
You must be logged in to reply to this topic.