Case Importer with Easy References
It is possible to update or create cases with Easy References, though there are some quirks. You can directly type in the case property as #case/<property_name> to reference a property that is not in the app structure but was imported via the case importer. However, if that property is not used anywhere else in your application, you will see an "Unknown question" warning. This warning will not prevent you from building and using your application. It will simply look as though there are errors with the application.Â
Please see the following example to remove the warnings.Â
Set-Up
For the following steps, let's assume we have updated/imported new cases with properties sick and high_risk that were updated via the case importer:
name | info.case_id | sick | high_risk |
---|---|---|---|
Nick | e399c035-0c83-48ef-b0c0-0d3bbe9f7a39 | no | no |
Blaine | 4691e1d6-3aae-4683-943d-9613e56bd057 | no | no |
Chris | 1651931f-d390-434e-84d7-5a7c6416d37a | yes | yes |
When you go to reference these properties in a form, you may receive warnings that the property is unknown. These warnings will not prevent you from deploying and using the application. Note that you will need to enter the properties manually using #case/<case_property>. The property will appear as a yellow triangle with an exclamation point when turned into an easy reference:
While those warnings do not cause any issues, they can be annoying. Let's remove them!
Instructions
1) First, create a new module and give it a name. Be sure to set the case type to the be the same as the cases that you imported new properties for.Â
2) Now select the Untitled Form that is created with the new module. Edit the form and create a question for each property you have imported that you would like to reference in the application:
3) Now we need to save the properties so the application can use the properties in other forms without receiving that error message. Return to the form settings page and access the Case Management tab. Set the form to 'Update or closes a case.' Save the questions that you created in the form:
4) If you go to one of the references to the imported property in your application, you should no longer receive the yellow warning message:
Optional
There may be instances in which you do want to reference imported properties throughout the application, but you don't want your mobile workers to be able to update them. To handle this situation, perform the above steps and then add a filter to the module so that it is hidden from the mobile workers:
1) Select the module and proceed to the module settings page.
2) Add a Module Filter that can never be true (for example: 1=2):
3) Now when the application is deployed, the mobile workers will not be able to see the module that contains the imported properties.