{docbook}
<abstract>
<para>
In this chapter, the following topics are included:
</para>
<itemizedlist>
<listitem>
<para>
<emphasis role="bold"><link linkend="ADM.Management.Introduction">Introduction to eXo Platform management</link></emphasis>
</para>
<para>
Overall information about managing resources of eXo Platform, JMX and REST interfaces.
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold"><link linkend="ADM.Management.Management_views_of_eXo_Platform">Management views of eXo Platform</link></emphasis>
</para>
<para>
Introduction to the following set of management view types of eXo Platform and their JMX name templates:
</para>
<itemizedlist>
<listitem>
<para>
<emphasis role="bold"><link linkend="ADM.Management.PortalContainer_management_view">PortalContainer management view</link></emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold"><link linkend="ADM.Management.Cache_management_view">Cache management view</link></emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold"><link linkend="ADM.Management.eXo_Content_management_view">Content management view</link></emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold"><link linkend="ADM.Management.JCR_management_view">JCR management view</link> </emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold"><link linkend="ADM.Management.Portal_management_view">Portal management view</link></emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold"><link linkend="ADM.Management.eXo_Knowledge_management_view">Knowledge management view</link></emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold"><link linkend="ADM.Management.eXo_Collaboration_management_view">Collaboration management view</link></emphasis>
</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</abstract>
{docbook}

h1. Introduction to eXo Platform management {anchor:id=ADM.Management.Introduction}

Managing resources of eXo Platform is critical for IT operators and system administrators to monitor and supervise the production system.

The eXo Platform product is exposed as a manageable set of resources that can be inspected at runtime to monitor and manage servers.

When it comes to Java, the Java Management Extension (also known as JMX) is the de-facto standard to expose managed resources externally.

This chapter explains various resources provided by the eXo Platform server, possible management actions, and how to obtain relevant metrics.

{docbook}
<para xml:id="ADM.Management.JMX_interface">
<citetitle>
<emphasis role="bold">
JMX interface
</emphasis>
</citetitle>
</para>
{docbook}

The resources management is exposed via the JMX layer. eXo Platform registers a set of MBean entities in an MBeanServer. 

At runtime, MBeans are registered by the eXo Kernel in the MBeanServer and directly viewable in the JMX console. However, it is strongly recommended that you use a better JMX client, such as JVisualVM, available since Java 6.

To enable JMX monitoring in Tomcat, you need to pass the following system property to the VM: _-Dcom.sun.management.jmxremote_.

{docbook}
<para xml:id="ADM.Management.REST_interface">
<citetitle>
<emphasis role="bold">
REST interface
</emphasis>
</citetitle>
</para>
{docbook}

The built-in REST Management Provider of eXo Platform makes some of the MBeans operations accessible as REST endpoints. Administrators can handle the system simply with a browser without performing any complex configurations.

Only members of the _platform/administrators_ group are given permission to work on the REST management. The authentication requires you to log in by your own account.

