eXo Platform 3.5

## Chapter 8. Build Social Network

Social is an application of eXo Platform, which gives users rich experiences with many features that are similar to social networks, such as Facebook, and Linkedln. With Social, you can establish more meaningful connections and improve your communication and collaboration. Social allows you to add details, including experiences, skills, and team information, to your own profile. Besides, Social supports the OpenSocial API standard that allows developers to write social gadgets intuitively and easily for displaying and mashing up activity information for contacts, applications, services and social networks.

This chapter presents the following topics:

- Manage your profile through step-by-step instructions. In this section, you can build your profile with full personal information, such as contact information, work experience, current position, and more.

- Manage spaces which shows you how to create/edit/join/leave/delete a space, or to view its details, or to search for spaces and to accept/deny invitations.

- Manage connections which includes actions related to searching for contacts and sending connection requests.

- Follow activities in your organization which allows you to update status, share links, delete activities/comments, comment on activities, or like/unlike activities.

In this chapter, most Social-related actions are demonstrated through the Intranet site which is a default social portal built in eXo Platform.

After entering Intranet, you will be directed to the Intranet homepage as below.

## Manage your profile

By default, your profile is just initialized with the basic account information entered in the Registration form. Therefore, if you only want to view or edit the basic information on account and password, simply hover your cursor over your display name on the top right corner of the page, and select My Account.

The Account Profiles form is displayed with information you have set previously.

Here, you can change your account information in the Account Profiles tab, except for Username. These changes will be automatically synchronized with details in the Basic information in your Profile and vice versa. Also, you can change your password by clicking the Change Password tab.

If you want to view and update more details, go to the My Profile page by following either of 3 ways:

The first way

Hover your cursor over your display name at the top right corner of the page, then select My Profile from the drop-down menu.

The second way

Go to the Activity Stream page first, then select the My Profile tab in the left pane.

The third way

Go to the My Connections page first, then select the My Profile tab in the left pane.

The My Profile page is displayed as below.

From here, you can:

- Edit your information, including basic information, contact details, and experiences.

- Upload your profile avatar.

- Update your current position.

### Edit your information

Your own information is visible to all people using the network. You can change your information as follows:

1. Click Edit at the top of each corresponding section in the right pane of the My Profile page.

2. Change your desired information. In both Contact and Experience sections, click Add corresponding to one field you want to add more or Remove to delete your input information.

3. Click Save to accept all changes, or Cancel to close the Edit form without any changes.

The followings are changeable information in each pane.

Basic Information

Field | Description
--- | ---
First name | The first name which is required with the length from 1 to 45 characters.
Last name | The last name which is required with the length from 1 to 45 characters.
Email | The email address which must be in a valid format, for example, johnsmith@exoplatform.com. (See more details about the Email Address format here.)

Contact

Field | Description
--- | ---
Gender | The gender of user. Select your gender from the select box, either male or female.
Phone | The phone numbers at work, home or at other sites which must be from 3 to 20 numeric characters.
IMs | The nickname of either IM services that must be between 3 to 60 characters.
Urls | The website address which must be in the correct format, for example, http://exoplatform.com/.

Experience

Field | Description
--- | ---
Organization | Where you have worked. The field's length is limited from 3 to 90 characters.
Position | The job title which is limited from 3 to 90 characters.
Job Details | Brief description of your job without any character-related limitations.
Skills Used | Skills used without any limitations.
Start Date | The start date of your work.
End Date | The end date of your work.
Still in this position | Indicate that you are currently at the described position.

`See also`

- Upload your profile avatar

- Update your current position

### Upload your profile avatar

You easily upload a photo to your profile or to the spaces which you have created or have the Manage permission.

1. Click the Change Picture link, or directly click your current avatar in the left pane to open the Upload an Image form.

2. Click Browse... to select an image from your local device.

3. Select your desired image, then click the Open button or double-click the image to upload it. The uploaded image must be smaller than 2 MB.

4. Click Confirm to open the Image Preview form to see some related information, such as file name, file type, and image size.

5. Click Save to accept your changes.

### Note

Your image will be automatically resized to a specified value.

### Update your current position

1. Click the Edit link.

The form to update the current information will appear.

2. Enter your new position which is limited from 3 to 30 characters and click Save. Your current position will be immediately updated.

### Note

The information entered in the Position field will be retrieved when you do the Search function.

## Manage spaces

