{docbook}
<highlights>
        <itemizedlist>
          <listitem>
            <para>
              <link linkend="SOCref.Social_JCR_Structure.socproviders">soc:providers</link>
            </para>
            <para>Information of the <emphasis>soc:providers</emphasis> node that stores the provider entities.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Social_JCR_Structure.IdentityEntity">Identity</link>
            </para>
            <para>Details of properties and child nodes of the <emphasis>soc:identitydefinition</emphasis> node type.</para>
          </listitem>
		      <listitem>
            <para>
              <link linkend="SOCref.Social_JCR_Structure.RelationshipEntity">Relationship</link>
            </para>
            <para>Details of properties of the <emphasis>soc:relationshipdefinition</emphasis> node type.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Social_JCR_Structure.ProfileEntity">Profile</link>
            </para>
            <para>Details of properties and child nodes of the <emphasis>soc:profiledefinition</emphasis> node type and a list of residual properties which can be set by Social.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Social_JCR_Structure.ProfileXpEntity">Profile experience</link>
            </para>
            <para>Details of properties of the <emphasis>soc:profilexp</emphasis> node type.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Social_JCR_Structure.ActivityListEntity">Activity list</link>
            </para>
            <para>Details of properties, and child node of the <emphasis>soc:activitylist</emphasis> node type.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Social_JCR_Structure.ActivityYearEntity">Activity year</link>
            </para>
            <para>Details of properties, and child node of the <emphasis>soc:activityyear</emphasis> node type.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Social_JCR_Structure.ActivityMonthEntity">Activity month</link>
            </para>
            <para>Details of properties, and child node of the <emphasis>soc:activitymonth</emphasis> node type.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Social_JCR_Structure.ActivityDayEntity">Activity day</link>
            </para>
            <para>Details of properties, and child node of the <emphasis>soc:activityday</emphasis> node type.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Social_JCR_Structure.ActivityEntity"> Activity</link>
            </para>
            <para>Details of properties, and child nodes of the <emphasis>soc:activity</emphasis> node type.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Social_JCR_Structure.ActivityParametersEntity"> Activity parameters</link>
            </para>
            <para>Details of properties of the <emphasis>soc:activityparam</emphasis> node type.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Social_JCR_Structure.SpaceListEntity">Space list</link>
            </para>
            <para>Details of child node of the <emphasis>soc:spaceslist</emphasis> node type.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Social_JCR_Structure.SpaceEntity">Space</link>
            </para>
            <para>Details of properties of the <emphasis>soc:spacedefinition</emphasis> node type.</para>
          </listitem>
        </itemizedlist>
</highlights>
{docbook}

Like any other eXo's products, Social fully complies the JCR standard to store data (identity, profile, activity, space and relationship).
The Social JCR structure is organized to conform to the data storage for the individual purpose of Social. With this structure, it is easy for you to manage and access the data properly.

See the Social JCR structure in the chart below:

!images/Social-Workspace.png|align="center" width="150mm" fo:scalefit="1" html:scalefit="0"!


The root node of Social workspace is _/production/_ which consists of two child nodes named _{{{soc:providers}}}_, and _{{{soc:spaces}}}_.
{docbook}
<para>
<prompt>
   <emphasis role="bold">See also</emphasis>
</prompt>
</para>
{docbook}

