Overview of all update notes

To update map.apps SDI, follow all the update notes below that are between your current version and the new version.

5.5

App state management bundles

You can use the older versions without taking any action now. But these bundles are now deprecated and will be removed in the future.

Do not use the new and the old versions at the same time. Please make sure to remove the old bundles when migrating as described below.

For a default map.apps SDI installation follow these steps:

  1. Remove all deprecated bundles from your app(s)

    • sdi_appstatemanagement

    • sdi_appstatemanagementshared

    • sdi_appstatemanagerintegration

    • sdi_appstatestore

    • sdi_share-link

  2. Add new bundles to your app(s)

    • sdi_appstate-ui

    • sdi_appstate-share

    • sdi_appstate-map

    • sdi_appstate-layout

  3. Configure the new map.apps Manager integration

    1. Open the map.apps application.properties file.

    2. From the property manager.config.viewbundles replace the entry sdi_appstatemanagerintegration with sdi_appstate-manager-integration.

Components that provides Parametrizable interface

The deprecated version of the map.apps SDI app state implementation used the map.apps Parametrizable interface to harvest the data for an app state. Therefore, all components that provided this interface were considered. However, this caused conflicts and the app state management could not be used simultaneously with the map.apps bundles parametermanager and parameter-url. To get over these issues, the interface sdi_appstate-api.EncoderDecoder was introduced which only slightly differs from the Parametrizable interface.

If you implemented a custom Parametrizable component for saving and restoring a certain aspect of your app, you will need to migrate it to the new sdi_appstate-api.EncoderDecoder interface.

For further information see the bundle documentation of the bundle sdi_appstate-api.

New data structure for app states

The internal JSON structure of an app state has changed. In the past version all URL parameters were located at the root level of the JSON object. In the current version, an enclosing property layer was introduced that wraps up all properties belonging to a single EncoderDecoder.

For backward compatibility the new implementation automatically converts legacy app states to the new data structure. For this reason, a mapping from the parameter name to the corresponding EncoderDecoder is required. For the EncoderDecoders shipped with map.apps SDI, no configuration is necessary. However, if you implemented a custom EncoderDecoder, you will have to add an entry to the customDecoderMap of the LegacyStateConversionConfig component in the sdi_appstate-api bundle.

For further information refer to the documentation of the sdi_appstate-api bundle.

5.4

Savestate service database schema

A new field and a new table have been added to the database schema for the Savestate service. By default, these schema changes are applied automatically to the database when the service is started. However, if you made changes to the db.hibernate.schemaUpdate property in your application.properties file this might not happen automatically. Therefore, ensure the property’s value is configured as such:

db.hibernate.schemaUpdate=update

5.3

Savestate service database schema

A new field has been added to the database schema for the Savestate service. By default, this field is added automatically when the service is started. However, if you made changes to the db.hibernate.schemaUpdate property in your application.properties file this might not happen automatically. Ensure its value is configured as such:

db.hibernate.schemaUpdate=update

The configuration for the properties shareTitle and shareMessage has been moved from the Config component to the ShareAppStateLinkCommand component.

Example

Old configuration:

{
    "sdi_share-link": {
        "Config": {
            "shareTitle": "My Title",
            "shareMessage": "The message"
        }
    }
}

New configuration:

{
    "sdi_share-link": {
        "ShareAppStateLinkCommand": {
            "shareTitle": "My Title",
            "shareMessage": "The message"
        }
    }
}

The Config component has been removed. See the sdi_share-link bundle documentation for details.

5.0

5.0.1

Regarding SDIEXT-868 some changes from map.apps SDI 5.0.0 to 5.0.1 had to be made (especially when programming own code this should be considered):

  • Renaming of sdi_themes_extension bundle to sdi_themes_extension5

  • Renaming of sdi_statemanagement widget role to sdi_statemanagement5

  • Renaming of appmanagement_managerAppStateListTool to appmanagement_managerAppStateListTool5

  • New appmanagement_managerAppStateListTool5 title