The concept "team work" becomes very familiar in business environment. By establishing one specific team or group, you and your collaborators can work together on important projects. Based on the importance of team working, eXo Platform develops the Space application, allowing you to collaborate with specific people. This means that if you want to work on a team project, you can create a space for your team members to make organizations, share links and information related to the project.

To access a space, click My Spaces on the Administration bar.

The My Spaces page appears as below.

The Space navigation includes the following tabs:

- All Spaces: all spaces, including your spaces, visible spaces, and hidden spaces where you are invited to become members.

- My Spaces: spaces where you have the role as a member or a manager.

- Invitations Received: spaces where you are invited to become members by space managers.

- Requests Pending: spaces where you have requested for becoming their members.

### Note

Administrator, who has the highest permission, can see all spaces regardless of the member role.

### Create a space

After redirecting to the Space application, you can add a new space so that you and your collaborators can work together or discuss specific topics as follows:

1. Click at the left corner of the Space page.

2. Enter a space name, description and select the priority level in the Settings tab of the Add New Space form. There are 3 levels: High, Intermediate, and Low with textual explanations corresponding to each selected preference value.

3. Select an access level in the Access & Edit tab.

- Visibility: By default, the Visibility value is set to be Visible.

  - Visible: The space is always visible in the public spaces list.

  - Hidden: The space is not visible in the public spaces list.

- Registration: By default, the Registration value is set as Validation.

  - Open: The users sending their requests can join the space without any validation.

  - Validation: The membership must be validated by the space manager.

  - Close: The user cannot request for joining, but only the space manager can invite him.

4. Select all members of a specific group for your space where you are already 'manager' in the Invite users from group tab.

One of the two following cases occurs when you select this tab.

- The first instance: You have been already the manager of a group. It means that you have created at least a space.

The Invite users from group tab will be displayed as below.

i. Tick the Select a target group for this space checkbox to open the selection form.

ii. Select the group in the left pane, then its child group in the right pane.

You will see your selected group as below.

### Note

To remove the selected groups, untick the Select a target group for this space checkbox.

After you have selected one existing group, all users in that group will be invited to join your newly created space.

- The second instance: You have not been a manager of any group yet. It means that this is the first time you create a space, so you cannot select a target group.

5. Click Create to finish adding your new space.

The new space appears.

- Click each application on the space Navigation bar to use its functions.

- When a new space is created, a forum with the same name as this space is also created in the Forum application. In case this forum is removed from the Forum application, all members of the space cannot see the space's forum anymore when clicking Discussions on the space Navigation bar.

### Note

When more than two space characters are input between words in the space name, these spaces will be converted to ONLY ONE space when being displayed. With space characters at the beginning and end of space names, these space characters will be also omitted.

After being created, your space will be automatically added to the My Spaces button on the Administration bar. Therefore, you can access your space by clicking My Spaces --> [Space Name] from the drop-down menu.

### Edit a space

This function allows you to change the initial settings of a space if you are the creator or have the Manage permission on it. With this function, you can do the following actions:

- Change space information

- Change visibility

- Manage members

- Manage space applications

- Edit space navigation

To perform the actions above, first access the Space Settings by following one of 2 ways:

The first way

1. Click My Spaces on the Administration bar to direct to the My Spaces page.

2. Click Edit corresponding to the space which you have the Edit permission.

3. Click next to the space name.

The second way

1. Hover your cursor over My Spaces on the Administration bar, then select one space from the drop-down menu.

2. Click next to the space name.

### Note

You only see for spaces which you have the Edit permission.

#### Change space information

This function allows you to edit the basic information of a space.

1. Select the Settings tab in the Space Settings page.

2. Change information in the Description and Priority fields, and the space avatar.

- To change the space avatar, click , or directly click the current space avatar to open the Upload an Image form. For more details, see the Upload your profile avatar section.

### Note

You cannot change the space name.

3. Click Save to accept your changes.

#### Change visibility

1. Select the Access & Edit tab in the left pane of the Space Settings page.

2. Change values of Visibility and Registration if you want. For more details, see here.

3. Click Save to accept your changes.

#### Manage members

Select the Members tab in the left pane of the Space Settings page to open the Manage members form. Here, you can do many actions on members as stated below.

##### Invite new members

You can invite other users to join your spaces as follows:

The first way

- If you know the username of a person, simply enter his/her username in the textbox, then click .

To invite multiple people, use commas to separate your multiple entered usernames.

The second way

1. Click to open the Select Users form.

2. Select your desired users by ticking their corresponding checkboxes, and click Add.