* [UI Extensions|#SOCref.DevelopersReferences.UIExtensions]

* [Overridable Components|#SOCref.DevelopersReferences.OverridableComponents]

* [Public Java APIs|#SOCref.DevelopersReferences.PublicJavaAPIs]

* [Java APIs sample code/ tutorial|#SOCref.DevelopersReferences.SampleCode_Tutorial]

* [Public REST APIs|#SOCref.DevelopersReferences.PublicREST_APIs]

* [Rest Service APIs|#SOCref.DevelopersReferences.RestService_APIs]

* [Public Javascript APIs|#SOCref.DevelopersReferences.PublicJavascriptAPIs]

* [Spaces Template configuration|#SOCref.Space_Template_Configuration]
* [Configure the 2-legged OAuth scenario|#SOCref.ConfigureOauth2_Legend_Scenario]

h1. soc:providers  {anchor:id=SOCref.Social_JCR_Structure.socprovidersRoleNotInToc}
The _soc\:providers_ node is used to store the provider entities. In Social, there are two built-in provider entities, including _organization_, and _space_.
Its type is _soc\:providers_ that has the _soc\:<provider\_name>_ child node of the _soc\:providerdefinition_ type.

{docbook}
<para xml:id="SOCref.Social_JCR_Structure.socproviders.provider_Name">
<citetitle>
<emphasis role="bold"><![CDATA[
soc:<provider_name>]]>
</emphasis>
</citetitle>
</para>
{docbook}

The _<provider\_name>_ parameter in the _soc\:<provider\_name>_ node depends on the identity providers. Social has two identity providers, including _OrgarnizationIdentityProvider_, and _SpaceIdentityProvider_ that contain organization identities (users) and space identities respectively.

The _soc\:<provider\_name>_ node of the _soc\:providerdefinition_ type has the _soc\:<identityRemoteId>_ child nodes that have the _soc\:identitydefinition_ type.

h1. Identity  {anchor:id=SOCref.Social_JCR_Structure.IdentityEntityRoleNotInToc}
{include:document="chromattic/generated/org.exoplatform.social.core.chromattic.entity.IdentityEntity.wiki"}

h1. Relationship  {anchor:id=SOCref.Social_JCR_Structure.RelationshipEntityRoleNotInToc}
{include:document="chromattic/generated/org.exoplatform.social.core.chromattic.entity.RelationshipEntity.wiki"}

h1. Profile  {anchor:id=SOCref.Social_JCR_Structure.ProfileEntityRoleNotInToc}
{include:document="chromattic/generated/org.exoplatform.social.core.chromattic.entity.ProfileEntity.wiki"}

Some residual properties can be set and will be used by Social:
|| Property Name || Required Type || Multiple|| Description ||
|void-Url|undefined | true| The URL to access the profile of an identity.|
|void-email|undefined | true| The email of an identity in the profile. |
|void-firstName|undefined |true |The first name of an identity in his profile. |
|void-fullName|undefined | true| The full name of an identity in his profile.|
|void-lastName|undefined | true|The last name of an identity in his profile. |
|void-username|undefined | true| The username of an identity in his profile. |

h1. Profile experience  {anchor:id=SOCref.Social_JCR_Structure.ProfileXpEntityRoleNotInToc}
{include:document="chromattic/generated/org.exoplatform.social.core.chromattic.entity.ProfileXpEntity.wiki"}

h1. Activity list  {anchor:id=SOCref.Social_JCR_Structure.ActivityListEntityRoleNotInToc}
{include:document="chromattic/generated/org.exoplatform.social.core.chromattic.entity.ActivityListEntity.wiki"}

h1. Activity year  {anchor:id=SOCref.Social_JCR_Structure.ActivityYearEntityRoleNotInToc}
{include:document="chromattic/generated/org.exoplatform.social.core.chromattic.entity.ActivityYearEntity.wiki"}

h1. Activity month  {anchor:id=SOCref.Social_JCR_Structure.ActivityMonthEntityRoleNotInToc}
{include:document="chromattic/generated/org.exoplatform.social.core.chromattic.entity.ActivityMonthEntity.wiki"}

h1. Activity day  {anchor:id=SOCref.Social_JCR_Structure.ActivityDayEntityRoleNotInToc}
{include:document="chromattic/generated/org.exoplatform.social.core.chromattic.entity.ActivityDayEntity.wiki"}

h1. Activity {anchor:id=SOCref.Social_JCR_Structure.ActivityEntityRoleNotInToc}
{include:document="chromattic/generated/org.exoplatform.social.core.chromattic.entity.ActivityEntity.wiki"}

h1. Activity parameters {anchor:id=SOCref.Social_JCR_Structure.ActivityParametersEntityRoleNotInToc}

The _{{{soc:activityparam}}}_ node type has the following property:
|| Property Name || Required Type || Multiple|| Description ||
| \* |String|false| A map of key-values. |

h1. Space list  {anchor:id=SOCref.Social_JCR_Structure.SpaceListEntityRoleNotInToc}
{include:document="chromattic/generated/org.exoplatform.social.core.chromattic.entity.SpaceListEntity.wiki"}

h1. Space {anchor:id=SOCref.Social_JCR_Structure.SpaceEntityRoleNotInToc}
{include:document="chromattic/generated/org.exoplatform.social.core.chromattic.entity.SpaceEntity.wiki"}

