Allow for real-time server to client communication using websockets without external dependencies or runtime configuration
-
✅ 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
-
✅ v1.4.0 update Added message feature
-
✅ v1.4.2 update Added multi-instance support as a separate addon module link
-
✅ v2.0.0 ping/pong update
- Added keepalive using websockets native ping/pong mechanism
- Removed sessionTimeout parameter from easy websocket initialization for even easier websocket initialization
- Added advanced websocket initialization for tweaking session timing parameters
-
Add one of the
JA_AddWebsocketEndpoint_XXX
-actions to your afterstartup flowSee the documentation tab of the Java actions' properties to check which one fits your usecase
-
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
If you initialize the websocket with one of the JA_AddWebsocketEndpoint_XX_CallMicroflowOnDisconnect
actions 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
-
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 attribute: Configure attribute to receive messages sent directly from the notify action on
Timeout action: If you configured a sessiontimeout during the initialization you can configure the action to perform on sessiontimeout here
Note that you might need to use the advanced websocket initialization to turn off the keepalive mechanisim
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 one of the JA_AddWebsocketEndpoint_XX_CallMicroflowOnDisconnect
actions
- This is the string parameter that will be passed to the on close microflow
-
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
and/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