You can also search for your desired members in eXo Platform, do as follows:

i. Enter a search term into the Search box.

ii. Select a criterion you want to find in the combo box next to the Search box.

iii. Click to perform searching.

3. Click to invite your selected users.

After that, you will see the list of invited users.

##### Revoke your invitations

If your invited users have not accepted your requests yet, you can revoke your invitations by clicking . The users will be removed from the Invited list.

##### Validate/Decline request

As a manager or creator of a space, you can validate other users' requests for joining your space.

- To accept a user's request for joining your space, click in the Action column.

- To decline a user's request for joining your space, click in the Action column.

##### Promote/Demote a member

- To promote a member to the manager position, click in the Manager column. The user will be automatically promoted as a manager in the current space.

- To demote a member, click .

### Note

Be careful not to remove the rights for yourself; otherwise, you will not be able to edit your space's settings anymore, except that you are an administrator.

##### Remove a member

Click corresponding to the member you want to delete in the Members list.

#### Manage space applications

Select the Applications tab to go the Applications page which allows you to manage space applications.

##### Add a new space application

1. Click Add Application to open the Space Application Installer form.

2. Select the application you want to add by clicking .

If there is no available application, ask your system administrator to gain the access right.

##### Delete applications

To remove an application, click corresponding to the application name.

### Note

You cannot delete the Space Setting application because it is configured as a mandatory space application.

#### Edit space navigation

You can easily edit a space navigation, such as adding a new node, editing a node, replacing in the navigation, moving up/down a node, and taking other actions in the context menu as follows:

1. Click the Navigations tab to open the space navigation.

You can take the following actions:

- Right-click a node name (space name) and take actions in the context menu, such as adding/editing/deleting a node, editing a node's page, copying/cloning a node, and more.

- Click Add node; Or right-click any white area to display , then select this button. The Add/ Edit Page Node form appears and allows you to add information to your new node.

For more details, see the Manage Navigation Nodes section.

2. Click Save to accept all changes.

### Join/Leave a space

Join a space

Click My Spaces on the Administration bar, then click the All Spaces tab to display all your spaces and ones whose Visibility is set to "Visible".

There are two cases to join a space:

- The first instance: For spaces without validation required, click Request to join corresponding to your desired space. You will automatically become their members.

- The second instance: For spaces with validation required, after clicking Request to join, you have to wait for the validation from the space's owner who can accept or deny your request.

Revoke your request

- To revoke your request for joining a space that has not been validated by its owner, simply click Cancel.

Leave a space

- To leave a space, simply click Leave.

If you are the only leader of that space, the message which informs that you cannot leave a space will appear as below.

### Note

After you have left a space, the space will not exist in the My Spaces tab, but in the All Spaces tab (for the "visible" space only).

### View details of a space

To view one detailed page of a space, you must become its member first. Then, do either of the two following ways to view the space.

The first way

- Hover your cursor over My Spaces on the Administration bar, and select your desired space from the drop-down menu.

The second way

- After entering the My Spaces pane within the Spaces application, click the name of your desired space.

The detailed page of the space displays information about the space. The functions you can perform depending on your granted permissions or whether you are the space's creator or not.

As a normal user, you can:

- Ask for joining the public space or leave the space.

- Accept or deny to join a space.

- Invite new members to take part in your space.

Besides the actions above, as a space manager or creator, you can:

- Edit the space settings, including description, priority level, and avatar.

- Change the visibility of your space.

- Promote/Demote roles of space members.

- Remove members from your space.

### Delete a space

Only the space managers can delete their spaces by clicking Delete under the space name. All information and navigations related to that space are also deleted.

### Search for spaces

The Search function in the Spaces application helps you easily find spaces from one of the tabs in the Space navigation.

After accessing your desired spaces tab, you can search for spaces by Name and Description or Alphabets.

Search by name/description

1. Enter the key word into the Find Space field.

2. Press the Enter key or click Search.

The found spaces will be listed in the Spaces Found pane.

Search by alphabets

Simply click a specific letter.

Only spaces whose names start with the search letter are listed in the Spaces Found pane.

### Accept/Ignore invitations

This function allows you to accept and/or deny invitations that you received from others. You can see all spaces which are being waited for your acceptance in the Invitations Received tab, or in the My invitations tab in the left pane of the Intranet homepage.

1. Access the Intranet homepage, then click Space in the My Invitations tab on the left of the Intranet homepage. A list of spaces which you are invited to join appears.

