From Workspaces 2.2

Rocket.Chat enables Ametys to offer an instant chat system integrated into project spaces.

It is not possible to use an existing Rocket.Chat server that is already in use elsewhere(even by another instance ofAmetys), for several reasons:
* rights configuration will be modified
* Ametys will automatically create users from their mail address, which must be unique in Rocket.Chat.

Architecture

Depending on the expected traffic, it may be advisable to install Rocket.Chat on a different physical network machine fromAmetys.

The Ametys back-office application must be able to communicate with the Rocket.Chat server and vice versa via http/https.

Project space end-users must also be able to communicate directly with the Rocket.Chaten http/https server.

If at least CMS Ametys or one of the sites is configured in https, then Rocket.Chat must also be configured in https.

Installation

Perform a standard Rocket.Chat installation, but refuse all links to the official Rocket.Chat site at the time of configuration (no cloud service, no registration...).

Configuration

  • 1) Create an all-power administrator user who will be used to create users and private rooms.
    This user will be visible in conversation histories, for example: The user raf_utilisateur-local has been added by admin.
  • 2) In this account's preferences (be authenticated with this account, and go to "My account", "Personal access token"), create a personal access token for Ametys (without two-factor authentication) and keep the user ID and this token to put in the configuration. Ametys

Please note that token regeneration requires two-factor authentication. You must therefore delete and recreate the token if you have lost it.

  • 2b) In this account's preferences (be authenticated with this account, and go to "My account", "Security"), disable two-factor authentication.
  • 3) Customized administration/ layout/CSS
.avatar-image {
border-radius : 100px;
}
#react-user-card + div {
display: none !important;
}
#react-user-card + div .rcx-box {
display: none !important; 
}
#react-user-card .rcx-modal__backdrop {
z-index: -1;
}
*[data-qa-id="reply-directly"],
*[data-qa-id="reply-in-thread"],
*[data-qa-id="Reply_in_thread"],
*[data-qa-id="mark-message-as-unread"] {
display: none !important;
}
  • 4) Administration/Layout/Customized scripts/Customized rcipt for logged-in users
document.addEventListener('click', e => {
const url = (window.location != window.parent.location)
? document.referrer
: document.location.href,
memberCard = e.target.closest('.user-card-message')
if (memberCard) {
parent.postMessage({
evtname: 'user-card-click',
username: memberCard.parentNode.getAttribute('data-username'),
id: memberCard.parentNode.getAttribute('data-id')
}, url);
}
})
  • 5) In Administration/General: "Number of unread messages" AND "Number of unread messages for private messages", indicate "all messages".
  • 5b) In Administration/General: Activate "Activate CORS" and in "Origin of CORS" put the basicURL of project spaces example: "https://projects.ametys.io".
  • 5c) In Administration/General: Iframe integration, enable sending and enable receiving. + For both, set the basicURL for project spaces.
  • 5d) In Administration/General: NPS: deactivate "Enable NPS survey".
  • 6) In Administration/Sending files deactivate protection of sent files (in older versions of rocket.chat)
    or Administration/Settings/Uploading files and deactivate protection of uploaded files (in newer versions of rocket.chat)
  • 7) In Administration/Permissions, "user" profile (click on 100 at the bottom of the page for fewer pages), remove all rights except the following (Note that the list of rights is paginated on many pages)
    1. Create direct messages
    2. Delete Own Message
    3. Mention @all
    4. Mention here
    5. Display direct messages
    6. View history
    7. See the private lounge
  • 8) In Administration/Accounts: disable two-factor authentication

Please note: if you're installing Rocket.chat on existing project spaces, we recommend that you synchronize the chat servers after installation (see here).

Back to top