Skip to content
This repository was archived by the owner on Jan 15, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
This chapter provides you a comprehensive view about applications in eXo Social, including:
This chapter provides you a comprehensive view about applications in Social, including:
* [Portlets|#SOCref.Portlets]
* [Gadgets|#SOCref.List_Of_Gadget_in_Social]

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
All eXo Social gadgets are in _opensocial.war_.
All Social gadgets are in _opensocial.war_.

h1. Activity Stream {anchor:id=SOCref.List_Of_Gadget_in_Social.ActivityStream}
* *Description*: Manage activities of users: update status, like/unlike activities, comment activities, delete activities and delete comments.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
This chapter describes about configurations used in eXo Social. It consists of the following main sections:
This chapter describes about configurations used in Social. It consists of the following main sections:

* [Components|#SOCref.Configuration.Component]
* [External component plugins|#SOCref.Configuration.External_component_plugins]

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
In eXo Social, you may have two space types (classic and webos spaces).
In Social, you may have two space types (classic and webos spaces).

For the classic space, you can pre-configure the template. You can configure the layout to select where to display the applications (for example, the application's menu on the left, the selected application is displayed on the right, and more).

Expand Down Expand Up @@ -55,7 +55,7 @@ If you want to put the menu on the right and the application on the left, you ca
{code}


In eXo Social standalone, this configuration file is at:
In Social standalone, this configuration file is at:
* _{{{$EXO_TOMCAT/webapps/socialdemo/WEB-INF/conf/portal/template/pages/space/page.xml}}}_
In eXo Platform, this configuration file is at:
* _{{{$EXO_TOMCAT/webapps/{portal-name}/WEB-INF/conf/portal/template/pages/space/page.xml}}}_
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
This section will show you how to internationalize activities in eXo Social.
This section will show you how to internationalize activities in Social.

h1. Internationalize an activity {anchor:id="SOCref.Developers_References.How_to_create_i18n_activities.I18n_activities"}
In the previous versions, eXo Social had hard-coded messages for activities, such as
In the previous versions, Social had hard-coded messages for activities, such as
creating spaces, granting the "manager" role to a member, sending connection request to another user, updating a user's profile/avatar, and more.
And now, to internationalize these types of messages, you can use resource bundles and _I18NActivityProcessor_.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ The Project Code is available [here.|http://wiki.exoplatform.org/xwiki/bin/downl

When an activity is displayed, UIActivityFactory will look for its registered custom actvity display by activity's type. If not found, UIDefaultActivity will be called for displaying that activity.

For example, in eXo Social, there is an activity of type "exosocial:spaces" created by SpaceActivityPublisher, but now, you want to display it without own UI component instead of the default one. To do that, follow these steps.
For example, in Social, there is an activity of type "exosocial:spaces" created by SpaceActivityPublisher, but now, you want to display it without own UI component instead of the default one. To do that, follow these steps.

*1.* Create a sample project:

{screen}
{code}
mvn archetype:generate
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
Expand Down Expand Up @@ -65,7 +65,7 @@ artifactId: exo.social.samples.activity-plugin
version: 1.0.0-SNAPSHOT
package: org.exoplatform.social.samples.activityPlugin
Y: y
{screen}
{code}

*2.* Edit the _pom.xml_ file as below.

Expand Down Expand Up @@ -569,7 +569,7 @@ Currently, you have to copy and paste in the template file. By this way, you hav
{note}

h3. What is ActivityBuilder? {anchor:id=Developer_document.What_is_activity_builder}
ActivityBuilder is one class which is used to get values of _ExoSocialActivity_ to set to UIActivity for displaying. eXo Social provides the BaseUIActivityBuilder class for developers to extend and customize their own activity builder easily and properly.
ActivityBuilder is one class which is used to get values of _ExoSocialActivity_ to set to UIActivity for displaying. Social provides the BaseUIActivityBuilder class for developers to extend and customize their own activity builder easily and properly.

For example, to write your own UILinkActivityBuilder, you just need to extend BaseUIActivityBuilder and then customize attributes and behaviors of the activity builder as below.

Expand All @@ -594,7 +594,7 @@ To learn more about ActivityBuilder, refer to the [BaseUIActivity class.|http://
{note}

h2. Create a composer extension for composing activity on the UI composer and display it on the activity stream {anchor:id=Developer_document.Create_composer_extension}
The UIActivityComposer is an extended class of UIContainer that is used to display inputs for users to create their own activities. To write your own activity composer, it is recommended that you use the UIActivityComposer available in eXo Social.
The UIActivityComposer is an extended class of UIContainer that is used to display inputs for users to create their own activities. To write your own activity composer, it is recommended that you use the UIActivityComposer available in Social.

For example, to create an input component for inserting video links into your activity, do the following steps:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
eXo Social provides users with a way to share their activity information (also known as Activity Stream) and collaborate in spaces (also known as group work). With the API, you can customize the way to display activities or publish new ones.
Social provides users with a way to share their activity information (also known as Activity Stream) and collaborate in spaces (also known as group work). With the API, you can customize the way to display activities or publish new ones.
To manipulate activities, you need to use the _AtivityManager_ service.

h1. Publish an activity {anchor:id=SOCref.Developer_references.PublishActivity}
Expand Down Expand Up @@ -209,7 +209,7 @@ The "init-params" contains all the key-value data which a processor will use to

h1. Publish an RSS feed with feedmash {anchor:id=SOCref.Developer_references.Publish_an_rss_feed_with_feedmash}

It is really easy to publish an RSS feed to a space's activity stream. eXo Social provides _FeedmashJobPlugin_ to publish the RSS feeds. As you can see in the project "_exo.social.extras.feedmash_", there are the _JiraFeedConsumer_ and _HudsonFeedConsumer_ samples to post eXo Social project's feeds (jira and hudson) to a pre-defined space named _exosocial_ in a specific portal container named _socialdemo_ as in the configuration file:
It is really easy to publish an RSS feed to a space's activity stream. Social provides _FeedmashJobPlugin_ to publish the RSS feeds. As you can see in the project "_exo.social.extras.feedmash_", there are the _JiraFeedConsumer_ and _HudsonFeedConsumer_ samples to post Social project's feeds (jira and hudson) to a pre-defined space named _exosocial_ in a specific portal container named _socialdemo_ as in the configuration file:

{code:xml}
<external-component-plugins>
Expand Down Expand Up @@ -268,7 +268,7 @@ It is really easy to publish an RSS feed to a space's activity stream. eXo Socia
</external-component-plugins>
{code}

Run eXo Social with the URL: http://localhost:8080/socialdemo, then log in and create a space named "exosocial". After creating the "exosocial" space, all the feeds of the eXo Social project on Jira and Hudson will be automatically published to the _exosocial_ space.
Run Social with the URL: http://localhost:8080/socialdemo, then log in and create a space named "exosocial". After creating the "exosocial" space, all the feeds of the Social project on Jira and Hudson will be automatically published to the _exosocial_ space.

h1. Sample Code {anchor:id=SOCref.Developer_references.Sample_code}
See the following code snippet to know more details about how to publish an activity and add comments to an activity:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
eXo Social supports the OpenSocial standard. So you can integrate OpenSocial gadgets in your dashboard and use the RPC or REST service to view or publish the social data.
With the support for the OpenSocial standard, eXo Social provides a framework for developers to build gadgets that can display and mash up activity information for contacts, social networks, applications and services.
Social supports the OpenSocial standard. So you can integrate OpenSocial gadgets in your dashboard and use the RPC or REST service to view or publish the social data.
With the support for the OpenSocial standard, Social provides a framework for developers to build gadgets that can display and mash up activity information for contacts, social networks, applications and services.

h1. Gadget {anchor:id=Developer_document.Open_social.Gadget}

Expand All @@ -14,11 +14,11 @@ To know how to create an OpenSocial gadget, see [here|http://wiki.opensocial.org

{note}
Gadgets will work out of the box on Dashboard. In eXo, gadgets are wrapped by GadgetWrapperPortlet so they can work as any other portlet applications.
At present, eXo Social supports [OpenSocial Specification v1.1| http://opensocial-resources.googlecode.com/svn/spec/1.1/OpenSocial-Specification.xml].
At present, Social supports [OpenSocial Specification v1.1| http://opensocial-resources.googlecode.com/svn/spec/1.1/OpenSocial-Specification.xml].
{note}

h2. Supported APIs {anchor:id=Developer_document.Open_social.Supported_APIs}
eXo Social leverages [Apache Shindig|http://shindig.apache.org/overview.html] - an OpenSocial reference implementation to provide and extend OpenSocial APIs which is compatible with the common OpenSocial APIs which is supported by other big social networks like [Ning|http://www.ning.com], [Hi5|http://www.hi5.com], [Orkut|http://www.orkut.com] and more.
Social leverages [Apache Shindig|http://shindig.apache.org/overview.html] - an OpenSocial reference implementation to provide and extend OpenSocial APIs which is compatible with the common OpenSocial APIs which is supported by other big social networks like [Ning|http://www.ning.com], [Hi5|http://www.hi5.com], [Orkut|http://www.orkut.com] and more.

To get more details about Supported APIs, refer to [OpenSocial Specification|http://docs.opensocial.org/display/OSD/Specs].

Expand Down Expand Up @@ -82,5 +82,5 @@ After using the OpenSocial Java library and Groovy, your code will look like thi
In the example above, the groupId is set to "space:bookflow" and bookflow is the name of the space.

h1. Tutorial {anchor:id=Developer_document.Open_social.Tutorial}
* See [Grails + eXo Social tutorial.|http://www.exoplatform.com/company/public/website/resource-viewer?path=/website/Content%20types/Tutorial/grails-exo-social]
* See [Grails + Social tutorial.|http://www.exoplatform.com/company/public/website/resource-viewer?path=/website/Content%20types/Tutorial/grails-exo-social]

Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
eXo Social provides a way to manage profile information, and connections between users. With the APIs provided, you can easily add, manage and customize information and relationships of users.
Social provides a way to manage profile information, and connections between users. With the APIs provided, you can easily add, manage and customize information and relationships of users.

h1. Identity {anchor:id=SOCref.Developers_References.People.Identity}
The identity allows identifying a unique social object. The eXo Social objects can be person, group, application, or whatever related to social interactions, such as connecting, publishing an activity stream or holding a user profile.
The identity allows identifying a unique social object. The Social objects can be person, group, application, or whatever related to social interactions, such as connecting, publishing an activity stream or holding a user profile.
h2. IdentityProvider {anchor:id=SOCref.Developers_References.People.IdentityProvider}

eXo Social provides IdentityProvider as an identiy mechanism for the third parties to extend eXo Social's identity system without any limitation. Here is an example:
Social provides IdentityProvider as an identiy mechanism for the third parties to extend Social's identity system without any limitation. Here is an example:

{code:java}
class SampleIdentityProvider extends OrganizationIdentityProvider{
Expand Down Expand Up @@ -112,7 +112,7 @@ public class ProfileLoggerListener extends ProfileListenerPlugin{
h1. Connections {anchor:id=SOCref.Developers_References.People.Relationships}
Similarly, you can apply the above steps to implement _RelationshipListenerPlugin_ for relationship notifications.

Relationship is the bridge between two identities in eXo Social. There are many types of relationships defined in the Relationship class. With these types, a user can invite another user, confirm invitations or remove relationship.
Relationship is the bridge between two identities in Social. There are many types of relationships defined in the Relationship class. With these types, a user can invite another user, confirm invitations or remove relationship.

h2. Users connection {anchor:id=SOCref.Developers_References.People.Connecting_users}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
eXo Social provides a way to create groups and to share data and applications by spaces. A space has its own activity stream in which applications or members can publish information. In each space, members use applications together with shared data.
Social provides a way to create groups and to share data and applications by spaces. A space has its own activity stream in which applications or members can publish information. In each space, members use applications together with shared data.

To manipulate the spaces, you will use the SpaceService. To get an instance of this class, you need to get the current _PortalContainer_ instance.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ This chapter supplies you with the basic knowledge about the following topics:
* [Public Javascript APIs|#SOCref.DevelopersReferences.PublicJavascriptAPIs]
* [Social JCR Structure|#SOCref.Social_JCR_Structure]

With this knowledge, you can extend more functions for eXo Social, or customize them as you want.
With this knowledge, you can extend more functions for Social, or customize them as you want.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ But you may want to support a special syntax, for example:
You can have more sophisticated cases to process, such as parsing the link that include in the activity's content. Because a process actually has the full access to the Activity, you can very well process based on the owner, app, and media item.

h1. Write an ActivityProcessor {anchor:id=SOCref.DeveloperReferences.how_extend_the_activities_rendering._write_ActivityProcessor}
eXo Social lets you pre-process an activity before it is returned by the ActivityManager. To do this, you simply need to implement the interface ActivityProcessor:
Social lets you pre-process an activity before it is returned by the ActivityManager. To do this, you simply need to implement the interface ActivityProcessor:

{code:java}
/**
Expand Down
Loading