eXo Platform Add-Ons: Chat in Space

You may think I refer to the Red Bull Stratos event: Felix Baumgartner will do the same stratospheric jump and will chat with the Red Bull team at the same time. Well, that would be fun but it’s not what I meant. It would also be hard to type on a keyboard while wearing a space suit, don’t you think?

So, I will talk about Chat in the eXo ecosystem. The first thing to know about the eXo Platform is that it’s all about Collaboration and Social communication within your company. It allows you to create your own social network, and people can then create what we call Spaces to work together, by sharing events, documents… you name it.

Now, if I want a discussion among my Space members, I don’t want to use another tool, I want to quickly ask my questions and to have a real-time answer. That’s exactly the scenario I wanted to address with my add-on.

Let’s get started!


The eXo Community Chat app comes with a few features:

  • Status: change your status;
  • Notifications: be notified if someone talks to you;
  • Space discussions: talk to any connected user or chat with people from your Spaces;
  • Filters: quickly filter on users or Spaces;
  • Favorites: make users or Spaces your favorites;
  • Beautifier: a clean and easy way to read messages; simple to copy/paste text;
  • Auto recovery: detects automatically if your session has ended or if the Chat server is down.

This screenshot below gives you a preview of what the Chat app looks like. Continue reading to explore all the features in detail.


Want to see more?

Available from everywhere

As said earlier, the main goal is to chat inside a Space, but you can also have one-on-one discussions. I made the Chat app available from the top navigation menu. Thus, you can open it in a separate window and access it at any time.

Popup Mode

I did this choice so you don’t have to leave the current page/Space you are in. If you receive a notification, go to the Notification Center and open the Chat from the menu.

Notifications and Status

Notifications and status

Talking about notifications, you will be notified in real-time of unread messages, either they are coming from a one-on-one discussion or coming from a Space you are in.

If you’re not connected, you will find notifications when you come back to the Intranet, and you can of course see them in the Chat app in each Room.

The Status feature is very straightforward. You can change your current status to:

  • Available: you can talk to me;
  • Away: talk to me but be aware that I won’t reply for now;
  • Do not disturb: please don’t talk to me, I’m in uncommunicative mode;
  • Invisible: I don’t want you to see me, I’m the invisible man.

Your status will be “Available” the first time you use the Chat. You can freely change your status at any time, and others will see this change in real time.

Space discussions

How can I have discussions with my Space members? Do I have to create a Space Room?

The answer is simple: you have nothing to do; new rooms will appear automatically in your Chat window when you join a space.

In the example below, you can see discussions among both users and Spaces merged together as Rooms.


On the Rooms panel, we can see that John has discussions with Mary and James, both of whom are connected on the Intranet. Mary is one of his favorites and has a “Do not disturb” status, which explains the red color of her status star. James changed his status to “Away”.

John is also member of three spaces:

  • Customer Project;
  • Marketing Place;
  • Public Discussions.

He can easily identify a space by the blue status dot on the left.

If you go back to the first Overview screenshot, you can see what a Space discussion looks like. Everyone can talk freely, but I will say more on the chat discussion at the end of this post (don’t leave now).

Of course, like any good chat application, this one lets you read the history of your previous discussion; nothing is lost, everything stays forever.

History on Offline Users

Here, you can see by the grey color of Mary’s status that she’s offline, but, of course, you can still read her messages.


As we store all your discussions, you can end up with a lot of users, and you can also be part of multiple Spaces, which will make your list of Rooms grow a lot.

Thanks to filters, you can find stuff very quickly.

Quick Filter Space Click on the top right User filter to remove all users from the list of Rooms. You can see now only your Spaces, which makes it easier to find one.
Quick Filter User On the other hand, you can hide Spaces when you want to quickly find a particular User. As users are ordered in alphabetical order, they are easy to find.

Note that alphabetical ordering is done on your favorites too. You end up with two clear, easy-to-read lists.

Search User Space Want to find someone in particular?
Type some letters in the search bar and Rooms will be filtered accordingly.
Predictive search Enter the beginning of multiple words and the predictive search will find the best match.
Predictive Search Thus, no matter whether you remember the beginning of a Space name, the first name of someone or the Last name, predictive search will always return the best match.
Clever, isn’t it? :-)

Bad things happen!

Yes, they really happen, and when they do, you don’t want to lose your work. So, I did two things to protect you from this.

– Log out detection

You have an important call you can’t miss or one of your colleagues needs a coffee. Well, if you keep your session as it is, you know what could happen. You could come back one hour later and you have to reconnect because you lost your session. Usually, Sys Admins do this to guarantee good performance of your entire system, so don’t blame them.

The good thing is you will see this:

Logged out Detection

Click on the link in the Chat window, log in and you’re back to work. It’s as simple as that.

– Auto recovery

Now, what if something really goes wrong, like the Chat server needs some maintenance?

Again, it’s very simple:

Auto recovery

If you keep your window open, it will automatically recover when the service is up and running again.

One More Thing

In fact, it’s more like two more things, but I love the Apple way of saying it.

Messages Beautifier

Chatting is also about socializing inside the company. Thus, what would a Chat application be without emoticons?

I support a few of them and I intend to add more in the future.


Of course, because you will certainly share links, you can click on them and it will open a new window for that link.

Also, as eXo Platform is a social platform, you can go to a user profile by clicking on its name.

And wait, there’s more:

  • type Google: and it shows a link to Google directly;
  • type Wolfram: and it shows a link to find your answer on Wolfram Alpha, the same engine used by Apple on iOS for Siri;
  • type java:, html:, js: or css: and it will show your code with great syntax coloring.

I hope developers will love having auto coloring when they share some code in the Chat, and that users will love having a quick access to Google from within the Chat.

Here’s a screenshot of these beautifiers in action:

New Beautifiers

Copy/Paste, the easy way!

Sometimes, you have to transfer the content of a discussion, especially when you have a formal discussion inside a Space discussion, for example.

Say you had a discussion inside a Space, and you now want to share it with your boss.

I did this the easiest way. Just do this:

  • CTRL + A: select the entire Chat window. Don’t worry about the Rooms and everything; only your messages will be selected.
  • CTRL + C: copy everything.
  • Go to your mail client or any desktop application and press CTRL + V.

Very easy, very standard. Now, here is what it looks like:

Clean copy paste

You have a clear text-only version of your discussion you can share; isn’t that cool ? (I think it’s very cool, but maybe that’s only because I’m a tech guy :).)

Use it, spread it

You know the deal, it’s a Community Add-On for eXo Platform, there is no official support for this community Chat.

But don’t hesitate to test it: use it and I will be more than pleased to help you along the way.

In the end, the best way to improve something is to use it.

Thanks for reading. See you in a few days/weeks for a more technically oriented post about all the technology I used to develop this Chat application.

If you can’t wait to test it, version 0.3 has been released very recently, and you can find it on the eXo add-ons repo.

Again, thanks for watching and stay tuned – more things are coming 😉

Be part of the discussion, share your comments