Summary
People Directory as the name suggests is a listing of users in the portal. Its purpose is to quickly find basic user identification information.Overview
The People Directory contains user data obtained from Liferay’s user registry. Basic identification data is displayed for all existing users. The user data is searchable by identifiers such as Name, Screen name and Email address. Initially part of our HR Portal application (a comprehensive solution for HR Portal community), we are now providing People Directory as a standalone application for convenience of users. The access to this application is restricted to authorized users.
People Directory has now an Skype and Google Hangouts call and chat feature! Check more information on Skype and Google Hangouts integration sections.
Now you can also search people by their skills, check out the skills integration section.
Installation
People Directory is a lightweight plugin, so the installation is fairly simple. The installation steps are as follows:
- Obtain the People Directory app from the Liferay Marketplace.
- Deploy the app in your existing out of the box Liferay installation. If you haven't installed Liferay, please download and follow the instructions to do so.
- Go to site page where you intend to add People Directory app.
- Click “Add” and search for People Directory or navigate to HR Portal category under registered Applications.
It is that easy to install the People Directory app. The installation steps may vary depending on the Liferay version in use. Remember that the UI has changed significantly in 6.2 GA1.
JSON Services
Additionally people directory exposes services, that can be consumed from external application, such as native mobile app. Installation steps:
- Obtain the People Directory Services from the Liferay Marketplace.
- Deploy the services in your existing Liferay instace.
In order to expose the user profile images, the following line has to be added to LIFERAY_HOME/portal-ext.properties file, after that, server has to be restarted:
users.image.check.token=false
Once services plugin deployed to server, [portal]:[port]/api/jsonws?contextPath=/people-directory-services-portlet (e.g http://localhost:8080/api/jsonws?contextPath=/people-directory-services-portlet) can be used to see the full list of methods that this service provides:
JSON service methods | Description | Parameters | Return |
---|---|---|---|
fetch-all | Retrieves the entire list of users in the portal | --- | { "activeUsersCount": 101, "total": 101, "users": [ { "birthDate": 574128000000, "city": "", "deleted": false, "emailAddress": "test@liferay.com", "fullName": "Joe Bloggs", "jobTitle": "Developer", "male": true, "modifiedDate": 1420908510820, "portraitUrl": "/image/user_male_portrait?img_id=13210&img_id_token=eJV8KMwxi1NdGl54tlgR0QfMZMs%3D&t=1429047438017", "screenName": "joebloggs", "skypeName": "alejandro.soto_rivetlogic", "userId": 10199, "userPhone": "88961432" }, ... |
get-active-users-count | Returns the number of users active in the portal | --- | returns number e.g 100 |
search | Searches against all the portal users | keywords: search string keyword which users will match on the results returning start: pagination start number end: pagination end number | { "activeUsersCount": 100, "total": 5, "users": [ { ... }, ...] } |
users-fetch-by-date | Retrieves users modified from given date | modifiedDate: timestamp number in millisecs, means that services will return modified users since that date | { "activeUsersCount": 100, "total": 3, "users": [ { ... }, { ... }, { ... }] } |
Configuration
Now let us look at the configuration. You may have noticed, People Directory has two tabs
- Search
- This is the container that allows user search.
- To change the number of rows displayed in search results, navigate to Configuration by clicking Options wheel on top right corner of app.
- Modify the value for “Search results per page” field.
- Click Save to persist the changes.
- View All
- This tab displays the member’s list from Liferay’s registry.
- To change the number of records displayed, navigate to Configuration by clicking Options wheel on top right corner of app.
- Modify the value for “View all results per page” field.
- Click Save to persist the changes.
Besides you can enable Skype integration to allow users create chats or make calls with this software:
Skype Integration
- Skype integration allows users to create chats or to make calls to people in directory through Skype account or primary phone number.
- To enable this, navigate to Configuration and select Skype Integration checkbox and Save the changes.
- People Directory will have a new space for adding members to a group, then user can choose from actions like Open in Skype/Start a call immediately.
- Skype software needs to be installed for proper functioning of this feature.
- Skype icon for users will appear after they add they Skype Name in My Account >> Instant Messenger >> Skype.
- Phone icon for users will appear after they add a Primary Phone Number in My Account >> Phone Numbers.
Skype phone calls
International phone numbers need be stored including + and the country code. If the number is not stored in that way, Skype will assume it is a USA phone number.
Hangouts Integration
- Google Hangouts integration allows users to start new video/audio calls with people from the directory using their email.
- To enable the Hangouts feature open the portlet configuration and check the "Enable Hangouts integration" checkbox and click "Save"
- A new space will be added above the search results where people can be added and the Hangout can be started using the green button.
- To add a user in a Hangout you can click the Google icon that is shown in the search results.
- The new Hangout will be opened in a new browser window.
Skills Integration
To enable searching users by skills you need to follow this steps:
- Make sure the feature is enable in the portlet configuration
- Create a vocabulary for the global site to define the skills using a hierarchy
- Configure permission to allow users to change their skills by granting View and Update permissions to role User in Custom Fields:
Once the configuration is complete users will be able to add their skills in the Skills & Hobbies section of My Account. We recommend to use Categories for any set of predefined skills you want your users to choose from but users will be able to add custom skill if they want.
And the search by skill can be used with any desired keywords, however it includes a useful autocomplete list with existing skills
Organization Team (Vocabulary-Category field)
To be able to use this feature a Vocabulary with the organization structure most be created, to create the Vocabulary follow this steps:
- Go to Control Panel → Sites → Choose the Site where you want to create the vocabulary, if you want this to work from all sites use Global
- Once in the control panel for that site go to Categories
- Create a Category with the desired name, uncheck "Allow Multiple Categories" (each user will have only one possible team assigned), Choose "User" as the asset type and check any desired permissions
- Once the Vocabulary has been created add the categories representing the Organization Chart Structure:
Once the vocabulary exists the categories can be assign to the users. To assign a Category go to the edit user view in the control panel for the user you want to categorize and choose the Categories section in the right side Menu, then from the list of Vocabularies choose the one created in the previous step and choose the desired category for the User
Now the people directory Portlet needs to be configure to display the vocabulary field. To do this go the page where the portlet is and open the portlets configuration, once there select the vocabulary name. In the UI the Vocabulary name will be displayed as the field name and the User's category (set in previous step) will be displayed as the field value.
Code repository
The latest source code is located at the following location:
https://github.com/rivetlogic/mobile-people-directory
Screenshots
People Directory 1 - Liferay.png
People Directory 2 - Mobile Skype.png
People Directory 3 - View All.png
People Directory 4 - Profile.png
People Directory 5 - Normal.png
People Directory 6 - Tablet.png
People Directory 7 - Configuration.png
Contact Us
We welcome feature/bug reports concerning the People Directory and the nature of its data. Discussion helps clarify the ways the app can be used and also helps define directions for future development. Please post your concerns at http://issues.rivetlogic.com/browse/LRA.
Change log:
1.0.1
1.1.0
New feature: Skype integration.
1.2.0
New feature: JSON Services.
1.2.1
Fix: Bug in pagination.
1.3.0
New feature: Google Hangouts integration
1.4.0
New feature: Search for skills
1.5.0
New feature: Help page.