So I am new to Survey 123 Connect. So some of this may be that I am just missing concepts.
The goal of this survey is to allow staff to make updates only to an existing feature layer that was created by loading a csv and publishing it. The ability to limit it to update only so far has escaped me and since my layer (table) has a compound primary key I have not yet got the pulldata() to work.
But just building the form has me stumped in two areas;
Appreciate any advice I can get as a newbie to Survey 123 Connect I could use a few pointers beyond the class I took.
Solved! Go to Solution.
Hi Jeff,
To limit the survey to updates only, you can configure your feature layer with the desired editing permissions using ArcGIS Online or ArcGIS Enterprise. This can be done by adjusting the privileges on the hosted feature layer, so that only the specific group or individuals can edit the feature layer.
Regarding the issue with hidden rows still showing bounding boxes, this may be a bug in Survey123 Connect. You can try removing the relevant fields from the form and adding them back in to see if that resolves the issue.
To ensure that your numeric fields only allow a maximum of six digits, you can add a constraint to those fields in your XLSForm by using the relevant column and setting the "constraint" to "integer" and "constraint_message" to a message that explains the six-digit limit.
As for the issue with the group name and collapsible bounding boxes, you can adjust the appearance of the group by setting the "appearance" column to "field-list" to remove the collapsible feature.
Appearance—ArcGIS Survey123 | Documentation
Best,
Omar
Thank you, I will try these solutions and get back with you shortly --
If you don't mind can you point me to some good documentation for a pulldata() from a Feature layer . I am having a number of issues with this -- First, I am not clear of the many url's in ArcGIS Online which one should be the used in the third parameter of the function. and I am not convinced I have my "getRecord" setup right to pull a record based on a compound primary key --
pulldata(“@layer”, “getRecord”,"$settings.i2?field:Resort=${Resort}, field:Parking_Lot_Name=${Parking_Lot_Name}”
Get an Error b'ODK Validate Errors/\n>> XForm is invalid. ................. \n\n Result Invalid'
Pulling the URL In the setting worksheet in the workbook, in column I.
Getting the URL from the Item Details of the Feature Layer ??
Once I have the Record than I guess I can parse it with another
pulldata(@json, .......................................................................
But I am not clear how I reference the record retrieved earlier --
No joy -- I have opened a support ticket. But probably will not get back to this till next week now.
TIA --
For problem 1: It looks like you might have dynamic-grid selected in the style column of your XLSForm settings sheet. This grid style adds placeholder boxes in the survey even if the question is hidden. If you change to fixed-grid or leave the style column empty it removes the extra boxes. I've run into this as well. Hope it helps.
So with some help from support, I have made progress. @AnnaMiera turns out the issue was a Capital W2 instead of a lower case w2.
BUT my geoPoint reference will not work, a textjoin() will not work and I am still confused on exactly how I determine what columns in the row get updated when the Survey is submitted.
For instance why would this not work --
textjoin(",", 1,
if(${Free_Parking} = "X", "Free_Parking", ""),
if(${Paid_Parking} = "X", "Paid_Parking", ""),
if(${EV_Charging} = "X", "EV_Charging", ""),
if(${Free_Park_and_Ride} = "X", "Free_Park_and_Ride", ""),
if(${Free_Park_and_Short_Walk} = "X", "Free_Park_and_Short_Walk", ""),
if(${Wheel_Chair_Accessible} = "X", "Wheel_Chair_Accessible", "")
)
But, I still have a coup
Closing this there are other threads on If Else logic..