App status management

In map.apps SDI it is possible to save the state of an app, share it with other people and restore it again at a later time.

The parts of your app and your configuration you can save and share through a link and load again are

  • all map services,

  • the visibility of services and layers,

  • the transparency of services,

  • the order of services, groups and layers,

  • the background services,

  • object sketchings,

  • map.apps ETL uploads,

  • the spatial reference system (SRS) and

  • the map scale.

Other things, e.g. the selected Styled Layer Descriptors (SLDs) for a WMS service, are not saved.

If you store app states with geometries and data from map.apps ETL uploads, then the save state database size will grow faster than without data from map.apps ETL uploads.

Use map.apps ETL upload tool config parameters maxFeaturesPerLayer and maxUploadSize to limit uploads.

Usage

The Save State backend service is required to save app states on the server. To configure the URL to this service, edit the map.apps application.properties file and add the following property:

savestate.service.url=http://yourserver:port/savestate/resources/appstates

Always assign unique IDs (id property) to services and layers in your map configurations in the app.json so that all supported aspects can be saved properly. If you do not specify IDs, dynamic IDs will be generated. Since these dynamic IDs vary with every app start, they do not work properly in combination with app states.

The sdi_appstatemanagerintegration bundle can only be used for integration into map.apps Manager. It is not designated for use in an ordinary map.apps app.

This bundle is not compatible with the map.apps parametermanager bundle.

Please make sure that the parametermanager and the sdi_appstatemanagement bundles are not present in the same app at the same time. Note that some bundles, like the parameter-url bundle, depend on the parametermanager bundle and cause it to be started in the app without explicitly mentioning it in the app’s allowedBundles list.

Therefore, exclude all bundles that depend on the parametermanager bundle, too. You can figure out the bundles that require the parametermanager bundle by checking the dependencies property within those bundles' manifest.json files.

Restricting the visibility of app states

You can restrict access to app states for personal use only or dedicated user roles. You can restrict an app state’s visibility to your own user roles. If an app state is visible for multiple user roles, all users possessing at least one of those roles are allowed to load that app state. If you are not logged in you can only create public app states. These can be updated and deleted by all other users of that app. An admin user can see, update or delete every application state — independently of app and restricted visibility.

Restricting the visibility of app states requires a security configuration. See Security configuration for more details.

restrictions