Document toolboxDocument toolbox

4.1. Quick start

 

chat-demo.mp4

Getting started

Utilizing the chat functionality is an out-of-the-box experience, with a few requirements to begin.

  1. Start by downloading the module from the Marketplace.

  2. Then, download the dependencies as mentioned in the 'Dependencies' section.

  3. Add the 'ASU_Websockets' microflow to your main application after startup microflow (from the Bizzomate websockets module).

  4. Place Snippet “SNIP_BizzomateWebsockets“ from Bizzomate websockets in your main layout (it should be in the layout of every page that needs chat).

  5. Configure the security settings as per your requirements.

  6. Finally, add the snippet 'SNIP_Chat_And_Channel' to your desired page, and you're all set to go!

  7. (Optional) if you want to create a single chat see the examples folder on how to create a new chat progmatically

    image-20240510-082644.png

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.