@@ -115,7 +115,7 @@ properly configure and integrate it into your site.</p>
webchat experience and that you have control over the data. The latter being a
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
<ahref="#id24"><spanclass="problematic"id="id25">`Session Support`_</span></a> (i.e. 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
code.</p>
<p>The <aclass="reference internal"href="#what-you-will-need">What you will need</a> section has more information on all these
...
...
@@ -128,7 +128,7 @@ requirements.</p>
<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>
<p>You can connect to public XMPP servers like <ttclass="docutils literal"><spanclass="pre">jabber.org</span></tt> but if you want to
have <ahref="#id26"><spanclass="problematic"id="id27">`Session Support`_</span></a> you’ll have to set up your own XMPP server.</p>
have <aclass="reference internal"href="#session-support">Session Support</a> you’ll have to set up your own XMPP server.</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>
...
...
@@ -168,7 +168,7 @@ 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>
<h3><aclass="toc-backref"href="#id7">Pre-binding and Single Session Support</a><aclass="headerlink"href="#pre-binding-and-single-session-support"title="Permalink to this headline">¶</a></h3>
<spanid="session-support"></span><h3><aclass="toc-backref"href="#id7">Pre-binding and Single Session Support</a><aclass="headerlink"href="#pre-binding-and-single-session-support"title="Permalink to this headline">¶</a></h3>
<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,
but this will require custom code on your server.</p>
...
...
@@ -176,7 +176,7 @@ but this will require custom code on your server.</p>
<divclass="admonition note">
<pclass="first admonition-title">Note</p>
<pclass="last">If you want to enable single session support, make sure to pass <strong>prebind: true</strong>
when you call <strong>converse.initialize</strong> (see ./main.js).</p>
when you call <strong>converse.initialize</strong> (see ./index.html).</p>
</div>
<p>When you authenticate to the XMPP server on your backend, you’ll receive two
tokens, RID (request ID) and SID (session ID).</p>
<h1><aclass="toc-backref"href="#id8">Quickstart (to get a demo up and running)</a><aclass="headerlink"href="#quickstart-to-get-a-demo-up-and-running"title="Permalink to this headline">¶</a></h1>
<p>When you download a specific release of <em>Converse.js</em>, say for example version 0.3,
there will be two minified files inside the zip file.</p>
<p>For version 0.3 they will be:</p>
<p>When you download a specific release of <em>Converse.js</em> there will be two minified files inside the zip file.</p>
<ulclass="simple">
<li>converse.0.3.min.js</li>
<li>converse.0.3.min.css</li>
<li>converse.min.js</li>
<li>converse.min.css</li>
</ul>
<p>You can include these two files in your website via the <em>script</em> and <em>link</em>
<p>You can include these two files inside the <em><head></em> element of your website via the <em>script</em> and <em>link</em>
<p>Then, at the bottom of your page, after the closing <em></body></em> element, put the
following inline Javascript code:</p>
<divclass="highlight-python"><pre><script>
converse.initialize({
auto_list_rooms: false,
auto_subscribe: false,
bosh_service_url: 'https://bind.opkode.im', // Please use this connection manager only for testing purposes
hide_muc_server: false,
i18n: locales.en, // Refer to ./locale/locales.js to see which locales are supported
prebind: false,
show_controlbox_by_default: true,
xhr_user_search: false
});
</script></pre>
</div>
<p>The <em>index.html</em> file inside the Converse.js folder serves as a nice usable
example of this.</p>
...
...
@@ -229,7 +242,7 @@ practical.</p>
<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
logged into their XMPP session upon page reload.</p>
<p>For more info on this, read<ahref="#id28"><spanclass="problematic"id="id29">`Session Support`_</span></a>.</p>
<p>For more info on this, read: <aclass="reference internal"href="#pre-binding-and-single-session-support">Pre-binding and Single Session Support</a>.</p>
<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
that.</p>
...
...
@@ -241,6 +254,8 @@ you’ll want to configure <em>Converse.js</em> to suit your needs before yo
on your website.</p>
<p><em>Converse.js</em> is passed its configuration settings when you call its
<em>initialize</em> method.</p>
<p>You’ll most likely want to call the <em>initialize</em> method in your HTML page. For
an example of how this is done, please see the bottom of the <em>./index.html</em> page.</p>
<p>Please refer to the <aclass="reference internal"href="#configuration-variables">Configuration variables</a> section below for info on
all the available configuration settings.</p>
<p>After you have configured <em>Converse.js</em>, you’ll have to regenerate the minified
...
...
@@ -357,6 +372,15 @@ manager, NPM.</p>
</div>
<divclass="section"id="translations">
<h1><aclass="toc-backref"href="#id23">Translations</a><aclass="headerlink"href="#translations"title="Permalink to this headline">¶</a></h1>
<divclass="admonition note">
<pclass="first admonition-title">Note</p>
<pclass="last">Translations take up a lot of space and will bloat your minified file.
At the time of writing, the difference between <em>converse.min.js</em> and
<em>converse.min.no-locales.js</em> is about 50KB! Therefore, make sure to only
include those languages that you intend to support and remove from
./locale/locales.js those which you don’t need. Remember to rebuild the
minified file afterwards.</p>
</div>
<p>The gettext POT file located in ./locale/converse.pot is the template
containing all translations and from which for each language an individual PO