Cloning ArcGIS StoryMaps

06-17-2020 11:27 AM
Occasional Contributor II
6 4 644

The April 2020 ArcGIS StoryMap update introduced a helpful "Duplicate story" capability, however, it only supports a "partial clone" of a StoryMap. In other words, it duplicates the direct content of the StoryMap itself, but not any of the referenced content, such as Web Maps and Web Scenes embedded in the StoryMap, and the Feature Layers referenced by those.


I often find myself needing to create a "full" clone of a StoryMap, including any referenced content the user also created. The goal being for the person who created the StoryMap to keep a copy for themselves, under their control, while they also need to provide a copy of the StoryMap to someone else, who will then have control over the copy. Sometimes the copy also needs to be made to a different ArcGIS Online organization than where the original is hosted.


While I am hopeful that Esri will directly address this need soon, in the meantime, below is a link to a Notebook created to handle cloning ArcGIS StoryMaps (not the Classic Story Map Apps). It relies on the powerful clone_items() method in the ArcGIS API for Python.


Thumbnails of cloned ArcGIS StoryMaps.


By "full" clone, I mean copying or replicating not only the StoryMap itself, but also cloning any referenced content in the StoryMap that is owned by the same user as owns the StoryMap. Cloning referenced content is supported in the Notebook for the common content types (images, express maps, web maps, web scenes, feature layers, etc.) In the case of unsupported content types, the reference to the original item is carried through to the cloned StoryMap. Similarly for referenced content that is not owned by the same user as the StoryMap, the reference to the original item will be maintained in the clone.


In Education, the need for a cloned StoryMap often comes up in the context of class assignments. The instructor needs a copy-of-record for grading purposes, which the student can not edit after the assignment is due. (You can also automate all of this with your LMS, so that clones are made automatically when assignments are submitted or due.) Meanwhile, the student wants to keep a copy of their work to perhaps continue to improve upon it, and to show off their GIS skills to prospective employers or graduate schools.


Another common use case in Education is collaborative work. A student might work with a faculty member to create a StoryMap to help with disseminating the faculty member's research, or a student might create a StoryMap for a client as part of a service learning experience. In those cases the student again often would like to maintain control over a copy of their work to show off their skills, while the faculty member or client needs to have a copy of the final product over which they have control going forward. And, in the case of service learning, the student may create the StoryMap on their institution's ArcGIS Online organization, and the clone needs to live on the client's ArcGIS Online organization.


The Notebook shared below handles cloning of StoryMaps both within and between ArcGIS Online organizations, assuming you have the appropriate privileges. It can also handle copying StoryMaps from public ArcGIS Online accounts to organizational ones, for when a student accidentally creates work there, without realizing they have an account through their institution. 


It also handles cloning most of the common types of ArcGIS Online content that can be incorporated into ArcGIS StoryMaps, such as Web Maps and Web Scenes, and their underlying Feature Layers. Please keep in mind, however, that it does not handle all possibilities. So keep your eye out for warnings and errors in the Notebook's output cells, which are there to help guide you in determining if it is safe to proceed, and if you will likely end up with the "full" clone of a StoryMap you were expecting.


Also, there is no documentation for the ArcGIS StoryMap format, so Notebook depends on some reverse-engineering. Future updates to ArcGIS StoryMaps may not be compatible with assumptions about the format made this Notebook, thereby breaking the Notebook. Esri, however, nicely provides a format version to track in the typeKeywords, so the Notebook will potentially detect version-related issues, and provide you with a warning.


If you've read this far, here's the Notebook: Clone ArcGIS StoryMap.


I hope you find it useful...

MVP Esteemed Contributor

Great stuff Peter!  Thanks for sharing!

Esri Frequent Contributor

Excellent workPeter Knoop!! We've been hoping a member of our storytelling community would write a script or notebook to do this, so thank you for your efforts and attention to detail. I haven't personally tested this yet, but your write up and associated story is great and appears to cover many of the nuances.

Note that we are planning some tools to help developers work with ArcGIS StoryMaps, so look out for those next year.

Occasional Contributor II

Thanks, Owen Evans‌. I look forward to checking out the new tools!  (Love to see the ability to convert or Save As a classic Cascade StoryMap as an ArcGIS StoryMap; that's our next most common challenge, however, it likely won't be a long-term one, as most of our community of users are creating new stories in the latter these days.)

New Contributor III

Just wanted to add my thanks for sharing this resource! Another team at my organization had an intern create a StoryMap for them that I learned after the fact was created using their student account. Thanks to your Notebook (and their university's admin) we were able to create an in-house copy so the team could make edits beyond the internship. A real time-saver!

About the Author
University of Michigan IT Advocate, GIS Evangelist, Cloud-Computing Champion, AR/MR/VR/XR Visionary, Software Poet, and paleoceanographer/geologist.