Select to view content in your preferred language

Change Data Source without have to re-create everything in the ExB app

1077
11
06-10-2025 11:07 AM
Status: Open
Labels (2)
JenniferBorlick
Frequent Contributor

I have an Experience Builder App that has 18 filters, some of which are compound. The filters are all park amenities and the end user can toggle on one or more amenity to filter out which parks will meet their needs for their trip. I created the app anticipating that we would self-host the parks data. We have since determined that hosting the layer online would be a better fit. I am using the same map with the same data, just hosted in a different place. The only thing that is changing is the location of the data. When I change the source, every filter breaks and goes back to its default state. Meaning I lose the query, action, label name and icon. Not to mention all of the other functionality such as the list of parks.

I would like to be able to switch the data source in the map, or app without having to re-create all of the filters in the Experience Builder app.

JenniferBorlick_0-1749578712607.png

 

11 Comments
MikeVolz

Maybe AGOL Assistant can help you with this task by being able to update Experience Builder json?  I would backup the web app first before trying this.

fdeters

I second the suggestion @MikeVolz gave. My team used ArcGIS Assistant to swap out data sources in Web Maps and Experiences as a way to change from pointing to QA/development data sources to production data sources. Here are some things I learned that might be useful to you:

  • Web Maps are relatively straightforward: you should be able to just swap the "itemId" and "url" for each layer in "operationalLayers" or table in "tables".
    • Things can potentially get more complicated if you have layers with related tables---we found that there were sometimes differences between the "relationshipId" fields for layers that should otherwise be identical.
  • Experiences have a "dataSources" field in their JSON config file. You'll see your Web Map here, as well as any other data sources you've linked (e.g. a Feature Service you connected to your Experience without putting it in the Web Map). For these data sources, you can often just switch out the "itemId" (and "url", if the data source has one).
    • Sometimes, though, the data source will have a field called "childDataSourceJsons". For example, a Web Map data source might have a "childDataSourceJsons" field with configuration for all of the layers inside of it. In that case, you may have to go through the "childDataSourceJsons" and swap out the relevant layers' "itemId" and "url" fields there, too.

Mike is absolutely right, though: be sure to back up everything before getting your hands dirty with ArcGIS Assistant. It's really easy to accidentally break things permanently.

JenniferBorlick

Good to know. Thanks. I'll give it a try. 

It would still be able to do it without in going a back door.

AlfredBaldenweck

Agreed. It makes a lot more sense to do it actually in EB.

JenniferBorlick

Yeah. Same Idea but with ExB. 

I do have Admin Tools for ArcGIS Pro and there is a re-wire for WAB and for Dashboards, but not ExB.

 

JenniferBorlick

I used AGOL Assistant to update my test map and app successfully. Thanks everyone for the help.

(But I would appreciate an easier way to do it.)

JenniferBorlick

And then when I tried to do it "for realsies" everything broke. 😞

 

JenniferBorlick

In the end it was actually faster for me to re-create the filters rather than trying to interpret the JSON to figure out what to change and where. I kept thinking I had it all and then it still didn't work. I finally just gave up.

fdeters

@JenniferBorlick sorry to hear that. It's pretty frustrating to get so far down a path and have to turn back and do it the first way you thought of