Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

...

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!

...

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

    image-20240510-082644.pngImage Added

Dependencies

  • Bizzomate websockets

Optional dependencies

  • Encryption

    • References to this module can be deleted Only required when encryption is disabledenabled. 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:

...

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.