Reputation: 317
We want to deploy a survey that can be accessed by members of the public in order to collect information on tide levels at 10 pre-determined sites. I have a feature class with the 10 points (sites), and a related table with the questions to be filled by volunteers. These are linked (1:m) using the GlobalID of the 10 sites, and a GUID in the related table. For staff, we have been using Field Maps to simply go out to each site, click a point and fill out the related table (works great).
However, the majority of our volunteer base is not quite tech saavy, and are accustomed to filling out forms in these types of situations. Ideally I would like to embed a survey on our website where they can choose the site (either from a dropdown menu or by clicking a point on a map) and then fill out all the relevant information.
I began setting this up using Survey123 and although filling out surveys for pre-determined locations works ok with the Survey123 app (using the Inbox feature), the web app version is giving me a lot of trouble. Every entry on the web-app creates a new site in the parent layer (with a new GlobalID). I understand the inbox feature cannot be used in the web app. How can I configure my xls in Survey123 Connect such that entries on the webpage add new records (inspections) to the related table without adding new points to the sites (parent layer)?
Upvotes: 0
Views: 378
Reputation: 1
If you're still looking for an answer, the problem is you need to set up the survey to only use the related table and exclude the parent layer from the data the volunteers are inputting.
Go to your feature service in ArcGIS Online and find the layer Id number and name for the related table that you want your volunteers filling out in Survey123. FYI the related table name cannot have spaces in it. Open Survey123 Connect. Create a new survey from your existing feature service. Open the XLS for the new survey and go to the settings tab. The submission_url column will now have a link in it. At the end of the link add "/" to the end of the link without the "<>. So your link will look something like https://www.arcgis.com/sharing/rest/content/items/fdklsjkj19827834jhfk89081249j/1 Change the form_id column to match the name of your related table. This sets the form up to look for your related table at the specific link and excludes any parent layers from data collection.
Go back to your Survey tab in the XLS and delete the responses that belong to the parent layer and make sure to delete the begin and end repeat for the related table you are creating the form from, otherwise it will try to find the table inside the table and the form won't work. For example if your related table is named TideSurveys and you have a begin repeat | TideSurveys in the XLS, the begin repeat is going to look for the TideSurveys table within the TideSurveys table, and since the table can't be inside itself it creates an error.
That will get your volunteers to input data from the related table only and won't create a new point for the beach. Now comes the second problem.
How do you relate the records that the volunteers are collecting to the correct survey location? Since you only have 10 locations one way you could do this is to have a list of the survey locations that the volunteers select from. Then setup survey123 to calculate the globalID of the parent layer based on the location name and place it into your related table's rel_globalid or equivalent field. In the xls you would need to set the rel_globalid field name as the name, the type as text bind::type as string and bind:esri:fieldType as esriFieldTypeGUID which will format the survey to appropriately format the globalId you're inserting into rel_globalid field for it to function as part of the relate.
Upvotes: 0