XWiki Chat Application

Last modified by Admin on 2021/03/17 22:04

cogXWiki Chat Application, based on XMPP, supporting WebRTC
TypeXAR
Category
Developed by

Fabio Mancinelli, Ludovic Dubost

Active Installs3
Rating
0 Votes
LicenseGNU Lesser General Public License 2.1

Installable with the Extension Manager

Description

This extension contains an integration of an XMPP based chat in XWiki (with jetty only).

It uses the Candy (Chat are not dead Yet) Javascript UI to integrate with a Vysper XMPP server embedded in XWiki.

Here is a screenshot of the chat application being loaded on top of XWiki. The Chat UI is added at the bottom left of every XWiki window and a group is created for the Wiki and for the current page. Chats are persistent until restart of the application server:

XWikiXMPPWebRTCVideoCall1.png

This chat application also supports WebRTC video conferencing. A user can be called using WebRTC (only working with Google Chrome for now):

XWikiXMPPWebRTCVideoCall.png

Prerequisites & Installation Instructions

We recommend using the Extension Manager to install this extension (Make sure that the text "Installable with the Extension Manager" is displayed at the top right location on this page to know if this extension can be installed with the Extension Manager). Note that installing Extensions when being offline is currently not supported and you'd need to use some complex manual method.

You can also use the following manual method, which is useful if this extension cannot be installed with the Extension Manager or if you're using an old version of XWiki that doesn't have the Extension Manager:

  1. Log in the wiki with a user having Administration rights
  2. Go to the Administration page and select the Import category
  3. Follow the on-screen instructions to upload the downloaded XAR
  4. Click on the uploaded XAR and follow the instructions
  5. You'll also need to install all dependent Extensions that are not already installed in your wiki

This extension only works with Jetty (no tomcat and no apache front-end server) 

This application can be installed with Extension Manager, however some manual steps are needed after that.

AFTER installing in the extension manager, the following jar file needs to be installed manually in webapps/xwiki/WEB-INF/lib. If you forgot to install in EM, xwiki will not start, and then you need to remove the file and settings in web.xml and start over.

The web.xml file needs to be modified to add the BoshServlet to it. The following lines are needed:

In the filter-mapping section

  <filter-mapping>
   <filter-name>XWikiXmlRpcContextInitializationFilter</filter-name>
   <servlet-name>BoshServlet</servlet-name>
   <dispatcher>REQUEST</dispatcher>
   <dispatcher>INCLUDE</dispatcher>
   <dispatcher>FORWARD</dispatcher>
 </filter-mapping>

In the listener section

  <listener>
   <listener-class>org.xwiki.chat.server.XMPPServerContextListener</listener-class>
 </listener>

In the servlet section

  <servlet>
   <servlet-name>BoshServlet</servlet-name>
   <servlet-class>org.xwiki.chat.server.XMPPServerBoshServlet</servlet-class>
 </servlet>

In the servlet mapping section

  <servlet-mapping>
   <servlet-name>BoshServlet</servlet-name>
   <url-pattern>/bosh</url-pattern>
 </servlet-mapping>

Alternatively the following web.xml is a version including these settings based on XWiki Enteprise 5.2.1

Once the web.xml file is modified, the server needs to be restarted.

Finally to complete the installation, the SchedulerJob "ChatJob" needs to be started for the Scheduler home page. This job will clean-up rooms from inactive users.

Dependencies

Dependencies for this extension (org.xwiki.contrib.chat:xwiki-platform-chat-ui 1.0):

Tags:
    

Get Connected