This page describes how to setup the chat portlet integration with XMPP (known as Jabber). This integration allows the communication between different chat clients. For example, an user using a desktop client (e.g. Adium, Pidgin, Trillian) can chat with any other user that is using the chat portlet in a browser.
An user can be logged in to multiple clients at the same time.
This integration is disabled by default and requires a Jabber server running.
Install a Jabber server #
This feature was tested with Openfire 3.7.0, which can be downloaded here: http://www.igniterealtime.org/projects/openfire/
Start the Openfire server.
Install the Chat portlet #
Deploy the Chat portlet, version 6.1 or higher.
Edit the portlet.properties which can be found at: /chat-portlet/WEB-INF/
If you installed Openfire locally, your properties file should look like this:
jabber.enabled=true jabber.import.user.enabled=true jabber.host=localhost jabber.port=5222 jabber.service.name=??????????.local jabber.resource=Liferay jabber.sock5.proxy.enabled=false jabber.sock5.proxy.port=-1
That is, you must change jabber.enabled to true and add the correct values to jabber.host and jabber.port. If you have installed Openfire in a remote machine or chose to not use the default port, change jabber.host and jabber.port accordingly.
You must also change jabber.service.name to the "Host Name" which can be found in the Openfire administration web tool:
Once portlet.properties is saved, restart Liferay. Of course, if you don't want to restart the portal, you can also make these changes before deploying the chat portlet, you just need to unzip the .war file, make the changes to portlet.properties and zip it again, the chat portlet is ready to be hot deployed.
Single sign-on #
If the property jabber.import.user.enabled is set to true, the chat portlet will import the user automatically to Jabber after he logins to the portal. Once the user is imported, he can use any Jabber client using the same screen name and password he uses to login to the portal. His buddies will be also imported as they become online in the chat portlet.
Note that it's a "lazy import". Users are imported only after they login to the portal and their buddies will be added to his list only if they see each other within the chat portlet. They won't be able to use other Jabber chat clients until they login to the portal.
If jabber.import.user.enabled is set to false, users will need to create their Jabber account and add buddies manually, they need to create their accounts using the same screen name and password they use in the portal, otherwise the chat portlet won't be able to connect to their Jabber account.
Alternatively, Openfire integrates with LDAP, if your portal is also using LDAP for authentication, you can disable the jabber.import.user.enabled property.