<h1><aclass="toc-backref"href="#id1">Introduction</a><aclass="headerlink"href="#introduction"title="Permalink to this headline">¶</a></h1>
<h1><aclass="toc-backref"href="#id1">Introduction</a><aclass="headerlink"href="#introduction"title="Permalink to this headline">¶</a></h1>
<p>Even though you can connect to public XMPP servers on the <aclass="reference external"href="http://conversejs.org">conversejs.org</a>
<p>Even though you can connect to public XMPP servers on the <aclass="reference external"href="http://conversejs.org">conversejs.org</a>
website, <em>Converse.js</em> is not meant to be a “Software-as-a-service” (SaaS)
website, <em>Converse.js</em> is not really meant to be a “Software-as-a-service” (SaaS)
webchat.</p>
webchat.</p>
<p>Instead, its goal is to provide the means for website owners to add a tightly
<p>Instead, its goal is to provide the means for website owners to add a tightly
integrated instant messaging service to their own sites.</p>
integrated instant messaging service to their own sites.</p>
<p>As a website owner, you are expected to host <em>Converse.js</em> yourself, and to do some legwork to
<p>As a website owner, you are expected to host <em>Converse.js</em> yourself, and to do some legwork to
properly configure and integrated it into your site.</p>
properly configure and integrate it into your site.</p>
<p>The benefit in doing this, is that your users have a much more streamlined and integrated
<p>The benefit in doing this, is that your users have a much more streamlined and integrated
webchat experience and that you have control over the data. The latter being a
webchat experience and that you have control over the data. The latter being a
requirement for many sites dealing with sensitive information.</p>
requirement for many sites dealing with sensitive information.</p>
<p>You’ll need to set up your own XMPP server and in order to have
<p>You’ll need to set up your own XMPP server and in order to have
single-signon functionality, whereby users are authenticated once and stay
<aclass="reference internal"href="#session-support">Session support</a> (i.e. single-signon functionality whereby users are authenticated once and stay
logged in to XMPP upon page reload, you will also have to add some server-side
logged in to XMPP upon page reload) you will also have to add some server-side
code.</p>
code.</p>
<p>The <aclass="reference internal"href="#what-you-will-need">What you will need</a> section has more information on all these
<p>The <aclass="reference internal"href="#what-you-will-need">What you will need</a> section has more information on all these
requirements.</p>
requirements.</p>
...
@@ -125,9 +125,10 @@ requirements.</p>
...
@@ -125,9 +125,10 @@ requirements.</p>
<h2><aclass="toc-backref"href="#id3">An XMPP/Jabber server</a><aclass="headerlink"href="#an-xmpp-jabber-server"title="Permalink to this headline">¶</a></h2>
<h2><aclass="toc-backref"href="#id3">An XMPP/Jabber server</a><aclass="headerlink"href="#an-xmpp-jabber-server"title="Permalink to this headline">¶</a></h2>
<p><em>Converse.js</em> implements <aclass="reference external"href="https://en.wikipedia.org/wiki/Xmpp">XMPP</a> as its messaging protocol, and therefore needs
<p><em>Converse.js</em> implements <aclass="reference external"href="https://en.wikipedia.org/wiki/Xmpp">XMPP</a> as its messaging protocol, and therefore needs
to connect to an XMPP/Jabber server (Jabber is really just a synonym for XMPP).</p>
to connect to an XMPP/Jabber server (Jabber is really just a synonym for XMPP).</p>
<p>You can either set up your own XMPP server, or use a public one. You can find a
<p>You can connect to public XMPP servers like <ttclass="docutils literal"><spanclass="pre">jabber.org</span></tt> but if you want to
list of public XMPP servers/providers on <aclass="reference external"href="http://xmpp.net">xmpp.net</a> and a list of servers that
have <aclass="reference internal"href="#session-support">Session support</a> you’ll have to set up your own XMPP server.</p>
you can set up yourself on <aclass="reference external"href="http://xmpp.org/xmpp-software/servers/">xmpp.org</a>.</p>
<p>You can find a list of public XMPP servers/providers on <aclass="reference external"href="http://xmpp.net">xmpp.net</a> and a list of
servers that you can set up yourself on <aclass="reference external"href="http://xmpp.org/xmpp-software/servers/">xmpp.org</a>.</p>
</div>
</div>
<divclass="section"id="connection-manager">
<divclass="section"id="connection-manager">
<h2><aclass="toc-backref"href="#id4">Connection Manager</a><aclass="headerlink"href="#connection-manager"title="Permalink to this headline">¶</a></h2>
<h2><aclass="toc-backref"href="#id4">Connection Manager</a><aclass="headerlink"href="#connection-manager"title="Permalink to this headline">¶</a></h2>
...
@@ -164,8 +165,8 @@ website. This will remove the need for any cross-domain XHR support.</p>
...
@@ -164,8 +165,8 @@ website. This will remove the need for any cross-domain XHR support.</p>
<h2><aclass="toc-backref"href="#id6">Server-side authentication</a><aclass="headerlink"href="#server-side-authentication"title="Permalink to this headline">¶</a></h2>
<h2><aclass="toc-backref"href="#id6">Server-side authentication</a><aclass="headerlink"href="#server-side-authentication"title="Permalink to this headline">¶</a></h2>
<h3><aclass="toc-backref"href="#id7">Session support (i.e. single site login)</a><aclass="headerlink"href="#session-support-i-e-single-site-login"title="Permalink to this headline">¶</a></h3>
<h3><aclass="toc-backref"href="#id7">Session support</a><aclass="headerlink"href="#session-support"title="Permalink to this headline">¶</a></h3>
<p>It’s possible to enable single-site login, whereby users already
<p>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,
authenticated in your website will also automatically be logged in on the chat server,
but this will require custom code on your server.</p>
but this will require custom code on your server.</p>
...
@@ -195,7 +196,7 @@ practical.</p>
...
@@ -195,7 +196,7 @@ practical.</p>
<p>You’ll most likely want to implement some kind of single-signon solution for
<p>You’ll most likely want to implement some kind of single-signon solution for
your website, where users authenticate once in your website and then stay
your website, where users authenticate once in your website and then stay
logged into their XMPP session upon page reload.</p>
logged into their XMPP session upon page reload.</p>
<p>For more info on this, read <aclass="reference internal"href="#session-support-i-e-single-site-login">Session support (i.e. single site login)</a>.</p>
<p>For more info on this, read <aclass="reference internal"href="#session-support">Session support</a>.</p>
<p>You might also want to have more fine-grained control of what gets included in
<p>You might also want to have more fine-grained control of what gets included in
the minified Javascript file. Read <aclass="reference internal"href="#configuration">Configuration</a> and <aclass="reference internal"href="#minification">Minification</a> for more info on how to do
the minified Javascript file. Read <aclass="reference internal"href="#configuration">Configuration</a> and <aclass="reference internal"href="#minification">Minification</a> for more info on how to do