{docbook}
<highlights>
        <itemizedlist>
          <listitem>
            <para>
              <link linkend="SOCref.Configuration.Component.SpaceService">SpaceService</link>
            </para>
            <para>This service is used for spaces management, including creating spaces, and installing applications.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Configuration.Component.LifeCycleCompletionService"> LifeCycleCompletionService</link>
            </para>
            <para>This component is used to process the callable request out of the HTTP request.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Configuration.RestPortalContainerNameConfig">RestPortalContainerNameConfig</link>
            </para>
            <para>This plugin is used to set the portal container name used for REST service.</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="SOCref.Configuration.LinkProvider">LinkProvider</link>
            </para>
            <para>This service is used to provide the utility to get the URLs of the activities, profiles, spaces, avatars and more.</para>
          </listitem>
        </itemizedlist>
</highlights>
{docbook}

{note}
This section describes services which provide low-level functionality for UI components.
{note}


{docbook}
<para>
<prompt>
    <emphasis role="bold">See also</emphasis>
</prompt>
</para>
{docbook}

* [External Component Plugin|#SOCref.Configuration.External_component_plugins]

h1. SpaceService {anchor:id=SOCref.Configuration.Component.SpaceServiceRoleNotInToc}
The service is used for spaces management, including creating spaces, and installing applications.
{docbook}
<command>
sjfdfksa kjhdkgoeri ksh oie iudshg iogidsg iusd iudfg dg ierj dfs idfg eriudf sriuf idf er iudf sdfsdaasd  -asd -asdf -as sadth-sa afsdf sdf assfd asg-r adf asdf asfd
</command>
{docbook}
*Sample configuration*:
{code:xml}<component>
  <key>org.exoplatform.social.core.space.spi.SpaceService</key>
  <type>org.exoplatform.social.core.space.impl.SpaceServiceImpl</type>
  <!--Deprecated, Use external-component-plugins instead
  <init-params>
    <values-param>
      <name>space.homeNodeApp</name>
      <value>SpaceActivityStreamPortlet</value>
    </values-param>
    <values-param>
      <name>space.apps</name>
      <value>DashboardPortlet:true</value>
      <value>SpaceSettingPortlet:false</value>
      <value>MembersPortlet:true</value>
    </values-param>
  </init-params>
  -->
</component>{code}

* *Init-params*:
|| Name || Type || Value || Description ||
| space.homeNodeApp | {{String}} | {{SpaceActivityStreamPortlet}} | The home application for a space. |
| space.apps | {{String list}} | {{DashboardPortlet:true}}, {{SpaceSettingPortlet:false}}, {{MembersPortlet:true}} | The applications that are used for initializing the application when the space is created. |

{note}
Deprecated: Use external-component-plugins instead: org.exoplatform.social.core.space.SpaceApplicationConfigPlugin.
{note}

h1. LifeCycleCompletionService {anchor:id=SOCref.Configuration.Component.LifeCycleCompletionServiceRoleNotInToc}
This component is used to process the callable request out of the HTTP request.

*Sample configuration*:
{code:xml}<component>
    <key>org.exoplatform.social.common.lifecycle.LifeCycleCompletionService</key>
    <type>org.exoplatform.social.common.lifecycle.LifeCycleCompletionService</type>
    <init-params>
      <value-param>
        <name>thread-number</name>
        <value>10</value>
      </value-param>
      <value-param>
        <name>async-execution</name>
        <value>false</value>
      </value-param>
    </init-params>
</component>{code}
* *Init-params*:
|| Name || Type || Value || Description ||
| thread-number | {{integer}} | {{10}} |The maximum number of threads parallel executed. |
| async-execution | {{boolean}} | {{false}}| Specify the running mode of service is synchronous or asynchronous. |

h1. RestPortalContainerNameConfig  {anchor:id=SOCref.Configuration.RestPortalContainerNameConfigRoleNotInToc}
This plugin is used to set the portal container name used for REST service.

*Sample configuration*:
{code:xml}<component>
    <key>org.exoplatform.social.opensocial.auth.RestPortalContainerNameConfig</key>
    <type>org.exoplatform.social.opensocial.auth.RestPortalContainerNameConfig</type>
    <init-params>
      <value-param>
        <name>rest-container-name</name>
        <value>portal</value>
      </value-param>
    </init-params>
</component>{code}

* *Init-params*:

|| Name || Type || Value || Description ||
| *rest-container-name* | {{any valid container name}} | {{portal}} |The name of the container. |

h1. LinkProvider {anchor:id=SOCref.Configuration.LinkProviderRoleNotInToc}
This service is used to provide the utility to get the URLs of the activities, profiles, spaces, avatars and more.

*Sample configuration*:
{code:xml}<component>
    <key>org.exoplatform.social.core.service.LinkProvider</key>
    <type>org.exoplatform.social.core.service.LinkProvider</type>
    <init-params>
        <value-param>
          <name>predefinedOwner</name>
          <description>this for generate profile link</description>
          <value>classic</value>
        </value-param>
    </init-params>
  </component>{code}

* *Init-params*:

|| Name || Type || Value || Description ||
|*predefinedOwner*|{{String}}| {{classic}}|The default portal owner name. |


