Converse.js adds webchat to a website

Converse.js is an open source web-based XMPP Instant Messaging client written in JavaScript that integrates a webchat client into any website. collective.xmpp.chat and collective.xmpp.core integrate Converse.js into Plone.

Converse javascript libraryConverse.js is an open source web-based XMPP Instant Messaging client. It is written in JavaScript, runs in the browser, and aims at providing the means to tightly integrate a webchat client into any website.

Converse.js was not designed to be a “Software-as-a-service” (SaaS) webchat, but it can connect to any accessible XMPP/Jabber server, either from a public provider (like jabber.org), or to the individually set up one. Ideally website owners should host Converse.js themselves and work with the code so that webchat client is configured customly for the needs of specific website.

Converse.js supports both single-user chat and multi-user chatrooms. It allows to accept or decline contact requests, choose chat statuses (online, busy, away, offline) or add custom status messages. This XMPP chat client supports vCard (full name and profile picture support), service discovery and contact rosters, as well as off-the-record encryption (via OTR.js). Converse.js is translated into multiple languages, including German, French, Spanish, Italian, Russian, etc. Among other functionality are third person messaging (/me ), typing notifications, manual or automatic subscription to other contacts, roster item exchange, etc.

As for session support, by default the chat client will disconnect after page reload. To change this behavior and have single-signon functionality (users that are logged into the website will also automatically be logged in on the chat server) website owner will need to set up an XMPP server and add some server-side code. In this case Converse.js gives website users a much more streamlined and integrated webchat experience and website owner - control over the data.

There are several products that integrate Converse.js into other frameworks, as well as facilitate in adding single-signon support and a database model to store XMPP credentials:

collective.xmpp.chat uses Converse.js and open XMPP messaging protocol to provide Plone with a web-based chat client. Additionally to Converse.js functionality package provides chatrooms topics and configuration (privacy, persistency etc.).

Converse.js serves its main goal - to add instant messaging functionality to websites. It is quite secure for sensitive information. Logging in happens via SASL. Converse.js makes encrypted HTTPS requests to a connection manager, which, in turn, makes an SSL/TLS encrypted connection to an XMPP server. Since XMPP has federated nature, users can chat with any other public XMPP account (once they have been accepted as a contact). To get more information visit conversejs website.

 

Connect with our experts Let's talk