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.properties
file. -
From the property
manager.config.viewbundles
replace the entrysdi_appstatemanagerintegration
withsdi_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_extension
bundle tosdi_themes_extension5
-
Renaming of
sdi_statemanagement
widget role tosdi_statemanagement5
-
Renaming of
appmanagement_managerAppStateListTool
toappmanagement_managerAppStateListTool5
-
New
appmanagement_managerAppStateListTool5
title