EZ Websocket
Overview
Allow for real-time server to client communication using websockets without external dependencies or runtime configuration.
Includes listener widgets for both web and native.
Documentation
EZWebSocket
Allow for real-time server to client communication using websockets without external dependencies or runtime configuration
Features
-
Easily set up 1 or more websocket servers
-
Configure 1 or more client-side actions
-
Configure either limited or unlimited sessiontimeout
-
Configure action to perform on sessiontimeout
-
Configure action to perform on user navigating away
-
v1.1.0 update Configure server-side microflow to be fired on websocket close
-
v1.3.0 update Added listener widget for native
-
v.1.4.0 update Added message feature
Usage
Initialize webserver
-
Add JA_AddWebsocketEndpoint or JA_AddWebsocketEndpoint_WithOnCloseMicroflow to your afterstartup flow
-
Create a websocketidentifier, this will also be the path to the websocketserver
I recommend storing this inside a constant with client exposure for reuse in notify action and the websocket client widget
- Optionally fill in the max idle time for users to this session
If you initialize the websocket with the JA_AddWebsocketEndpoint_WithOnCloseMicroflow action you will need to configure the following as well:
-
Select the onCloseMicroflow, the microflow can contain one string parameter
-
Fill in the name of the string parameter inside onCloseMicroflowParameterKey
Setup client connection
General tab
-
Place the EZ Websocket client widget inside a context entity
-
Configure the object Id
Note that the object database id is not available here, you will have to provide your own unique object id
-
Fill the websocket identifier with the same identifier from the websocket initialization
-
Configure one or more trigger/action combination(s)
Message handling tab
Message attribute: Configure attribute to receive messages sent directly from the notify action on
Websocket close behaviour tab
Timeout action: If you configured a sessiontimeout during the initialization you can configure the action to perform on sessiontimeout here
Navigate action: Executes action when the websocket component unrenders, examples of this are:
-
User navigates away from the page
-
User closes the page
-
The component becomes invisible
This does not get fired if the user closes the tab or the browser, use the onCloseMicroflow functionality instead
On close MF parameter: Only use this if the websocket is initialized using the JA_AddWebsocketEndpoint_WithOnCloseMicroflow action
- This is the string parameter that will be passed to the on close microflow
Notify all subscribers
-
Add JA_Notify action to your microflow
-
Configure the object Id of which you want to notify the subscribers of
-
Fill the websocket identifier with the same identifier from the websocket initialization
-
Configure the action trigger configured in the client widget
or
- Add a message you want to send to the clients
Note that the message attribute gets set before the action is executed so that the message is directly available inside the action
Issues, suggestions and feature requests
Known issues
No support for multi-instance yet