I am needing to transfer my experience builder to another ArcGIS organization. I have tried both ArcGIS Online Assistant and the API code from the blog post: https://community.esri.com/t5/learn-arcgis-documents/how-to-copy-content-from-one-arcgis-online-account-to-another/ta-p/913539
I have used the code to transfer other content (web maps, web app builder, and survey123 forms) with success. I am wondering if there is something extra that needs to be added?
The error I get is:
("Failed to create Web Experience: [Errno 2] No such file or directory: 'C:\\\\Users\\\\......... , None)
FYI: Your link says - "It will not work for ArcGIS StoryMaps or ArcGIS Experience Builder" and then directs people to: https://developers.arcgis.com/python/sample-notebooks/clone-storymap-version2/BUT, I just tried something similar with a script built from that template and it worked fine on a test Experience. The error makes me think it's a relative path issue. If you could attach your script that'd help 🙂
Hi @edward33,
Have you tried the new ArcGIS Assistant (Beta) to transfer your Experience Builder to another ArcGIS Online Organization?
https://assistant.esri-ps.com/signin
This is a limitation of the clone_items() method and Experience Builder items are not supported with it at the moment.
From what I've seen, both versions of ArcGIS Online Assistant also cannot properly copy an Experience Builder app. While the item for the Experience is cloned in the target organization, the copy of the app still references the maps, apps, and other underlying layers used in the original Experience, as this workflow (similar to the Python API clone_items() method) only copy the app item and not other items that are used in this app in different ways or forms.
Until this functionality is added to ArcGIS API for Python in future releases, one possible workaround is to clone Web Maps and/or Feature Services and/or apps used in the Experience using clone_items() method, and then rebuild the Experience Builder app in the target organization.
Best,
MJ
I hope cloning Experience Builder items would be part of a future version of the python API.
@KarstenRank cloning Experience Builder items and other operations are planned to be available in Python API around UC this year.
This sounds good!
@MJBiazar and @Jianxia Thank you for this information. I have been working with an Esri tech for a week and a half trying to solve this issue. I received the error, "'NoneType' object has no attribute 'metadata'". While waiting on a response, I noticed the Developers documentation did not list Experience Builder on their list of items that were able to be cloned. It didn't specify that it couldn't be done, but didn't specify that it could. I will let my tech know.
@JasminePrater , sorry for that. Please wait for the upcoming release of Python API.
@JasminePrater It is possible, it's basically a uniqueID path issue.. I should've expanded on how we solved it...Sorry it was a while ago but we took the example scripts for item cloning and combined that with an ESRI YouTube video walk-through. The issue is ExB's (and WebApps) use uniqueIDs to reference layers. When you clone a dashboard to another portal, it generates new uniqueIDs for the layers but references the old IDs.This means you need your cloning script to run through the ExB, grab all the layers' uniqueIDs and when it clones, rename the oldIDs to the new ones. You can also do this manually via the AGOLAssistant with find/replace.Finally, we've just done this process again with ExB Dev Edition Dashboards onto our ESRI 11.1 stack. In that case, the recommended solution was to .zip the dashboard, copy to the portal server, generate a dummy ExB and replace that with the dev .zip (remembering to rename the config.json to the uniqueID).
@JasminePrater @alex_mapintel @KarstenRank, the upcoming release of ArcGIS API for Python (v2.2.0) is planned to be available on September 25. A blog post will be available, describing the new module and showing some workflows. Will share the blog here. Thanks!
Thank you for the update!
When will the new docker container be published?
Has there been any update on this or the new release of the ArcGIS API for Python (v2.2.0)?
@SamJakson, ArcGIS API for Python (v2.20) is now available on the developers website. You may check out this new topic of Working with Web Experiences in the Python API .
Hi Jianxia
The link supplied for Working with Web Experiences... says 'page not found'
I searched for the title on that page and found this article. I think this is what we need.Working with Web Experiences in the Python API
Hi Jasmine - thanks for this insight - any updates on this? I've built a fairly complex ExB app for a GIS diploma program on my school AGOL organization account and am hoping to copy the whole thing over to my employer's Enterprise Portal.
Unfortunately, we were not able to test this process. We are in the process of rebuilding the the apps and copying our settings from the AGOL version to the Portal version. Our Professional Services team said that if we wanted to try it, we'd need to find an employee fluent in Python. Since another comment in this thread stated that their complicated apps struggled to transfer completely, we decided that it would take less time to rebuild the apps. We want to avert potential conversion errors and to have the app in use within our expected timeframe. Hopefully, the team will be able to solve those transfer issues in a future iteration of the code.
Is there any way to overwrite an ExB migrated from one portal to the other (retaining the item ID in the destination portal rather than making a new copy of the ExB)? We'd like to do this so we can work in a dev portal and push things to a prod portal without having to do custom builds for all our ExBs. Or is some other workflow recommended?
I have spent this week talking to ESRI support and their are known bugs for cloning all apps with the clone.items() function.
I have been told there is still no current work around or other functions that could be used on cloning Apps and these bugs will be addressed in the ArcGIS API Python 2.4 release. Which they do not have an official release date for but possibly October 2024.
Comments in this article from years ago mentioned 2.2 would fix this issue, which it did not.To me this makes all the documentation out there on cloning items irrelevant. https://developers.arcgis.com/python/guide/cloning-content/https://developers.arcgis.com/python/guide/cloning-complex-apps/#web-experiences
@KeitherPerkinsWSB , could you please share the bug number from Esri Support, making sure we address it in Python API 2.4? Thanks!
@Jianxia @KeitherPerkinsWSB Indeed trying to clone_items() does not seems to work even though the documentation clearly states "easily done". The app is cloned but it does not work, none of the data sources seems to have been updated even with search_existing_items = True when I have the same web map with the same web map id in the target ArcGIS Enterprise (11.3). Unless its the documentation that is not clear on how exactly to migrate the app. Does it specifically need preparation of the mapping dictionary? It is not clear.
Any update on this? I am looking to transfer an Experience Builder App from my Online Organization to an Enterprise Organization.
I was able to clone an Experience Builder app (with the web map) from ArcGIS Online to our Enterprise Portal 11.5 using the ArcGIS API for Python. Here's the Esri resource I started with:
Copy/clone content from one ArcGIS Online organization or Portal for ArcGIS to another
I did get this warning in Portal when opening the cloned app in Experience Builder: "This experience is in higher version. Incompatible contents may not work."
EDIT:
I was able to dispel the incompatibility warning banner by generating a template from the imported app, then creating a new app from that template.
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.