Introducing Enterprise Social Features in eXo Platform 3.5
In eXo Platform 3.5, social networking and collaboration features play a central role. As we described in our white paper, making your intranet more “social” is an easy way to keep employees coming back to interact, contribute and increase productivity levels across the board. For eXo Platform 3.5, we’ve continued to advance our vision of an engaging and interactive platform where users can connect, discuss and collaborate.
After introducing the main concepts of our social intranet, I’ll show some of the exciting new features you can expect in eXo Platform 3.5, and describe some of the work we’ve done to improve user experience and ergonomy.
Our enterprise social features are organized into 3 main concepts:
- People directory & network
- Spaces
- Activities
People directory and network
The People directory is foundation of a private social network, where you find contacts and establish connections. You can search for people by name, but you can also find contacts that match a certain skill-set or type of position.
Once you’ve connected with other employees, the people in your network can follow your real-time intranet activity in their own activity stream. It’s also easy to chat directly with a contact right within the intranet, using the built-in instant messaging feature.
In the People directory, you can access different lists of people such all existing users, people you are already connected to (your Network), pending connection requests or connection requests your have sent. You are able to invite, remove, or decline invitations to connect.
Compared to our previous version of eXo Platform, we improved the user experience by displaying more people on each page and replacing pagination by a “more” button at the bottom of the page.
Spaces
A Space is a private area where you can collaborate with individual coworkers, teams or groups. Spaces can be public, meaning they are visible and anyone can freely join, or private, where membership is subject to approval from the creator. Spaces can also be hidden from the directory list entirely, where the creator controls who is invited to view and join. You can create a Space for each department within your organization, while other Spaces can be dedicated to a specific topic or project, allowing intradepartmental collaboration.
Spaces can also be customized by adding other features or tools that support a specific group or project’s needs. By default, a new Space is already integrated with our other collaboration, knowledge management and document management tools (Wiki, Forum, Calendar, Answers, Content Explorer).
In the screenshot above, you can see the wiki integrated inside the “eXo” space. This space contains an agenda, a dashboard, a forum and a content management system.
The context of these apps is bound to each space, meaning the agenda or document repository belongs to that space. Additionally, if you want to add other custom functionality to a Space, you can very easily add applications. Once you’ve developed and deployed your portlet or gadget in eXo Platform, it’s available and easy to add to a Space.
Each Space also has its own activity stream which – as explained below – is tightly integrated with the different apps.
As we did for the People directory, we also reworked the user interface to make it easier both to find and navigate within Spaces.
Activities
The activity page is the most visible part of a social application. Everyone is familiar with Facebook and Twitter activity stream systems, which provide an easy way to share status updates and comments with your connections. eXo Platform 3.5 provides a similar feature. People and Spaces have their own dedicated feeds to display a person or group’s actions and comments.
Activities are tightly integrated with other eXo Platform features; because they are extensible, you can even create custom activity types. Built-in apps including the Wiki, Forum and CMS each has its own activity type. When an action is taken within a given Space’s forum, wiki, or other app, this activity is published in the Space activity stream. For example, when you edit a Wiki page inside a space, a “Wiki activity” will be displayed in the Space’s activity stream.
Take a look below at the custom activities for Wiki, Forum, and Agenda application:
Finally, you can filter which activities you want to see in your homepage:
- All activities within your company.
- Only activities from your contacts.
- Only activities from your spaces.
- Only your own activities.
REST API & Client Library
eXo Platform 3.0 already supports the OpenSocial API, using Shindig (an open-source OpenSocial container). In eXo Platform 3.5, we added a new REST API to provide support for additional use cases related to social features.
We also created a client library to easily interact with activity streams using this kind of code:
// Context information SocialClientContext.setProtocol("http"); //by default it is set as "http" SocialClientContext.setHost("platform35.demo.exoplatform.org"); SocialClientContext.setPort(80); SocialClientContext.setPortalContainerName("portal"); SocialClientContext.setRestContextName("rest"); SocialClientContext.setRestVersion("v1-alpha1"); SocialClientContext.setUsername("demo"); SocialClientContext.setPassword("gtn"); ClientServiceFactory clientServiceFactory = ClientServiceFactoryHelper.getClientServiceFactory(); //it's all for Client to work, now just get the Service to use ActivityService activityService = clientServiceFactory.createActivityService(); IdentityService identityService = clientServiceFactory.createIdentityService(); //... ActivityService activityService = client.getActivityService(); RestActivity restActivity = (RestActivity) activityService.get("123456789");
This client library is hosted on GitHub: https://github.com/exoplatform/social
An easy example of client library usage are our Mobile applications, which use the library to access the platform’s social data.
For now, the library is only available for Java environments, and works perfectly on Android devices.
Performance
Social applications have to deal with a large volume of data. Since the read operation is the most commonly used data operation, we focused on improving the data model to simplify and optimize this function.
We also refactored the caching strategy to prevent unnecessary database access, which speeds up performance nicely.
These improvements should further enhance your experience building and working within a social intranet, while also making it easier to write and integrate 3rd party applications in a “social environment”.
You can preview all the new features eXo Platform 3.5 by joining our Early Adopter Program, which provides exclusive access to beta versions and customized, hands-on training to get you up-to-speed on all the core product functionality.