Hello -
I have several surveys inside Experience Builder for users to create features and input data for shoreline inventories. The first survey is the Name and Email survey. This survey creates a Global ID in the feature layer and is the parent to the rest of the surveys. Once Name and Email are submitted, it shows up on a list widget, the user selects the record, and then selects a button that opens surveys to create whichever shoreline feature such as coastal structures, recreational structures, buffers, bank conditions, etc they want to add. I need the Global ID of the user to pass to the parentglobalID (GUID) of the rest of the surveys. The rest of the surveys represent repeats in the main survey that are nested under the Name and Emails of the User. I am using URLs to open the surveys and pass the GlobalID but they are not working. (The surveys open and the data is stored in the database but the parentglobalid (GUID) field is blank and therefore not being connected to the parent Name and Email record.) A button widget is used to open the surveys. The button that opens the coastal protection structures surveys uses this URL (https://survey123.arcgis.com/share/e358b2bcef2841a3b1a0e7c0114b93eb?) to open the survey with the hopes of passing the GlobalID from Name and Email. All of these surveys are based on the same feature layer where all of the data is stored. field:parentglobalid={GlobalID}. What am I doing wrong that the GlobalID is not passing? Thank you!
Do you have a relationship set up?
I do. However, I requested a ticket from Esri regarding this issue. I cannot do what I want in experience builder. I need to wait until experience builder has upgraded to allow calculated fields in the editor.
I use calculated fields in the editor to pass from layer to table just fine in EXB. You set it up within forms in map viewer.
Would you mind providing more specific informs to how to pass the global id from layer to table or table to table with in the forms in map viewer when you want the user to create the features. Thank you!
Setting up a relationship property between a GlobalID and a GUID should automatically carry that field over without the need for calculated expressions—that’s how a relate is intended to work. You can review how that relationship is configured.
I have an example where I set this up entirely in AGOL between a layer and two related tables, and it worked seamlessly. I’ve also done this by creating a relationship between a layer and a table in my SDE, publishing them to Portal together, and the GUID was automatically populated whenever a new table record was created from the main layer.
Regarding calculated expressions, I use them in both AGOL and Portal as well. As mentioned earlier, this configuration isn’t done in Experience Builder; it’s handled within the smart forms of the layer in Map Viewer. https://doc.arcgis.com/en/arcgis-online/create-maps/create-form-mv.htm
Here is an example of how I pull a unique ID from my layer into my table when a new record is created:
Thank you, Laura. I was out of the office on vacation last week. I will review what you sent me and see if I can get this to work. Thank you for the input. I may have questions! I will let you know how it goes 🙂