Issue: when attempting to use 'Edit' option within Survey123 widget in EB, the error "Editing is not possible because the globalId parameter was not provided" appears.
Purpose of app: to allow a manager to view and edit points collected in the field using a Survey123 form.
Situation:
Survey123 widget added & configured:
Widget loads, but this error is given:
Troubleshooting:
Workaround:
I am currently using the embed widget with a URL parameter for editing the survey (add ?mode=edit&globalId={GlobalID} to the end of the survey URL in embed widget), which is working. Unfortunately, it does not load on startup, and once I have connected with the survey through that URL it frequently triggers a 'Leave site?' dialogue when moving between points. I am hoping to improve the user experience by using the Survey123 widget itself.
Solved! Go to Solution.
@TaraHaynes - based on your description, the workaround using Embed and the Survey widget should have the same behavior, before any feature is selected. Both methods will require users to select one feature in order to get the GlobalID for further actions. Give it a try and see if that helps.
@TaraHaynes - based on your description, the workaround using Embed and the Survey widget should have the same behavior, before any feature is selected. Both methods will require users to select one feature in order to get the GlobalID for further actions. Give it a try and see if that helps.
Well, that was a simple solution! Thank you for the response - I'm currently on emergency deployment and some extra brain power is much appreciated!
@TonghuiMing The embed workaround doesn't seem to work anymore in cases where the survey is not public. Do you have any other suggestions?
@TaraHaynes Is there a way to turn off that "Editing is not possible because the globalid parameter was not provided" message or give the survey widget a default feature to open? I know that selecting a feature makes the message go away, but I would really prefer to not see it at all because it probably confuses my users and potentially makes them wonder if I set something up incorrectly. Thanks!
I have a convoluted workaround involving the List widget... I know the List widget used to autoselect the first record upon opening the app, which was nifty, though it doesn't seem to do that any more / I can't figure out how to do it again.
However, it can still be used in a different way.
1. Create a Section. First 'View' is a List widget, second 'View' is the survey embed. Use the URL parameter for the survey embed, as mentioned in the original post.
2. For the List Widget: In 'Action > Message Action', add a trigger for 'Record Selection Changes'. Select 'Framework'. 'Trigger Data' should be the feature you're selecting in the map, and 'Action Data' should be the feature that is informing the Embed widget. These will probably be the exact same feature (so they will be auto-bound), but if not, they should connect on the 'GlobalID' field.
3. Add a Button to the List Widget to link to your second / Survey123 view. Style the rest of the List Widget as you like - I used this as a way for users to check the data of the point they selected before editing, and labeled the Button as "Edit Information". (I no longer have access to the app I built for this post, but this is the idea:)
4. When the user clicks the button, it should take them to a loaded Survey123 view, since clicking the item on the List selects the associated record across the framework.
5. Make sure you have a button on the second View to get back to the list!
The only downside is that if the user clicks the map while in the Survey123 view, it will unselect the feature and throw the error again... usually I put text like 'Select Point on Map to Edit' above the Survey123 widget, just in case.
Hopefully that helps... it's the best I've come up with, though hopefully ESRI is working on a way to auto-select the first record or something because so many of their widgets have this issue with looking funky before things are selected! If you find a better solution, too, please let me know!