2. Click the space name to open the Invitations Received tab.

- Click Accept to accept joining the space.

- Click Ignore to deny joining the space.

### Note

You can also go to the Invitations Received tab by clicking My Space --> Invitations Received.

## Manage connections

To build your connections, you first need to hover your cursor over the display name on the Administration bar and select My Connections from the drop-down menu.

The Connections page appears.

This page consists of the following tabs:

- Everyone: lists users who have registered in the eXo Platform system.

- My Connections: lists users who have established connections with you. You can remove these connections by clicking Remove Connection.

- Requests Received: lists users who have sent you connection request. You can click Confirm to accept being as his/her contact or Ignore to refuse.

- Requests Sent: lists users to whom you have sent connection requests. You can also click Cancel Request to revoke your request.

Depending each accessed tab, you can perform different actions:

- Search for contacts.

- View profiles of contacts.

- Send connection requests.

- Revoke a connection request.

- Accept/Deny a connection request.

- Disconnect from your contacts.

### Search for contacts

This function allows you to find your desired contact quickly by searching by name, and/or searching by role (by position, and/or work skills), and searching by alphabets.

1. Select the relevant tab in which you want to do your search.

- To search across all users in eXo Platform, select the Everyone tab. Alternatively, you can hover your cursor over your display name and select Find Connections from the drop-down menu.

- To reduce the returned search results, select the appropriate tab before using the search box. For example, to search for contacts with whom you have established connections, you need to select the My Connections tab.

2. Select the search criteria:

- Search by name: Enter the contact name you want to search into the Search by Name field. When you type, the application automatically suggests contact names containing your entered letter. You just need to select one of suggested names from the drop-down list.

- Search by role: Enter the position, and/or skills of the contacts you want to search for.

- Search by alphabets. See details in the Search by alphabets section. (If you search by this criteria, skip Step 3).

3. Hit the Enter key, or click Search to find your desired contacts. The results will be listed in the People Found pane.

### Note

- When searching by alphabets, only contacts whose last names start with the search letter are listed in the Connections Found pane.

- The search results are also ordered by the last name.

### View profiles of other contacts

To view the profile of a contact, simply click the contact name. You will be directed to his/her profile.

From his/her profile, you can see all his/her activities and connections.

- To see his/her activities, click Activity Stream on the left pane.

- To see his/her connections, click My Connections on the left pane.

- To return his/her profile page, click My Profile on the left pane.

### Note

Regardless of being an administrator, you do not have right to edit profiles of other contacts.

### Send connection requests

After specifying your desired contact, you can send a connection request via one of two ways.

The first way

Click Connect to send your connection request.

The second way

Access the profile page of the contact to whom you want to send a connection request, then click Invite to connect at the right corner of the profile page.

### Note

If you follow the first way, the Connect text will become Cancel Request. Meanwhile, if you follow the second way, the Invite to connect text will be turned into Revoke.

### Revoke a connection request

After sending connection requests to other users, you still can remove the requests by selecting the Requests Sent tab and do one of two following ways.

The first way

Click Cancel Request to revoke the connection request.

The second way

Access the profile page of the contact to whom you sent a connection request, then click Revoke at the right corner of the profile page.

### Accept/Deny a connection request

You can perform these actions via one of the following way:

The first way

Select the Requests Received tab to see the list of all connection requests sent to you

- Click Confirm to accept the request.

- Click Ignore to deny the request.

The second way

1. Access the Intranet homepage to see the list of all connection requests sent to you in My Invitations on the left pane.

2. Click the contact name in the list to go his/her profile page.

- Select Connect to accept the request.

- Click Deny to deny the request.

### Disconnect from your contacts

In the My Connections or Everyone tab, you can remove the connections between you and the users who are as your contacts via one of two following ways.

The first way

Click Remove Connection to remove your established connection.

The second way

Accessing the profile page of the contact who is your connection, then click the Disconnect link at the right corner of the profile page.

## Follow activities in your organization

All activities of a user are displayed in the user's and Space's Activity Stream.

To enter the Activity Stream page, hover your cursor over your display name (for example, John Smith) on the Administration bar and select Activity Stream.

The Activity Stream page consists of the following tabs:

- All Updates: lists all updates of yours, of your connections, and of your spaces.

- Network Updates: lists all updates of users who have established their connections with you.

- Space Updates: lists all updates of spaces where you are a member or a manager.

- My Status: lists all your own activities, such as your profile updates, link updates or another activities pushed by yourself.

