2013-03-28 16:42:49 +01:00
<!DOCTYPE html>
< html >
2013-04-02 00:16:58 +02:00
< head >
2013-03-28 16:42:49 +01:00
< meta charset = 'utf-8' / >
< meta http-equiv = "X-UA-Compatible" content = "chrome=1" / >
2013-04-17 12:11:59 +02:00
< meta name = "description" content = "Converse.js: Open Source Browser-Based Instant Messaging" / >
2013-03-28 16:42:49 +01:00
< link rel = "stylesheet" type = "text/css" media = "screen" href = "stylesheets/stylesheet.css" >
2013-04-17 12:11:59 +02:00
< link rel = "stylesheet" type = "text/css" media = "screen" href = "converse.css" >
< script data-main = "main" src = "Libraries/require-jquery.js" > < / script >
2013-03-28 16:42:49 +01:00
< title > Converse.js< / title >
2013-04-02 00:16:58 +02:00
< / head >
2013-03-28 16:42:49 +01:00
2013-04-02 00:16:58 +02:00
< body >
2013-03-28 16:42:49 +01:00
<!-- HEADER -->
< div id = "header_wrap" class = "outer" >
< header class = "inner" >
< a id = "forkme_banner" href = "https://github.com/jcbrand/converse.js" > View on GitHub< / a >
< h1 id = "project_title" > Converse.js< / h1 >
< h2 id = "project_tagline" > Browser-based Instant Messaging with Strophe.js and Backbone.js< / h2 >
< section id = "downloads" >
< a class = "zip_download_link" href = "https://github.com/jcbrand/converse.js/zipball/master" > Download this project as a .zip file< / a >
< a class = "tar_download_link" href = "https://github.com/jcbrand/converse.js/tarball/master" > Download this project as a tar.gz file< / a >
< / section >
< / header >
< / div >
<!-- MAIN CONTENT -->
< div id = "main_content_wrap" class = "outer" >
2013-04-17 12:11:59 +02:00
< section id = "main_content" class = "inner" >
2013-04-19 00:09:04 +02:00
< p > < strong > Converse.js< / strong > implements an < a href = "http://xmpp.org" target = "_blank" > XMPP< / a > based instant messaging client in the browser.< / p >
< p > It is used by < a href = "http://github.com/collective/collective.xmpp.chat" target = "_blank" > collective.xmpp.chat< / a > , which is a < a href = "http://plone.org" target = "_blank" > Plone< / a > instant messaging add-on.< / p >
2013-04-17 12:11:59 +02:00
< p > The ultimate goal is to enable anyone to add chat functionality to their websites, regardless of the backend.< / p >
< p > This is currently possible, except for adding new contacts, which still makes an XHR call to the (Plone) backend to fetch user info.< / p >
2013-03-28 16:42:49 +01:00
2013-04-17 12:11:59 +02:00
< h2 > Features< / h2 >
< ul >
< li > Manually or automically subscribe to other users.< / li >
< li > Accept or decline contact requests< / li >
< li > Chat status (online, busy, away, offline)< / li >
< li > Custom status messages< / li >
< li > Typing notifications< / li >
< li > Third person messages (/me )< / li >
< li > Multi-user chat in chatrooms< / li >
< li > Chatroom Topics< / li >
< li > vCard support< / li >
< / ul >
2013-03-28 16:42:49 +01:00
2013-04-17 12:11:59 +02:00
< h2 > Screencasts< / h2 >
< ul >
2013-04-19 00:09:04 +02:00
< li > < a href = "http://opkode.com/media/blog/instant-messaging-for-plone-with-javascript-and-xmpp" target = "_blank" > Screencast 1< / a > :
2013-04-17 12:11:59 +02:00
Integrated into a Plone site via < strong > collective.xmpp.chat< / strong > .
< / li >
2013-04-19 00:09:04 +02:00
< li > < a href = "http://opkode.com/media/blog/2013/04/02/converse.js-xmpp-instant-messaging-with-javascript" target = "_blank" > Screencast 2< / a > :
2013-04-17 12:11:59 +02:00
A static HTML page with < em > Converse.js< / em > . Here we chat to external XMPP accounts on Jabber.org and Gmail.
< / li >
< / ul >
2013-03-28 16:42:49 +01:00
2013-04-19 00:09:04 +02:00
< h2 > Demo< / h2 >
< p >
The code in Converse.js is pretty solid and already used in production
in Plone installations. It's however not yet 100% ready for prime-time
as a standalone client.
< / p >
< p >
Nevertheless, you can try out the current functionality on this page.
< / p >
< p >
< a href = "#" class = "chat toggle-online-users" > Click this link< / a > or
click the link on the bottom right corner.
< / a >
< / p >
< p >
Besides providing valid credentials for an XMPP/Jabber account, you'll also have to provide
the details of a < a target = "_blank" href = "http://metajack.im/2008/09/08/which-bosh-server-do-you-need" > BOSH Connection Manager< / a > .
I intend to set up a connection manager for people to play with in the
near future, but for the moment I unfortunately can't help you there.
< / p >
< p >
You can create a Jabber/XMPP account at any of these providers:
< ul >
< li >
< a href = "http://jabber.org" target = "_blank" > jabber.org< / a >
< / li >
< / li >
< li >
< a href = "https://jappix.com" target = "_blank" > jappix.com< / a >
< / li >
< li >
< a href = "https://gmail.com" target = "_blank" > gmail.com< / a >
< / li >
< / ul >
< / p >
2013-04-19 00:39:40 +02:00
< h2 > Tests< / h2 >
< / p >
We use the < a href = "http://pivotal.github.io/jasmine"
target="_blank">Jasmine< / a > testing framework to write tests.
The tests can be run in the browser and can be viewed < a href = "http://conversejs.org/tests.html" target = "_blank" > here< / a > .
< / p >
2013-04-17 12:11:59 +02:00
< h2 > Dependencies< / h2 >
< p > < strong > Converse.js< / strong > depends on a few third party libraries, including:
< ul >
2013-04-19 00:09:04 +02:00
< li > < a href = "http://strophe.im/strophejs" target = "_blank" > strophe.js< / a > < / li >
2013-04-19 17:15:10 +02:00
< li > < a href = "http://backbonejs.org" target = "_blank" > backbone.js< / a > < / li >
< li > < a href = "http://requirejs.org" target = "_blank" > require.js< / a > < / li >
2013-04-17 12:11:59 +02:00
< / ul >
< / p >
2013-04-11 13:53:21 +02:00
2013-04-17 12:11:59 +02:00
< h2 > Licence< / h2 >
2013-04-19 00:09:04 +02:00
< p > < strong > Converse.js< / strong > is released under both the < a href = "http://opensource.org/licenses/mit-license.php" target = "_blank" > MIT< / a >
and < a href = "http://opensource.org/licenses/gpl-license.php" target = "_blank" > GPL< / a > licenses.< / p >
2013-04-18 23:05:25 +02:00
< / section >
< / div >
<!-- FOOTER -->
< div id = "footer_wrap" class = "outer" >
< footer class = "inner" >
< p class = "copyright" > Converse.js maintained by < a href = "https://github.com/jcbrand" > jcbrand< / a > < / p >
< p > Published with < a href = "http://pages.github.com" > GitHub Pages< / a > < / p >
< / footer >
< / div >
2013-03-28 16:42:49 +01:00
2013-04-18 23:05:25 +02:00
< div id = "chatpanel" >
< div id = "collective-xmpp-chat-data" > < / div >
< div id = "toggle-controlbox" >
2013-04-19 00:09:04 +02:00
< a href = "#" class = "chat toggle-online-users" >
< strong class = "conn-feedback" > Click here to chat< / strong > < strong style = "display: none" id = "online-count" > (0)< / strong >
2013-04-18 23:05:25 +02:00
< / a >
2013-03-28 16:42:49 +01:00
< / div >
2013-04-18 23:05:25 +02:00
< / div >
2013-04-01 23:44:49 +02:00
2013-04-17 12:11:59 +02:00
< script type = "text/javascript" >
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
< / script >
< script type = "text/javascript" > try { var pageTracker = _gat . _getTracker ( "UA-2128260-8" ) ; pageTracker . _trackPageview ( ) ; } catch ( err ) { } < / script >
2013-03-28 16:42:49 +01:00
< / body >
< / html >