Cereal appealed to me because a client asked for the ability to save the state of a custom web application. The idea was they could pan, zoom and draw on our custom web application and then save the map state and share it with someone else. Although I never implemented the feature request, here are two ways I think it would work.
Save map state on a server
- The custom application would have a “Save” button with an onClick function that passes the esri/Map instance to Cereal to generate JSON compatible with the ArcGIS Web Map specification.
- The JSON could be saved to a database on the server with a UUID.
- The application could use a query string with the UUID to request the JSON from the database and pass the JSON as a string to the arcgisUtils.createMap function to generate the map.
Save map state as a file
- The “Save” button’s onClick function passes the esri/Map instance to Cereal and generates a JSON file for the user to save to their computer.
- The saved JSON file could be shared with others via email or social media.
- The JSON file can be drag and dropped onto the custom web application which then passes the contents of the file to the arcgisUtils.createMap function to generate the map.
“Why I starred” is a series of articles describing projects I star on GitHub and why I found them interesting. My hope is that you’ll find them interesting as well.