Troubleshooting
Issue with Cypress tests and login flow in iframe integration
-
Module developers have reported that the integration and login flow of their module is working well in production.
-
However, when Cypress tests are executed, the Multitenant Access Control login page is displayed instead of the module page in Web Portal.
-
⇒ Currently, there is no solution available for this issue.
Troubleshooting deep-linking issues
-
When sending a URL change event to Web Portal, ensure that the URL sent is in accordance with the HTML file attribute used for registering the views.
-
For example, if the HTML file attribute for the view is "/rema/Schedule/Configuration", the URL change event should send the URL as "rema/Schedule/…". If the URL sent does not include the "rema" keyword in front, Web Portal will not be able to match the HTML file attribute.
Migration from old UI library versions
Changes
-
The new class
IframeIntegrationLibrary
provides a common API for all types of views (embedded, view, widget, widget settings, dialog). -
Developers can now detect how their views are being displayed within applications and react accordingly using the
MODE
variable. -
The library will block features that are not currently available and display a message in the console.
-
If a module UI is used as both a normal view and a dialog for other modules, the current mode (view or dialog) will be set during initialization and can be used to adjust the view’s behavior.
Migration notes
With the release of version 5.10 of the iframe-integration-library
, a new API is required. The communication method via postMessage
remains the same. The old APIs (view
, embedded
, widget
, widgetSettings
, dialog
) have been marked as deprecated and will no longer be maintained.
It is recommended to upgrade to the improved and more secure unified IframeIntegrationLibrary
API as soon as possible. This API is aware of the mode the application is running in.
-
Functionality-wise, nothing has changed significantly.
-
Some function names have changed, but a simple find and rename should suffice.
-
Mainly, replace
view
,embedded
,dialog
,widget
, andwidgetSettings
withIframeIntegrationLibrary
.
-
-
A new method called
init
(see below documentation) needs to be called during the bootstrapping of your application.-
Refer to the documentation for an example.
-
Web Portal uses the
init
implementation to communicate the mode the view will operate in and the origin to secure the communication.
-
-
The
init
method for widgets and widget settings has been renamed to avoid clashes with theinit
method of theIframeIntegrationLibrary
.-
For widgets, replace
widget.init
withIframeIntegrationLibrary.initWidget
. -
For widget settings, replace
widgetSettings.init
withIframeIntegrationLibrary.initWidgetSettings
.
-
-
It is now possible to determine the mode in which your view is operating, allowing for responsive UI within different uses in Web Portal. Refer to the
getMode
functionality. -
It is now possible to check if a function is available within the current mode using the
isFunctionAvailable
method. This allows the application to react accordingly based on its current usage. Refer to the functionality section for more details on what functions are available in each mode.