Loading...
 
Skip to main content

History: XMPP

Source of version: 22

Copy to clipboard
            ! {{page}}

;__Overview__: XMPP chat client
;__To Access__:From the ((Community|Community Admin)) page, click the __XMPP__ tab.


!! Introduction

[https://xmpp.org|XMPP] is a chat protocol that enables users to have instant message applications and other technologies. By using the [https://conversejs.org/|ConverseJS XMPP client], Tiki users can integrate chat feature to their websites.

!! How to use XMPP in Tiki

!!!# install and Configure  an XMPP server
Despite Tiki has ConverseJS bundled in its package, it is still necessary to have an XMPP server where clients can connect. Tiki can be very well integrated to [https://www.igniterealtime.org/projects/openfire/|Openfire XMPP server], but other servers also works.

!!!# Enable the feature and plugin
Enable the feature at "__Admin home > RTC > XMPP__" tab.
Enable the plugin at "__Admin home > Editting and plugins > Plugins > XMPP plugin__"

!!!# Configure Tiki to talk to the XMPP server
Go to the community page on the admin panels (RTC page on Tiki 19+), select the XMPP tab,
and:
# Check the __XMPP client (ConverseJS)__.
# On __XMPP server domain__ field, example type yourserver.wikisuite.org.
# On __XMPP http-bind URL__ field, example type https://yourserver.wikisuite.org:7070/http-bind/ .
# chose an __Authentication method __ .
# Click on Apply.

!!!# Use ConverseJS modes

ConverseJS can be used in 3 modes:

# Overlayed mode
# Embedded mode
# Fullscreen mode

!!! Overlayed mode

Overlayed Mode is configured as a Tiki Module. A small box will appears on bottom of the page containing a contact list. Users can click on contact list to start a chat session.

{mediaplayer type="video/mp4" style="native" width="640px" src="https://doc.tiki.org/tiki-download_wiki_attachment.php?attId=81"}
---

!!! Embedded mode

The Embedded mode can be configured as a ((PluginXMPP|wiki_plugin)). A chatbox will appear in the middle of the page. This chatbox is a group chat, where many users can send messages.

{mediaplayer type="video/mp4" style="native" width="640px" src="https://doc.tiki.org/tiki-download_wiki_attachment.php?attId=82"}
---

!!! Fullscreen mode

Fullscreen mode takes all webpage space to provide the contact list and chat boxes. Users can switch between private chats and group chats while using this mode.

{mediaplayer type="video/mp4" style="native" width="640px" src="https://doc.tiki.org/tiki-download_wiki_attachment.php?attId=83"}
---

!! Authentication mode

The ConverseJS embedded in Tiki can authenticate in XMPP server using 3 different strategies.

# Username / password
# Prebind
# OAuthBearer Token

When using the username/password mechanism to authenticate, ConverseJS will ask user these information whenever is necessary. It is very easy to setup, but in other hand, it may demotivate the user to join the chat if he needs to type his password several times.

The Prebind mode is mechanism that makes XMPP server to confirm that a specific user is trying to authenticate. The user does not need to type username or password using this mode. Whenever user log into Tiki, he will automatically log into Openfire when needed. The Tiki prebind URL needs to be informed in Openfire panel.

On OAuthBearer Token, ConverseJS extract a special Token from Tiki and gives as a password to Openfire. Extra setup is needed in Openfire side in order to use this mode. Also, this mode is still beta and is available on Tiki 20.



~tc~ Preference documentation generated from https://sourceforge.net/p/tikiwiki/code/HEAD/tree/trunk/lib/prefs/ ~/tc~
~tc~ To update documentation see https://dev.tiki.org/How-to-get-commit-access ~/tc~
{PREFDOC(tab="rtc-xmpp")/}

New in ((Tiki17)): the addition of the [https://conversejs.org/|ConverseJS XMPP client].
New in ((Tiki19)): ((PluginXMPP)) to embed a chatroom in a wiki page

The reference implementation is with Openfire, but this should work with any XMPP server (perhaps with fewer features).

-=alias=-
* (alias(Converse.js))
* (alias(ConverseJS))
* (alias(Converse JS))

        

History

Advanced
Information Version
Marc Laporte 23
Marc Laporte 22
Marc Laporte 21
Lupundu Kalekwa Yan 20
Marc Laporte That was an experiment. No longer online 19
luciash d' being 🧙 18
Manasse Ngudia 17
Manasse Ngudia 16
Marc Laporte 15
Fabio Montefuscolo 14
Fabio Montefuscolo 13
Fabio Montefuscolo 12
Fabio Montefuscolo 11
Fabio Montefuscolo 10
Fabio Montefuscolo 9
Fabio Montefuscolo 8
Fabio Montefuscolo 7
Marc Laporte 6
drsassafras added preferences, removed legacy info 5
Marc Laporte 4
Marc Laporte Edit restored by rescue script 2017-04-24T18:09:12+00:00 3
Marc Laporte Edit restored by rescue script 2017-04-24T18:09:12+00:00 2
Marc Laporte Page created by rescue script 2017-04-24T18:09:12+00:00 1