Renderer SDKs
This guide assists in migrating from FlowX v3.4.x to v4.0.
Web SDK migration guide
Theming changes
All old configurations linked with the previous theming setup (versions prior to 4.0) must be removed from your SDK deployment:
- Review Usage: Identify where you have applied theming v1 configurations in your project.
3.4.x example:
- Update to Theming 4.0: Revise your theming configurations to use the latest theming v2 approach. Refer to our documentation or migration resources for guidance on transitioning to the new theming.
Theming setup
Learn more
Authorization token
- AuthToken Management: The ui-sdk no longer relies on the authToken being stored in LOCAL_STORAGE. Instead, the ‘access_token’ is now passed as an input to the
<flx-process-renderer>
component through a private variable.
Breaking change: This update is mandatory for proper functionality of SSE (Server-Sent Events).
By adopting this approach, clients gain the flexibility to implement the most secure token management strategy tailored to their specific security needs. Moreover, shifting the responsibility to the container application for updating the ‘access_token’ input ensures that any changes or refreshes to the authToken are securely managed within the application’s domain. This proactive approach effectively mitigates potential security vulnerabilities associated with token management, offering a robust and adaptable solution.
Authorization
Learn more
iOS SDK migration guide
Integration changes
The module name has changed from FlowX
to FlowXRenderer
.
Any files importing the SDK should be updated with the new module name.
Initialization config changes
A new configuration parameter, named enginePath
was added to FXConfig
. It represents the URL path component to the process engine.
Theming changes
The theming setup mechanism was updated.
iOS Theming setup
Learn more
Custom components
- The type of
data
property of custom components has changed from[String: Any]
toAny
. - As a consequence, type checking, casting and extracting the needed data must be part of the implementation details of the custom component.
Custom components
Learn more
Start process updates
- The API for starting a process has changed.
- There are now 3 methods available.
How to start a process
Learn more
Continue process updates
- The API for resuming an existing process has changed.
- There are now 3 methods available.
How to resume an existing process
Learn more
Android SDK migration guide
Initialization config changes
A new configuration parameter, named enginePath
was added for identifying the FlowX Process Engine microservice.
When the SDK initialization happens through the FlowxSdkApi.getInstance().init(...)
method, the argument has to be set inside the config: SdkConfig
parameter value:
Authentication changes
The authentication mechanism has changed, so instead of passing the String
value for the access token, a FlowxSdkApi.Companion.AccessTokenProvider
must be used instead.
This provider is defined as a functional interface returning the actual value of the access token:
Related changes:
- The provider can be passed if the business logic allows it when calling the
FlowxSdkApi.getInstance().init(...)
.
As a consequence, the new signature for the FlowxSdkApi.getInstance().init(...)
is:
- The
FlowxSdkApi.getInstance().startProcess(...)
accessToken
parameter was dropped. It is not needed anymore, as the authentication will rely solely on theAccessTokenProvider
.
The new signature of this method is:
- The
FlowxSdkApi.getInstance().continueProcess(...)
accessToken
parameter was dropped. It is not needed anymore, as the authentication will rely solely on theAccessTokenProvider
.
The new signature of this method is:
- The calls of the
FlowxSdkApi.getInstance().updateAccessToken("some_access_token")
method must be replaced by calls of theFlowxSdkApi.getInstance().setAccessTokenProvider(accessTokenProvider = { "some_access_token" })
.
Whenever the access token changes based on your own authentication logic, it must be updated in the renderer by calling the setAccessTokenProvider
method again.
Authentication mechanism
Learn more
Theming changes
The theming mechanism was replaced by a new approach, which enforces loading a theme before starting or resuming a process.
Related changes:
- The
ai.flowx.android.sdk.process.model.SdkConfig
theming related parameters (i.e.themeTokensJsonFileAssetsPath
andthemeComponentsJsonFileAssetsPath
) were dropped.
Because of that, when configuring the library through the FlowxSdkApi.getInstance().init(...)
method, the config
parameter will look like this:
- For styling the UI components displayed when rendering a process while authenticated, the
FlowxSdkApi.getInstance().setupTheme(...)
method must be called before starting or resuming any process:
This will fetch a priorly defined theme in the FlowX Designer, cache it and then load its properties.
A process should be started or resumed only after the onCompletion
closure is called, signaling the completion of setting up the theme.
Theming mechanics
Learn more
Custom components changes
-
All
import ai.flowx.android.sdk.component.*
directives must be changed toimport ai.flowx.android.sdk.ui.components.*
-
The type of the
data
parameter passed to a custom component through thepopulateUi(data: JSONObject)
method, both for@Composable
and for classicalView
system approaches, changed toAny?
.
Therefore, the new signature of the method ispopulateUi(data: Any?)
.
As a consequence, type checking, casting and extracting the needed data must be part of the implementation details of the custom component.
The value for the data
parameter received in the populateUi(data: Any?)
could be:
Boolean
String
java.lang.Number
org.json.JSONObject
org.json.JSONArray
Custom components
Learn more
Was this page helpful?