The base URL to access the REST endpoints is [http://localhost:8080/rest/management], with the last one followed by the parameter parsed in the managed resource's @RESTEndpoint annotation, leading slash then targeted operation. Consider the SkinService, which is annotated @RESTEndpoint("skinservice"); the full URL to access JMX 'getSkinList' method through the REST request is [http://localhost:8080/rest/management/skinservice/getSkinList].

{docbook}
<para>
<prompt>
    <emphasis role="bold">See also</emphasis>
</prompt>
</para>
{docbook}
* [Management views of eXo Platform|#ADM.Management.Management_views_of_eXo_Platform]
		
h1. Management views of eXo Platform {anchor:id=ADM.Management.Management_views_of_eXo_Platform}

{docbook}
<highlights>
        <itemizedlist>
          <listitem>
            <para>
              <link linkend="ADM.Management.PortalContainer_management_view">PortalContainer management view</link>
            </para>
			<para>
			The management view of all objects and configurations of a given portal.
			</para>
          </listitem>
          <listitem>
            <para>
              <link linkend="ADM.Management.Cache_management_view">Cache management view</link>
            </para>
			<para>
			The management view of eXo Platform caches at several levels that provides the critical performance information, especially useful for tuning the server.
			</para>
          </listitem>
		  <listitem>
            <para>
              <link linkend="ADM.Management.eXo_Content_management_view">Content management view</link>
            </para>
			<para>
			The management view of WCMComposer, FriendlyService, WCMService.
			</para>
          </listitem>
		  <listitem>
            <para>
              <link linkend="ADM.Management.JCR_management_view">JCR management view</link>
            </para>
			<para>
			The management view of SessionRegistry, SessionRegistry, Repository, and Workspace that allow you to monitor sessions, locks, repository configurations, and workspace configurations respectively.
			</para>
          </listitem>
		    <listitem>
            <para>
              <link linkend="ADM.Management.Portal_management_view">Portal management view</link>
            </para>
			<para>
			A set of the Portal management views, including Template statistics, Template statistics, Template statistics, TokenStore, Portal statistics, and Application statistics.
			</para>
          </listitem>
		    <listitem>
            <para>
              <link linkend="ADM.Management.eXo_Knowledge_management_view">Knowledge management view</link>
            </para>
			<para>
			A set of the Knowledge management views, including Forum, Job, Plugin, Storage that allows you to control rules, statistics, information of data storage.
			</para>
          </listitem>
		    <listitem>
            <para>
              <link linkend="ADM.Management.eXo_Collaboration_management_view">Collaboration management view</link>
            </para>
			<para>
			The Collaboration management view that allows you to view some state information of Jobs used in itself. 
			</para>
          </listitem>
        </itemizedlist>
</highlights>
{docbook}

{docbook}
<para>
<prompt>
    <emphasis role="bold">See also</emphasis>
</prompt>
</para>
{docbook}
* [Introduction to eXo Platform management|#ADM.Management.Introduction]

h2. PortalContainer management view {anchor:id=ADM.Management.PortalContainer_management_viewRoleNotInToc}

PortalContainer manages all objects and configurations of a given portal.

* The JMX name template of PortalContainer MBeans: _exo:container=portal,name="portal"_.

||Attribute||Description||
|{{ConfigurationXML}}|Configuration information of the specified portal container in the XML format.|
|{{Name}}|The name of the portal container.|
|{{RegisteredComponentNames}}|The list of the registered component names.|
|{{Started}}|Indicate the portal container is started or not.|

||Operation||Description||
|{{getConfigurationXML}}|Return configuration information of the portal container calculated by the loading mechanism. The returned value is an XML document in the eXo Kernel format.|
|{{getName}}|Return the portal container name.|
|{{getRegisteredComponentNames}}|Return the list of all registered component names.|
|{{isStarted}}|Check if the portal container is started or not. The portal container is only started once all its components have been started.|

{note}
PortalContainer can be controlled through the following path:  

* http://localhost:8080/rest/management/pcontainer.
{note}


h2. Cache management view  {anchor:id=ADM.Management.Cache_management_viewRoleNotInToc}

eXo Platform uses caches at several levels. Monitoring them can provide the critical performance information, especially useful for tuning the server. Each cache is exposed with statistics and management operations. 

* The JMX name template of Cache MBeans: _exo:service=cache,name= {{{ {CacheName} }}}_ where _CacheName_ is the name of each [cache instance|#ADM.Configuration.CacheConfiguration].

||Attribute||Description||
|{{Name}}|The name of the cache.|
|{{Capacity}}|The maximum capacity of the cache.|
|{{HitCount}}|The total number of times the cache was successfully queried.|
|{{MissCount}}|The total number of times the cache was queried without success.|
|{{Size}}|The number of entries in the cache.|
|{{TimeToLive}}|The valid period of the cache entry in seconds. If the value is set to *-1*, the entries are never expired.|


||Operation||Description||
|{{clearCache()|Evict all entries from the cache. This method can be used to force a programmatic flush of the cache.|
|{{getName}}|Return the cache name.|
|{{getLiveTime}}|Return the valid lifetime of an entry in the cache in seconds.|
|{{setLiveTime}}|Set the valid lifetime of an entry in the cache in seconds.|
|{{getCacheHit}}|Return the total number of successful hits.|
|{{getCacheMiss}}|Return the total number of unsuccessful hits.|
|{{getMaxSize}}|Return the maximum capacity of the cache.|
|{{setMaxSize}}|Set the maximum capacity of the cache.|
|{{getCacheSize}}|Return the number of entries in the cache.|

{docbook}
<para xml:id="ADM.Management.Chache_manager">
<citetitle>
<emphasis role="bold">
CacheManager
</emphasis>
</citetitle>
</para>
{docbook}

The CacheManager management view enables you to control different caches. 

* The JMX name template of CacheManager Mbeans: _exo\:service=cachemanager_.

||Operation||Description||
|{{clearCaches()}}|Force a programmatic flush of all the registered caches.|

{docbook}
<para xml:id="ADM.Management.PicketLinkIDMCacheServer">
<citetitle>
<emphasis role="bold">
PicketLinkIDMCacheService
</emphasis>
</citetitle>
</para>
{docbook}

PicketLinkIDMCacheService is the default implementation for the organization model. 

* The JMX name template of PicketLinkIDMCacheService MBeans: 

_exo\:portal="portal",service=PicketLinkIDMCacheService,name=plidmcache_.

||Operation||Description||
|{{invalidateAll}}|Invalidate all caches.|
|{{invalidate(namespace)}}|Invalidate a specific cache namespace.|

{note}
PicketLinkIDMCacheService can be controlled through the following path:  

* http://localhost:8080/rest/management/plidmcache.

However, the REST View managements of Cache instances and CacheManager are not currently exposed in this version.
{note}

h2. Content management view {anchor:id=ADM.Management.eXo_Content_management_viewRoleNotInToc}

{docbook}
<para xml:id="ADM.Management.WCMComposer">
<citetitle>
<emphasis role="bold">
WCMComposer
</emphasis>
</citetitle>
</para>
{docbook}

WCMComposer is responsible for assembling pages, and is key for serving pages efficiently. 

* The JMX name template of WCMComposer MBeans: _exo:portal="portal",service=composer,view=portal,type=content_.

||Attribute||Description||
|{{Cached}}|Indicate the cache is used or not.|
|{{CachedEntries}}|The number of nodes in the cache.|
|{{UsedLanguages}}|The list of all languages accessible in the composer.|
|{{UsedOrderBy}}|The list of OrderBy properties accessible in the composer.|
|{{UsedPrimaryTypes}}|The list of primary types accessible in the composer.|


||Operation||Description||
|{{cleanTemplates}}|Clean all templates in the composer.|
|{{setCached(iscached)}}|Enable/Disable caching in the composer.|
|{{useDefaultLanguage}}|Check if the default language is used in case the translation is not published.|
|{{getUsedPrimaryTypes}}|Return the list of primary types accessible in the composer.|
|{{getCachedEntries}}|Return the number of nodes in the cache.|
|{{isCached}}|Check if the cache is used in the composer.|
|{{getUsedLanguages}}|Return the list of all languages accessible in the composer.|
|{{getUsedOrderBy}}|Return the list of OrderBy properties accessible in the composer.|

{docbook}
<para xml:id="ADM.Management.Friendly_service">
<citetitle>
<emphasis role="bold">
FriendlyService
</emphasis>
</citetitle>
</para>
{docbook}

FriendlyService is to make URIs more friendly.

* The JMX name template of FriendlyService MBeans: _exo:portal="portal",service=friendly,view=portal,type=content_.

||Attribute||Description||
|{{Enabled}}|Indicate the service is enabled or not.|
|{{Friendlies}}|The list of registered Friendly URIs.|
|{{ServletName}}|The name of the servlet referenced in the service.|


||Operation||Description||
|{{addFriendly(friendlyUri, unfriendlyUri)}}|Add a new Friendly Uri to the list with two parameters: friendlyUri and unfriendlyUri. The value entered in the *friendlyUri* field replaces that of the *unfriendlyUri* field.|
|{{removeFriendly(friendlyUri)}}|Remove a friendly URI from the list by entering that Uri into the *friendlyUri* field.|
|{{isEnabled}}|Check if the service is enabled or not. If the value is returned as "True", the service is enabled. If "False", the service is disabled.|
|{{setEnabled(isEnabled)}}|Set the service as activated or deactivated by entering "True" or "False" respectively into the *isEnabled* field.|
|{{getServletName}}|Return the name of servlet referenced in the service.|
|{{getFriendlies}}|Return the list of registered friendly URIs.|

{docbook}
<para xml:id="ADM.Management.WCMService">
<citetitle>
<emphasis role="bold">
WCMService
</emphasis>
</citetitle>
</para>
{docbook}

* The JMX name template of WCMService MBeans: _exo:portal="portal",service=wcm,view=portal,type=content_. 

||Attribute||Description||
|{{PortletExpirationCache}}|The expiration period of portlet cache in seconds.|


||Operation||Description||
|{{getPortletExpirationCache}}|Return the expiration period of porlet cache in seconds.|
|{{setPortletExpirationCache (expirationCache)}}|Set the expiration period of portlet cache by entering the value into the *expirationCache* field.|

{note}
WCMComposer, FriendlyService, and WCMService can be controlled through the following paths respectively:  

* http://localhost:8080/rest/management/wcmcomposerservice/.

* http://localhost:8080/rest/management/friendlyservice/.

* http://localhost:8080/rest/management/wcmservice/.
{note}

h2. JCR management view {anchor:id=ADM.Management.JCR_management_viewRoleNotInToc}

Java Content Repository (JCR) provides a management view to monitor sessions, locks, repository configurations, and workspace configurations.

{docbook}
<para xml:id="ADM.Management.Session_Registry">
<citetitle>
<emphasis role="bold">
SessionRegistry
</emphasis>
</citetitle>
</para>
{docbook}

* The JMX name template of SessionRegistry MBeans: _exo:portal="portal",service=SessionRegistry,repository="portal-repository"_.

||Attribute||Description||
|{{TimeOut}}|The expiration period of a JCR session.|
|{{Size}}|The number of currently active sessions.|


||Operation||Description||
|{{runCleanup}}|Clean all JCR sessions timed out.|
|{{getTimeOut}}|Return the timeout of a JCR session.|
|{{getSize}}|Return the number of currently active sessions.|

{docbook}
<para xml:id="ADM.Management.Lock_manager">
<citetitle>
<emphasis role="bold">
LockManager
</emphasis>
</citetitle>
</para>
{docbook}

LockManager stores lock objects and is reponsible for removing expired locks.

* The JMX name template of LockManager MBeans: _exo\:portal="portal",service=lockmanager,repository="repository",workspace={{{ {WorkspaceName} }}}_ where _WorkspaceName_ is the name of each workspace.

||Attribute||Description||
|{{NumLocks}}|The number of active locks.|


||Operation||Desription||
|{{cleanExpiredLocks}}|Remove all expired JCR locks.|
|{{getNumLocks}}|Return the number of active JCR locks.|


* Each LockManager instance controls all locks of each corresponding workspace, including:

||Workspace Name||Description||
|{{backup}}|Data backed up.|
|{{collaboration}}|Data of collaboration, such as sites content, documents, groups, records space, tags, and users.|
|{{dev-monit}}|Data of the IDE application.|
|{{dms-system}}|Data of DMS, including node types, templates, views, taxonomy trees.|
|{{knowledge}}|Data of knowledge, including exo:applications, and groups.|
|{{pc-system}}|State information of producer portlets and remote portlet registry.|
|{{portal-system}}|Data of the Portal model objects, such as navigations, pages, portals, application registry.|
|{{portal-work}}|Information of Gadget token and Remember me token.|
|{{social}}|Data of Social, including activity, identity, profile, relationship and space.|
|{{system}}|Data of system, including versions storage, node types, namespaces.|
|{{wsrp-system}}|Data of remote portlets.|

{docbook}
<para xml:id="ADM.Management.Repository">
<citetitle>
<emphasis role="bold">
Repository
</emphasis>
</citetitle>
</para>
{docbook}

* The JMX name template of Repository MBeans: _exo\:portal="portal",container=repository,name="repository"_.

||Attribute||Description||
|{{Name}}|The name of the repository container.|
|{{RegisteredComponentNames}}|The list of registered component names in the repository.|


||Operation||Description||
|{{getName}}|Return the repository container name.|
|{{getRegisteredComponentNames}}|Return the list of registered component names in the repository.|

{docbook}
<para xml:id="ADM.Management.Workspace">
<citetitle>
<emphasis role="bold">
Workspace
</emphasis>
</citetitle>
</para>
{docbook}

* The JMX name template of Workspace MBeans: _exo\:portal="portal",container=workspace,repository="repository",name={{{ {WorkspaceName} }}}_ where _WorkspaceName_ is the name of each workspace.

||Attribute||Description||
|{{Name}}|The name of the workspace container.|
|{{RegisteredComponentNames}}|The list of registered component names in the workspace.|


||Operation||Description||
|{{getName}}|Return the workspace container name.|
|{{getRegisteredComponentNames}}|Return the list of registered component names in the workspace.|

{note}
Currently, the REST View managements of SessionRegistry, LockManager, Repository and Workspace are not exposed in this version.  
{note}


h2. Portal management view {anchor:id=ADM.Management.Portal_management_viewRoleNotInToc}

{docbook}
<para xml:id="ADM.Management.Temaplate_statistics">
<citetitle>
<emphasis role="bold">
Template statistics
</emphasis>
</citetitle>
</para>
{docbook}
 
Template statistics exposes various templates used by the portal and its components to render markups. Various statistics are available for individual templates, and aggregated statistics, such as the list of the slowest templates. Most management operations are performed on a single template; those operations take the template identifier as an argument. 

* The JMX name template of Template statistics MBeans: _exo\:portal="portal",service=statistic,view=portal,type=template_.

||Attribute||Description||
|{{TemplateList}}|The list of templates loaded.|
|{{SlowestTemplates}}|The list of the 10 slowest templates.|
|{{MostExecutedTemplates}}|The list of the 10 most used templates.|
|{{FastestTemplates}}|The list of 10 fastest templates.|


||Operation||Description||
|{{getAverageTime(templateId)}}|Return the average rendering time of a specified template in seconds.|
|{{getExecutionCount(templateId)}}|Return the number of times the specified template has been executed.|
|{{getMinTime(templateId)}}|Return the minimum rendering time of the specified template in seconds.|
|{{getMaxTime(templateId)}}|Return the maximum rendering time of the specified template in seconds.|
|{{getSlowestTemplates}}|Return the list of the 10 slowest templates.|
|{{getMostExecutedTemplates}}|Return the list of the 10 most used templates.|
|{{getTemplateList}}|Return the list of templates loaded.|
|{{getFastestTemplates}}|Return the list of the 10 fastest templates.|

{docbook}
<para xml:id="ADM.Management.Template_management">
<citetitle>
<emphasis role="bold">
Template management
</emphasis>
</citetitle>
</para>
{docbook}

Template management provides the capability to force the reload of a specified template. 

* The JMX name template of Template management MBeans: _exo\:portal="portal",service=management,view=portal,type=template_.

||Operation||Description||
|{{reloadTemplates}}|Clear the template cache.|
|{{listCachedTemplates}}|List identifiers of the cached templates.|
|{{reloadTemplate(templateId)}}|Clear the template cache for a specified template identifier.|

{docbook}
<para xml:id="ADM.Management.Skin_management">
<citetitle>
<emphasis role="bold">
Skin management
</emphasis>
</citetitle>
</para>
{docbook}

* The JMX name template of Skin management MBeans: _exo\:portal="portal",service=management,view=portal,type=skin_.

||Attribute||Description||
|{{SkinList}}|The list of loaded skins by the skin service.|


||Operation||Description||
|{{reloadSkin(skinId)}}|Force a reload of the specified skin and the operation.|
|{{reloadSkins}}|Force a reload of the loaded skins.|
|{{getSkinList}}|Return the list of loaded skins by the skin service.|

{docbook}
<para xml:id="ADM.Management.TokenStore">
<citetitle>
<emphasis role="bold">
TokenStore
</emphasis>
</citetitle>
</para>
{docbook}

* The JMX name template of TokenStore MBeans: _exo\:service=TokenStore, name={{{{Name}}}}_ where _Name_ is the name of each specific token.

||Attribute||Description||
|{{Name}}|The name of one specific token.|
|{{ValidityTime}}|The expiration period of one specific token in seconds.|
|{{PeriodTime}}|The expiration daemon period of one specific token in seconds. The token is deleted after the specified period.|


||Operation||Description||
|{{cleanExpiredTokens}}|Remove all expired tokens.|
|{{size}}|Return the number of tokens, including valid tokens and expired tokens undeleted yet.|
|{{getName}}|Return the token name.|
|{{getValidityTime}}|Return the expiration time of one specific token in seconds.|
|{{getPeriodTime}}|Return the expiration daemon period of one specific token in seconds.|


eXo Platform provides the following TokenStore instances:


||Token Name||Description||
|{{gadget-token}}|Store tokens of the Oauth gadget into the JCR node, such as *org.exoplatform.portal. gadget.core.Gadget TokenInfoService*.|
|{{jcr-token}}|Store common tokens into the JCR node, such as *org.exoplatform.web.security. security.CookieTokenService*, and *org.exoplatform.web.security.security.Rem indPasswordTokenService*.|
|{{memory-token}}|Store temporary tokens into the transient memory, such as *org.exoplatform.web. security.security.TransientTokenService*.|
|{{getPortalList}}|Return the list of identifiers of all loaded portals.|

{docbook}
<para xml:id="ADM.Management.Portal_statistic">
<citetitle>
<emphasis role="bold">
Portal statistics
</emphasis>
</citetitle>
</para>
{docbook}

* The  JMX name template of Portal statistics MBeans: _exo\:portal="portal",service=statistic,view=portal,type=portal_.

||Attribute||Description||
|{{PortalList}}|The list of identifiers of loaded portals.|

||Operation||Description||
|{{getThroughput(portalId)}}|Return the number of requests for the specified portal per second.|
|{{getAverageTime(portalId)}}|Return the average execution time of the specified portal in seconds.|
|{{getExecutionCount(portalId)}}|Return the number of times the specified portal has been executed.|
|{{getMinTime(portalId)}}|Return the minimum time of the specified portal in seconds.|
|{{getMaxTime(portalId)}}|Return the maximum time of the specified portal in seconds.|
|{{getPortalList}}|Return the list of identifiers of loaded portals.|

{docbook}
<para xml:id="ADM.Management.Application_statistics">
<citetitle>
<emphasis role="bold">
Application statistics
</emphasis>
</citetitle>
</para>
{docbook}

Various applications are exposed to provide relevant statistics.

* The JMX name template of Application statistics MBeans: _exo\:portal="portal",service=statistic,view=portal,type=application_.

||Attribute||Description||
|{{ApplicationList}}|The list of loaded applications.|
|{{SlowestApplications}}|The list of the 10 slowest applications.|
|{{MostExecutedApplications}}|The list of the 10 most executed applications.|
|{{FastestApplications}}|The list of the 10 fastest applications.|


||Operation||Description||
|{{getAverageTime(applicationId)}}|Return the average time spent of the specified application.|
|{{getExecutionCount(applicationId)}}|Return the number of times the specified application has been executed.|
|{{getMinTime(applicationId)}}|Return the minimum time spent of the specified application.|
|{{getMaxTime(applicationId)}}|Return the maximum time spent of the specified application.|
|{{getSlowestApplications}}|Return the list of the 10 slowest applications.|
|{{getMostExecutedApplications}}|Return the list of the 10 most executed applications.|
|{{getFastestApplications}}|Return the list of the 10 fastest applications.|
|{{getApplicationList}}|Return the list of application identifiers classified in the alphabetic order.|


{note}
Template statistics, Template management, Skin management, Portal statistics and Application statistics can be controlled through the following paths respectively:  

* http://localhost:8080/rest/management/templatestatistics.

* http://localhost:8080/rest/management/templateservice.

* http://localhost:8080/rest/management/skinservice.

* http://localhost:8080/rest/management/portalstatistic.

* http://localhost:8080/rest/management/applicationstatistic

However, the REST View management of TokenStore is currently not exposed in this version.
{note}

h2. Knowledge management view {anchor:id=ADM.Management.eXo_Knowledge_management_viewRoleNotInToc}

The Knowledge application provides a management view, enabling you to control rules, statistics, information of data storage in Forum and Answers.

{docbook}
<para xml:id="ADM.Management.Forum">
<citetitle>
<emphasis role="bold">
Forum
</emphasis>
</citetitle>
</para>
{docbook}

With the Forum Service management view, you can view ADMIN rules, statistics, such as the number of online users, and information of Mail Service configuration.

* The JMX name template of Forum MBeans: _exo\:portal="portal",service=forum_.

||Attribute||Description||
|{{AdminRules}}|The list of rules defining administrators.|
|{{ContactProvider}}|The string containing the specific ContactProvider implementation name which provides user profile to the forum, including: *org.exoplatform.ks.com mon.user.BusinessProfileContactProvider*, *org.exoplatform.ks.common.user.DefaultCo  ntactProvider*,*org.exoplatform.ks.common. user.PersonalProfileContactProvider*.|
|{{MailServiceConfig}}|The string containing the configuration of the Mail service used for the notifications in Knowledge.|
|{{OnlineUsers}}|The list of currently online users.|

||Operation||Description||
|{{countOnlineUsers}}|Return the number of currently online users.|
|{{hasForumAdminRole(String username)}}|Check if the user is the forum administrator or not.|
|{{getAdminRules}}|Return the list of rules defining administrators.|
|{{getOnlineUsers}}|Return the list of online users.|
|{{getContactProvider}}|Return the name of a specific ContactProvider implementation.|
|{{setContactProvider(String contactProviderClassName}}|Set a specific ContactProvider implementation. The user profile on portal is obtained to populate into that of Forum.|
|{{getMailServiceConfig}}|Return the Mail service configuration used to send notifications in Knowledge.|

{docbook}
<para xml:id="ADM.Management.Job">
<citetitle>
<emphasis role="bold">
Job
</emphasis>
</citetitle>
</para>
{docbook}

The Job management view enables you to view state information of Jobs used in Knowledge.

* The JMX name template of Job MBeans: _exo\:portal="portal",service=forum,view=jobs,name={{{ {Name} }}}_ where _Name_ is the name of each specific Job instance. 

||Attribute||Description||
|{{DataMap}}|The map containing the state information for Job instances.|
|{{Name}}|The name of the Job.|


||Operation||Description||
|{{getName}}|Return the names of Job instances.|
|{{getDataMap}}|Return the state information of Job instances.|

Knowledge provides the following Job instances:

||Job||Description||
|{{DeactiveJob}}|Deactivate topics which meet TWO predefined deactivation properties: _inactiveDays_ and _forumName_ in Forum.|
|{{LoginJob}}|Update information of users logged in, serving for statistics.|
|{{NotifyJob}}|Send email notifications in Answers.|
|{{RecountActiveUserJob}}|Indicate the number of active users in Forum.|
|{{SendMailJob}}|Send email notifications in Forum.|
|{{UpdateDataJob}}|Update Forum statistics, such as posts or topics of users.|

{docbook}
<para xml:id="ADM.Management.Plugin">
<citetitle>
<emphasis role="bold">
Plugin
</emphasis>
</citetitle>
</para>
{docbook}

The Knowledge application provides the following plugins:

* *RoleRulesPlugin* {anchor:id=ADM.Management.Roles_Plugin}

The JMX name template of RoleRulesPlugin MBeans: _exo\:portal="portal",service=forum,view=plugins,name="add.role.rules.plugin"_.

||Attribute||Description||
|{{AllRules}}|The list of all rules of RoleRulesPlugin. For example, the rule defining 'root' user as an administrator follows the form of ADMIN=[root].|
|{{Description}}|The brief description of RoleRulesPlugin functions.|
|{{Name}}|The name of RoleRulesPlugin.|
|{{RuleNames|The list of possible rule names; for example, the rule defining administrators is named ADMIN.|


||Operation||Description||
|{{addRule}}|Add a rule. For example, to add the ADMIN rule for the 'demo' user, you need to input two parameters: ADMIN in the p1 and demo in the p2.|
|{{getRules}}|Return the list of rules defining the user with the role inputed in p1.|
|{{getName}}|Return the name of the plugin.|
|{{getRuleNames}}|Return the list of possible rule names. For example, if 'demo' and 'mary' are defined as ADMIN (ADMIN=[demo, mary]), the list of returned rule names will be [ADMIN].|
|{{getDescription}}|Return the brief description of the plugin.|
|{{getAllRules}}|Return all rules added to the plugin.|

* *BBCodePlugin* {anchor:id=ADM.Management.BBCidePlugin}

The JMX name template of BBCodePlugin MBeans: _exo\:portal="portal",service=ks,view=plugins,name="forum.default.bbcodes"_.

||Attribute||Description||
|{{BBCodes}}|The list of BBCodes defined in the plugin.|


||Operation||Description||
|{{getBBCodes}}|Return the list of BBCodes. The Forum application currently provides the following BBCodes: \[URL\], \[JUSTIFY\], \[B\], \[HIGHLIGHT\], \[I\], \[U\], \[RIGHT\], \[EMAIL\], \[LIST\], \[COLOR\], \[CENTER\], \[CODE\], \[QUOTE\], \[CSS\], \[LEFT\], \[FONT\], \[GOTO\], \[SIZE\], \[SLIDESHARE\], \[IMG\], \[WIKI\].|

* *ForumInitialDataPlugin* {anchor:id=ADM.Management.ForumInitialDataPlugin}

The JMX name template of ForumInitialDataPlugin MBeans: _exo\:portal="portal",service=forum,view=plugins,name={{{{Name}}}}_.

||Attribute||Description||
|{{Location}}|The location where the Forum export file is stored.|


||Operation||Description||
|{{getLocation}}|Return the location where the Forum export file is stored, for example _war\:/data/forum/data-full-forum.zip_.|

* *InitialDataPlugin* {anchor:id=ADM.Management.InitialDataPlugin}

The JMX name template of InitialDataPlugin MBeans: _exo\:portal="portal",service=faq,view=plugins,name={{{ {Name} }}}_.

||Attribute||Description||
|{{Location}}|The location where the FAQ export file is stored.|


||Operation||Description||
|{{getLocation}}|Return the location where the FAQ export file is stored, for example _war\:/data/Technical-FAQ.zip_.|
|{{isForceXML}}|Indicate if the data loaded from the FAQ export file should override any data found in the existing database.|

{docbook}
<para xml:id="ADM.Management.Storage">
<citetitle>
<emphasis role="bold">
Storage
</emphasis>
</citetitle>
</para>
{docbook}

The Storage management view enables you to get storage information in Knowledge, such as data path, repository and workspace.

* The JMX name template of Forum Storage MBeans: _exo\:portal="portal",service=forum,view=storage_.

||Attribute||Description||
|{{Path}}|The JCR data path of the Forum Storage.|
|{{Repository}}|The name of repository containing the workspace where Forum data are stored.|
|{{Workspace}}|The name of workspace containing Forum data.|


||Operation||Description||
|{{getRepository}}|Return the name of repository of the Forum Storage.|
|{{getWorkspace}}|Return the name of workspace of the Forum Storage.|
|{{getPath}}|Return the JCR data path of the Forum Storage.|


{note}
Currently, the REST View managements of Forum, Job, Plugin, Storage are not exposed in this version.
{note}

h2. Collaboration management view {anchor:id=ADM.Management.eXo_Collaboration_management_viewRoleNotInToc}

The Collaboration application provides a management view, enabling you to view some state information of Jobs used in itself. 

||Attribute||Description||
|{{DataMap}}|The map containing the state information for the Job instances.|
|{{Name}}|The name of the Job.|


||Operation||Description||
|{{getName}}|Return the name of Job instances.|
|{{getDataMap}}|Return the state information of Job instances.|

The Collaboration application provides the following Job instances:

||Job Name||Description||
|{{PopupReminderJob}}|Show pop-up reminders in the Calendar application.|
|{{ReminderJob}}|Send email reminders in the Calendar application.|
|{{messageToHistoricalMessageJob}}|Save messages in the Chat application in the data storage of Collaboration.|

{note}
Currently, the REST View management of Collaboration is not exposed.
{note}