Converse.js is an open source, webchat client, that + runs in the browser and can be integrated into any website.
+ +It's similar to Facebook chat, but also supports multi-user chatrooms.
+ +Converse.js can connect to any accessible XMPP/Jabber server, either from a public provider such as + jabber.org, or to one you have set up + yourself. + +
It's possible to enable single-site login, whereby users already authenticated in your website will also automatically be logged in on the chat server, + but you will have to pre-authenticate them on your server. You can refer to the documentation for more + info.
+ +An add-on product that does exactly this, + already exists for the Plone CMS. Hopefully in the future more such add-ons will + be created for other platforms. +
+ +If you have integrated Converse.js into any other CMS or framework, + please let me know and I'll mention it on this page.
+ +Features
+-
+
- Single-user chat +
- Multi-user chat in chatrooms (XEP 45) +
- vCard support (XEP 54) +
- Service discovery (XEP 30) +
- Contact rosters +
- Manually or automically subscribe to other contacts +
- Accept or decline contact requests +
- Roster item exchange (XEP 144) +
- Chat statuses (online, busy, away, offline) +
- Custom status messages +
- Typing notifications +
- Third person messages (/me ) +
- i18n aware +
Screencasts
+-
+
- Screencast 1: + Integrated into a Plone site via collective.xmpp.chat. + +
- Screencast 2: + A static HTML page with Converse.js. Here we chat to external XMPP accounts on Jabber.org and Gmail. + +
Demo
+You can log in with any existing XMPP account. There is also a list of public XMPP providers on xmpp.net.
+Note: currently the demo doesn't work in Internet Explorer older + than 10. This is due to lacking support for CORS, + a standard which enables cross-domain XmlHttpRequests. There are ways + around this, but it hasn't been a priority for me to implement them for + this demo. +
++ See here for more information. +
+ + +Is it secure?
+Yes. In this demo Converse.js makes an + SSL encrypted connection to a secure connection manager. + The connection manager then uses SSL and TLS to connect to an XMPP server.
+ That said, the developers don't assume any liability for any loss or damages as a result of using this software or demo. Use this demo at your own risk. + +Session support
++ The chat client will disconnect whenever you reload the page. If you + want the user's session to persist across page reloads, you can + establish an authenticated connection on the server side and then attach to + this connection in your browser. +
+Converse.js already supports this usecase, but you'll have to do some integration work yourself.
+ + +Documentation
++ The documentation is still a bit sparse and a work in progress. + Nevertheless, you can read what's already written here. +
+ +Tests
++ We use the Jasmine testing framework to write tests. + The tests can be run in the browser and can be viewed here. +
+ +Credits and Dependencies
+Converse.js depends on a few third party libraries, including: +
-
+
- JQuery +
- strophe.js +
- backbone.js +
- require.js (optional dependency) +
Some images were taken from Plone and the + Open Icon Library. + +
Licence
+Converse.js is released under both the MIT + and GPL licenses.
+ +Contact
+You can follow me on Twitter and Identica
+My XMPP username is jc@opkode.im.
+Send me an email via this contact form.
+