Hello,
I'm using survey123 Connect v3.22. We have an Enterprise geodatabase set up with SQL Server if that's relavant.
I've created a survey that technicians can use to log maintenance activities related to specific assets in the field. Everything worked as intended, but they've come back with some enhancement requests. I've been able to work through most of them but I'm stuck on the last one.
Originally I created an Experience that allowed users to click/tap on features in a webmap and, through a url decorated with attributes from the feature popup, launch a survey with read-only fields pre-populated. However, the user group wants to be able to start the entire process from the Survey123 app instead of going through Experience Builder.
Because (to my knowledge) you can't select and retrieve features and their attributes through Survey123, I found a javascript snippet that allowed me to retrieve the attributes of the feature using a geopoint question. This works fine.
But they also wanted the features that had maintenance activity associated with them in the current calendar year to be colored differently in the web map after submitting a survey. I didn't see a way to easily do that in MapViewer through a lookup lookup function using Arcade or a simple table join so I've set up a service with only the necessary fields and editing abilities, that allows me to store the survey responses in our authoritative dataset by using the submission url. That way I can just symbolize the layer on that attribute. I've tested the data update from Survey123 to my dataset and it works. But, it only works through the web app because I have to set the url parameters to ?mode=edit&globalId={enter global id here}. I can't seem to get the desktop or mobile apps to load with these same parameters. But regardless, I'm not sure if that would accomplish what I'm trying to do as the user group doesn't want an external url that launches the form.
So my question. Is it possible, all within the Survey123 app, to take the global ID I've retrieved through the pulldata/javascript function, and use it to update the corresponding record in our authoritative data with an attribute(s) that corresponds to the maintenance activity?
Thank you!
I have taken tables from our SDE and published them as a feature service with global ids and allowing the use of editing using globalIDs. I found the trick to be not versioning the table. Then I can expose all edits via survey123 and the inbox so users can view existing data on the mobile app and update records that way.
Gotcha. Thanks for the response. So you just enable the inbox and the user can search for the feature in the inbox (meaning they'd first have to use a web map to get the feature ID or something to search by) or we could have the supervisor assign certain features to users so only those features would show up in their inbox? I don't believe they want those extra steps. I'm wondering if Field Maps or the edit widget in EB might be better for this task.
Yeah we don't filter or assign since we just let all users view and edit the info needed. Typically they are viewing inbox and it sorts based on whats closest to you, then they can select that record and edit if needed. If you need to assign things to users, it may be best to look at arcgis workforce since those features are not in Field Maps yet.