Select to view content in your preferred language

UPDATE: Classic Story Conversion Helper Now Supports Cascade!

4996
3
06-28-2023 01:00 PM
AbbyE_Esri
Esri Contributor
3 3 4,996

The Classic Story Conversion Helper, created by our team to help you transition your story content into ArcGIS StoryMaps, now supports stories created in classic Cascade templates! If you haven't yet, read over the general instructions and expectations for the conversion helper in this original blog post.

Considerations

Here are some caveats for using this convertor since adding support for Cascade templates:

  • For title sections in Cascade stories, the script will bring over the title as an AGSM heading, and the image will be placed as a floated image underneath.
  • Credits in Cascade will not convert.
  • Colored text will not be preserved.
  • Captions will only be converted for cascade stories, and not for Series stories.
  • Alt text is converted for cascade stories (except for alt text within immersive blocks).
  • The script will determine a light or dark theme for Cascade stories, and respectively apply the either the Summit or the Obsidian theme, regardless of the theme selection in the script.
  • Videos in the cover for Cascade stories will not be migrated.
  • Some hyperlinks may not transfer successfully.
  • Map and media actions will not migrate from stories created with Journal or Series templates.
  • This is not an official product, and hence not supported for troubleshooting by Esri Technical Support.

With all the notes above, we highly encourage you to use this converter tool as a starting point for moving your stories to the ArcGIS StoryMaps story builder. Once you have run the converter, take some time to review the original and migrated content to see what formatting may not have made the switch. You can manually make edits to the story in the new builder to ensure the content is equivalent.

Feedback

Please give the converter a try here and let us know what you think! We appreciate any feedback, whether that be what is working well in the tool, or improvements you'd like to see to the converter for the future. Though we can not guarantee we will make significant alterations to the tool, we will consider making tweaks if they are highly suggested by the community.

Try out the new Conversion Helper tool here: https://www.arcgis.com/home/item.html?id=bc35e93d5d374e1a9c3583be0cc9f1d7.

3 Comments
TrebinMT
Occasional Contributor

@AbbyE_Esri  we are getting an error trying to convert a Cascade Classic Story Map.  The app itself has no errors and the imagery shows up.  However, the script kicks out some kind of error with the imagery when trying to pull it.   Any advice? (as our windows of fixing is closing?)

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/tmp/ipykernel_63/2812262041.py in <cell line: 0>()
----> 1 convert_classic(classic_story_id,theme_id=theme_id)

/tmp/ipykernel_63/3135885597.py in convert_classic(itemid, theme_id)
   1186         classic_type = 'cascade'
   1187         print('converting Cascade')
-> 1188         convert_cascade(itemid,theme_id=theme_id)
   1189     else:
   1190         raise Exception('Sorry this code only support MapJournal,MapSeries and Cascade Classic StoryMaps')

/tmp/ipykernel_63/3135885597.py in convert_cascade(itemid, theme_id)
   1093         raise Exception('Sorry this Cascade seems to be empty')
   1094     for section in classic_sections:
-> 1095         process_section(section, new_storymap)
   1096     #---------------------------------------------------------
   1097     # Remove images created during conversion

/tmp/ipykernel_63/3135885597.py in process_section(section, storymap)
    556                 cover_media = process_img_tag(cover_media)
    557                 cover_image = sc.Image(path=cover_media)
--> 558                 storymap.cover(image=cover_image)
    559             if cover_media_type == 'video':
    560                 # Print warning that video covers are not supported in the current version of the python API

/opt/conda/lib/python3.11/site-packages/arcgis/apps/storymap/story.py in cover(self, title, type, summary, by_line, image)
    504         """
    505         # call method to update cover
--> 506         utils.cover(self, title, type, summary, by_line, image)
    507         return True
    508 

/opt/conda/lib/python3.11/site-packages/arcgis/apps/storymap/_utils.py in cover(story, title, type, summary, by_line, media)
    115         if media.node not in story._properties["nodes"]:
    116             # must be added to story resources
--> 117             media._add_to_story(story=story)
    118         story._properties["nodes"][story_cover_node]["children"] = [media.node]
    119     else:

/opt/conda/lib/python3.11/site-packages/arcgis/apps/storymap/story_content.py in _add_to_story(self, story, **kwargs)
    396 
    397         # Create resource node. Different if file path or url
--> 398         width, height = self._get_image_dimensions(self._path)
    399         if self._is_url is False:
    400             # Get image properties and create the resourceId that corresponds to the resource added

TypeError: cannot unpack non-iterable NoneType object
TrebinMT
Occasional Contributor

Also, will this script work on Classic Story Maps AFTER February 25th?

OwenGeo
Esri Notable Contributor

@TrebinMT - Yes, the script will work after the apps are retired on Feb 25.

The classic items (which is where your content lives) will remain. It is only the app code (which lets you view/edit the content) that is being retired from ArcGIS Online.