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:
-
Remove all deprecated bundles from your app(s)
-
sdi_appstatemanagement
-
sdi_appstatemanagementshared
-
sdi_appstatemanagerintegration
-
sdi_appstatestore
-
sdi_share-link
-
-
Add new bundles to your app(s)
-
sdi_appstate-ui
-
sdi_appstate-share
-
sdi_appstate-map
-
sdi_appstate-layout
-
-
Configure the new map.apps Manager integration
-
Open the map.apps
application.propertiesfile. -
From the property
manager.config.viewbundlesreplace the entrysdi_appstatemanagerintegrationwithsdi_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
Bundle sdi_share-link
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_extensionbundle tosdi_themes_extension5 -
Renaming of
sdi_statemanagementwidget role tosdi_statemanagement5 -
Renaming of
appmanagement_managerAppStateListTooltoappmanagement_managerAppStateListTool5 -
New
appmanagement_managerAppStateListTool5title