You can see activities of any registered people by clicking their display name to go their profile page, then select Activity Stream on the left pane. However, for people to whom you have not connected, you only can view their activities but cannot post any activities, comments or like on their activity streams.

In addition, you can keep track of activities of a space application. For example, whenever there is a new post in the Forum application, it will be updated in the activity stream.

The actions described in this section are those which you can do on activity streams of yours, of your connections or of any spaces where you are a member or manager, depending on the accessed tab.

### Update status

By entering your status message, you can tell people what are you doing on or ask for their helps or ideas. Thereafter, your colleagues who are connected with you can see your updates in their connections.

There are 2 ways to post your status.

The first way

1. Hover your cursor over your display name on the right corner of the page.

2. Input your status into the Status Update textbox from the drop-down menu, then hit the Enter key to accept updating your status.

The second way

1. Go into the Activity Stream page as here.

2. Enter your current status in the Status Update box.

3. Click Share to accept sharing your status.

Your new status will be updated in two tabs: All Updates and My Status.

### Note

You can use some HTML tags when updating your status. See more details in the Create rich activities with allowed HTML tags section.

### Share a link

1. Click .

2. Enter the link and click .

If the link address is correct, it will be attached, then shown with the overall content of the link.

- If you do not want the thumbnail to be displayed, select the No thumbnail checkbox.

- If there is more than one thumbnail, you can click blue arrows to go through all available thumbnails.

- If you want to edit the link content, double-click the content and edit.

3. Click Share to share your entered link with your connections, or click again to remove your entered link.

### Share a file

1. Click to open the Select File box.

2. Click Select File to open the Select Document form.

3. Select the relevant drive category from the Select Drive drop-down menu.

4. Select the folder and the server file, then click Select to finish uploading your selected file.

### Note

You can also click to select a file from your local device; Or click to create a new folder.

You will see your uploaded file in the Select File box as below.

5. Click Share to share your uploaded file with your connections.

- To remove your uploaded file, simply click next to your selected file, or click again.

### Delete activities/comments

You are allowed to delete your activities/comments that you created, and those in your activity stream and in the space where your are the manager.

1. Select All Updates or My Status to view all your own activities.

2. Select the activity you want to delete, then click .

3. Click OK in the confirmation message to accept your deletion.

### Comment on activities

This action allows you to get ideas, answers, and any additional information when your collaborators respond to your status updates. Besides, you yourself give your ideas about any contacts' status update as follows:

1. Select an activity on which you want to comment.

2. Click Comment in the bottom line of the profile to open the Comment form.

3. Enter your comment into the Comment form and press the Comment button. Your comment will be displayed right below the profile.

### Note

You can use some HTML tags when commenting on activities. See more details in the Create rich activities with allowed HTML tags section.

### Like/Unlike activities

The function allows you to show your interest by selecting Like and/or Unlike activities.

Like activities

1. Select the profile containing the activity you want to like.

2. Click Like beside the activity.

Unlike activities

You only can Unlike an activity after you liked it.

1. Select an activity that you clicked Like.

2. Click Unlike beside the activity.

### Create rich activities with allowed HTML tags

When updating the status or writing a comment, you can use the following HTML tags:

Tags | Description
--- | ---
<b> | Render as bold text. For example:
                     <b>Bold text</b>
<i> | Render as italic text. For example:
                     <i>Italic text</i>
<a> | Refer to an external link by using the href attribute. For example:
                     <a href="http://cloud-workspaces.com">Cloud Workspace</a>
<span> | Group inline-elements in a document.
<em> | Render as emphasized text. For example:
                     <em>Emphasized text</em>
<strong> | Render as strong (highlighted) text.
<p> | Define a paragraph.
<ol> | Define an ordered list. An ordered list can be numerical or alphabetical.
<ul> | Define an unordered or bulleted list.
<li> | Define a list item. The <li> tag is used in both ordered (<ol>) and unordered (<ul>) lists. For example:
                      <ul>
                        <li>Bullet 1</li>
                        <li>Bullet 2</li>
                      </ul>
<br> | Insert a single line break.
<img> | Define an image in an HTML page. The <img> tag has an required attribute named src which specifies the URL of the image. For example:
                       <img src="http://t2.gstatic.com/images?q=tbn:ANd9GcR59KE-ltJTWbaNBpB3K_uOJYMGE0HaQOx4htrm8DML6lUj90t4"/>.
<blockquote> | Define a long quotation.
<q> | Define a short quotation.