4.1. Quick start
- 1 Getting started
- 1.1 Dependencies
- 1.1.1 Optional dependencies
- 1.2 Module roles suggestions
- 1.2.1 Bizzomate websockets
- 1.2.2 User
- 1.2.3 Administrator
- 1.3 License
- 1.4 Regarding multi instance apps
- 1.1 Dependencies
Getting started
Utilizing the chat functionality is an out-of-the-box experience, with a few requirements to begin.
Start by downloading the module from the Marketplace.
Then, download the dependencies as mentioned in the 'Dependencies' section.
Add the 'ASU_Websockets' microflow to your main application after startup microflow (from the Bizzomate websockets module).
Place Snippet “SNIP_BizzomateWebsockets“ from Bizzomate websockets in your main layout (it should be in the layout of every page that needs chat).
Configure the security settings as per your requirements.
Finally, add the snippet 'SNIP_Chat_And_Channel' to your desired page, and you're all set to go!
(Optional) if you want to create a single chat see the examples folder on how to create a new chat progmatically
Dependencies
Bizzomate websockets
Optional dependencies
Encryption
Only required when encryption is enabled. Encryption actions can be removed otherwise.
Icons collection Atlas and Atlas_Filled (will be in your project by default if you have Atlas_Core)
Can be replaced with your own icons in the snippets
Module roles suggestions
Bizzomate websockets
Make sure every userrole that uses chat has a “user” userrole in BizzomateWebsockets
User
The module offers various module roles that can be assigned to user roles according to your preferences. To be able to chat you’ll need the user role: ReadWrite_OwnChats. From there you can add additional privilages as needed:
Actions_CreateNewChats
Actions_DeleteOwnChats
Actions_WriteOwnAvatar
Actions_WriteOwnUsername
Administrator
There are also some admin privilages:
Read_AllMessages - Like the name implies, you’ll be able to read all messages of all users
Read(Write)_AllOtherData - This is all non message data. It’s a useful for admins to allow them to read and write data that is not AVG sensitive.
Config - Useful for Administrators (e.g. manage scheduled events)
License
Experimenting with the Chat widget locally on your PC or within a Mendix sandbox environment doesn't require a license. However, a license is required for a production build.
Additionally, a license is unnecessary when the app is in production but the Chat widget isn't utilized on any pages. In such instances, you can merely provide an empty variable or constant.
Regarding multi instance apps
At present, our chat component does not support multi-instance applications. This limitation arises from the nature of WebSockets, which are inherently stateful, while multi-instance applications necessitate a stateless server environment. Currently, the Mendix platform does not offer any workarounds to address this incompatibility.
Additionally, our widget relies on "Mendix widget" placeholders that allow Mendix widgets to be embedded within elements like message content. Unfortunately, this feature is not supported by the REST API, further complicating potential solutions.
We are investigating potential solutions and workarounds to support multi-instance applications in the future.