The ActionServiceContainer component is used to manage actions (adding, removing, or executing actions, and more) in the system. The configuration of this component is found in /core/core-configuration/src/main/webapp/WEB-INF/conf/wcm-core/core-services-configuration.xml.
<component>
<key>org.exoplatform.services.cms.actions.ActionServiceContainer</key>
<type>org.exoplatform.services.cms.actions.impl.ActionServiceContainerImpl</type>
<init-params>
<value-param>
<name>workspace</name>
<value>system</value>
</value-param>
<value-param>
<name>repository</name>
<value>repository</value>
</value-param>
</init-params>
</component>
Details
| Value-param | Possible value | Default value | Description |
|---|---|---|---|
| workspace | String | system | The workspace name. |
| repository | String | repository | The repository name. |
The ApplicationTemplateManagerService component is used to manage dynamic Groovy templates for WCM-based products. The configuration of this component is found in /core/core-configuration/src/main/webapp/WEB-INF/conf/wcm-core/core-services-configuration.xml.
<component>
<key>org.exoplatform.services.cms.views.ApplicationTemplateManagerService</key>
<type>org.exoplatform.services.cms.views.impl.ApplicationTemplateManagerServiceImpl</type>
<init-params>
<properties-param>
<name>storedLocations</name>
<property name="repository" value="system"/>
</properties-param>
</init-params>
</component>
Details:
| Properties-param | Property name | Possible value | Default value | Description |
|---|---|---|---|---|
| storedLocations | repository | string | system | The repository name. |
<component>
<key>org.exoplatform.services.portletcache.FragmentCacheService</key>
<type>org.exoplatform.services.portletcache.FragmentCacheService</type>
<init-params>
<value-param>
<name>cleanup-cache</name>
<description>The cleanup cache period in seconds</description>
<value>300</value>
</value-param>
</init-params>
</component>
Details
| Value-param | Possible value | Default value | Description |
|---|---|---|---|
| cleanup-cache | integer | 300 |
The JodConverterServices component is used to convert documents into different office formats. The configuration of this component is found in /core/core-configuration/src/main/webapp/WEB-INF/conf/wcm-core/core-services-configuration.xml.
<component>
<key>org.exoplatform.services.cms.jodconverter.JodConverterService</key>
<type>org.exoplatform.services.cms.jodconverter.impl.JodConverterServiceImpl</type>
<init-params>
<value-param>
<name>host</name>
<value>127.0.0.1</value>
</value-param>
<value-param>
<name>port</name>
<value>8100</value>
</value-param>
</init-params>
</component>
Details
| Value-param | Possible value | Default value | Description |
|---|---|---|---|
| host | The host IP | 127.0.0.1 | The host from which a document is converted into different office formats. |
| port | The port number | 8100 | The port number is open to accept converting a document into different office formats. |
The LiveLinkManagerService component is used to check broken links, update links when the links are edited and extract links to return a list of all links. The configuration of this component is found in /core/core-configuration/src/main/webapp/WEB-INF/conf/wcm-core/wcm-configuration.xml.
<component>
<key>org.exoplatform.services.wcm.link.LiveLinkManagerService</key>
<type>org.exoplatform.services.wcm.link.LiveLinkManagerServiceImpl</type>
<init-params>
<properties-param>
<name>server.config</name>
<description>server.address</description>
<property name="scheme" value="http"/>
<property name="hostName" value="localhost"/>
<property name="port" value="8080"/>
</properties-param>
</init-params>
</component>
Details:
| Properties-param | Property name | Possible value | Default value | Description |
|---|---|---|---|---|
| server.config |
scheme hostName port |
http/https string the port number |
http localhost 8080 | All the property names are used together to configure the server. Here is an example about the server configuration: http//:localhost:8080. |
The LockService component is used to manage all locked nodes and allows unlocking the locked nodes in the system. It is also used to assign the Lock right to a user or a user group or a membership. The configuration of this component is found in /core/core-configuration/src/main/webapp/WEB-INF/conf/wcm-core/core-services-configuration.xml.
<component>
<key>org.exoplatform.services.cms.lock.LockService</key>
<type>org.exoplatform.services.cms.lock.impl.LockServiceImpl</type>
</component>
The NewsletterInitializationService component is used to initiate some data for the newsletter portlet. The configuration of this component is found in packaging/ecmdemo/webapp/src/main/webapp/WEB-INF/conf/sample-portal/wcm/newsletter-configuration.xml.
<component>
<type>org.exoplatform.services.wcm.newsletter.NewsletterInitializationService</type>
<init-params>
<values-param>
<name>portalNames</name>
<value>classic</value>
<value>acme</value>
</values-param>
<values-param>
<name>administrators</name>
<value>root</value>
<value>john</value>
</values-param>
<object-param>
<name>marketing</name>
<description>marketing</description>
<object type="org.exoplatform.services.wcm.newsletter.NewsletterCategoryConfig">
<field name="name">
<string>marketing</string>
</field>
<field name="title">
<string>Marketing</string>
</field>
<field name="description">
<string>You want to know where we are, where we go ?</string>
</field>
<field name="moderator">
<string>*:/platform/web-contributors</string>
</field>
</object>
</object-param>
<object-param>
<name>general</name>
<description>general</description>
<object type="org.exoplatform.services.wcm.newsletter.NewsletterCategoryConfig">
<field name="name">
<string>general</string>
</field>
<field name="title">
<string>General</string>
</field>
<field name="description">
<string>General information about us</string>
</field>
<field name="moderator">
<string>*:/platform/web-contributors</string>
</field>
</object>
</object-param>
<object-param>
<name>subscription2</name>
<description>subscription2</description>
<object type="org.exoplatform.services.wcm.newsletter.NewsletterSubscriptionConfig">
<field name="name">
<string>results</string>
</field>
<field name="title">
<string>Results</string>
</field>
<field name="description">
<string>Monthly newsletter about our results and forecasts</string>
</field>
<field name="categoryName">
<string>general</string>
</field>
<field name="redactor">
<string>*:/platform/web-contributors</string>
</field>
</object>
</object-param>
<object-param>
<name>subscription1</name>
<description>subscription1</description>
<object type="org.exoplatform.services.wcm.newsletter.NewsletterSubscriptionConfig">
<field name="name">
<string>checklist</string>
</field>
<field name="title">
<string>Check-List</string>
</field>
<field name="description">
<string>Weekly newsletter with general topics</string>
</field>
<field name="categoryName">
<string>general</string>
</field>
<field name="redactor">
<string>*:/platform/web-contributors</string>
</field>
</object>
</object-param>
<object-param>
<name>subscription3</name>
<description>subscription3</description>
<object type="org.exoplatform.services.wcm.newsletter.NewsletterSubscriptionConfig">
<field name="name">
<string>market</string>
</field>
<field name="title">
<string>The market</string>
</field>
<field name="description">
<string>What's on the market today ?</string>
</field>
<field name="categoryName">
<string>marketing</string>
</field>
<field name="redactor">
<string>*:/platform/web-contributors</string>
</field>
</object>
</object-param>
<object-param>
<name>user1@gmail.com</name>
<description>user1@gmail.com</description>
<object type="org.exoplatform.services.wcm.newsletter.config.NewsletterUserConfig">
<field name="mail">
<string>user1@gmail.com</string>
</field>
</object>
</object-param>
<object-param>
<name>user2@gmail.com</name>
<description>user2@gmail.com</description>
<object type="org.exoplatform.services.wcm.newsletter.config.NewsletterUserConfig">
<field name="mail">
<string>user2@gmail.com</string>
</field>
</object>
</object-param>
</init-params>
</component>
Details:
| Value-param | Possible value | Default value | Description |
|---|---|---|---|
| portalNames | string | classic, acme | The portal names. |
| administrators | string | root | The administrator who manages the newsletter portlet. |
| name | string | The name of categories or subscriptions. | |
| title | string | The title of categories or subscriptions. | |
| moderator | string | *:/platform/web-contributors | The users or groups that can moderate the newsletter portlet. |
| categoryName | string | general, marketing | Thu categories name. |
| redactor | string | *:/platform/web-contributors | The users or groups that are newsletter redactor. |
| string | The email that user uses to subscribe. |
The NewsletterManagerService component is used to send newsletters to subscribers. The configuration of this component is found in core/core-configuration/src/main/webapp/WEB-INF/conf/wcm-core/ext-newsletter-configuration.xml.
<component>
<type>org.exoplatform.services.wcm.newsletter.NewsletterManagerService</type>
<init-params>
<value-param>
<name>repository</name>
<value>repository</value>
</value-param>
<value-param>
<name>workspace</name>
<value>collaboration</value>
</value-param>
</init-params>
</component>
Details:
| Value-param | Possible value | Default value | Description |
|---|---|---|---|
| repository | string | repository | The repository name. |
| workspace | string | collaboration | The workspace name. |
The SiteSearchService component is used in the Search portlet that allows users to find all information matching with your given keyword.
It is configured in the core/core-configuration/src/main/webapp/WEB-INF/conf/configuration.xml file as follows:
<import>war:/conf/wcm-core/core-search-configuration.xml</import>
The component configuration maps the SiteSearchService component with its own implementation: SiteSearchServiceImpl.
<component>
<key>org.exoplatform.services.wcm.search.SiteSearchService</key>
<type>org.exoplatform.services.wcm.search.SiteSearchServiceImpl</type>
<component-plugins>
...
</component-plugins>
<init-params>
<value-param>
<name>isEnabledFuzzySearch</name>
<value>true</value>
</value-param>
<value-param>
<name>fuzzySearchIndex</name>
<value/>
</value-param>
</init-params>
</component>
The component consists of the following init-parameters:
| Init-Params | Default Value | Possible Value | Description |
|---|---|---|---|
| isEnabledFuzzySearch | true | Boolean | Allow administrators to enable/disable the fuzzy search mechanism. |
| fuzzySearchIndex | N/A | N/A | Allow the approximate level between the input keyword and the found key results. In case of the invalid configuration, the default value is set to 0.8. |
To have more information about the fuzzy search, please refer to Fuzzy Search.
The SEOService component is used to help users manage SEO data of a page or a content, so their websites can achieve higher rankings on search engines. The configuration of this component is found in /packaging/wcm/webapp/src/main/webapp/WEB-INF/conf/wcm-extension/wcm/seo-configuration.xml.
<component>
<key>org.exoplatform.services.seo.SEOService</key>
<type>org.exoplatform.services.seo.impl.SEOServiceImpl</type>
<init-params>
<object-param>
<name>seo.config</name>
<object type="org.exoplatform.services.seo.SEOConfig">
<field name="robotsindex">
<collection type="java.util.ArrayList">
<value><string>INDEX</string></value>
<value><string>NOINDEX</string></value>
</collection>
</field>
<field name="robotsfollow">
<collection type="java.util.ArrayList">
<value><string>FOLLOW</string></value>
<value><string>NOFOLLOW</string></value>
</collection>
</field>
<field name="frequency">
<collection type="java.util.ArrayList">
<value><string>Always</string></value>
<value><string>Hourly</string></value>
<value><string>Daily</string></value>
<value><string>Weekly</string></value>
<value><string>Monthly</string></value>
<value><string>Yearly</string></value>
<value><string>Never</string></value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component>
Details:
Object type: org.exoplatform.services.seo.SEOConfig
| Field name | Type | Default value | Description |
|---|---|---|---|
| robotsindex | string |
INDEX NOINDEX | Allow search engines to index a particular page or not. |
| robotsfollow | string |
FOLLOW NOFOLLOW | Allow search engines to follow links from a particular page to find other pages or not. |
| frequency | string |
Always Hourly Daily Weekly Monthly Yearly Never | Define how often a particular page is updated. |
The QueryService component is used to manage many queries, including adding, removing or executing a query. The configuration of this component is found in /core/core-configuration/src/main/webapp/WEB-INF/conf/wcm-core/core-services-configuration.xml.
<component>
<key>org.exoplatform.services.cms.queries.QueryService</key>
<type>org.exoplatform.services.cms.queries.impl.QueryServiceImpl</type>
<init-params>
<value-param>
<name>workspace</name>
<value>system</value>
</value-param>
<value-param>
<name>relativePath</name>
<value>Private/Queries</value>
</value-param>
<value-param>
<name>group</name>
<value>*:/admin</value>
</value-param>
</init-params>
</component>
Details:
| Value-param | Possible value | Default value | Description |
|---|---|---|---|
| workspace | string | system | The workspace name. |
| relativePath | Private/Queries | Private/Queries | The path to the query location. |
| group | string | *:/admin | The group is allowed to access the query folder. |
The TaxonomyService component is used to sort documents to ease searches when browsing documents online. It provides a multi-dimensional set of paths to find a document. In many cases, you can get your content by using different category paths. Therefore, after creating a document somewhere in the repository, it is possible to categorize it by adding several taxonomy references. By browsing the taxonomy tree, it will be possible to find the referencing article and display them as if they were children of the taxonomy nodes. Taxonomies are stored in the JCR itself and the JCR Reference functionality is used to provide that advanced WCM feature. The tree of taxonomies can be managed simply, such as copying/cutting/pasting nodes, or adding and removing taxonomies from the tree. Once a taxonomy has been added, any user who has access to the "Manage Categories" icon from his/her view can then browse the taxonomy tree and refer one of its nodes to the created documents.
<component>
<key>org.exoplatform.services.cms.taxonomy.TaxonomyService</key>
<type>org.exoplatform.services.cms.taxonomy.impl.TaxonomyServiceImpl</type>
<init-params>
<object-param>
<name>defaultPermission.configuration</name>
<object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyTreeDefaultUserPermission">
<field name="permissions">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyTreeDefaultUserPermission$Permission">
<field name="identity"><string>*:/platform/administrators</string></field>
<field name="read"><string>true</string></field>
<field name="addNode"><string>true</string></field>
<field name="setProperty"><string>true</string></field>
<field name="remove"><string>true</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyTreeDefaultUserPermission$Permission">
<field name="identity"><string>*:/platform/users</string></field>
<field name="read"><string>true</string></field>
<field name="addNode"><string>true</string></field>
<field name="setProperty"><string>true</string></field>
<field name="remove"><string>false</string></field>
</object>
</value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component>
Details:
Object type: org.exoplatform.services.cms.taxonomy.impl.TaxonomyTreeDefaultUserPermission
| Field name | Collection type | Description |
|---|---|---|
| permissions |
java.util.ArrayList<TaxonomyTreeDefaultUserPermission$Permission> | The list of the default user permissions to access the taxonomy tree. |
Object type: org.exoplatform.services.cms.taxonomy.impl.TaxonomyTreeDefaultUserPermission$Permission
| Field name | Type | Default value | Description |
|---|---|---|---|
| identity | String | *:/platform/administrators | The name of user or group. |
| read | Boolean | true | The permission to read the taxonomy tree. |
| addNode | Boolean | true | The permission to add a node to the taxonomy tree. |
| setProperty | Boolean | true | The permission to set properties for a node in the taxonomy tree. |
| remove | Boolean | true | The permission to remove a node from the taxonomy tree. |
The ThumbnailService component is used to resize all the images into different sizes. Besides the default sizes, it also allows users to customize the images into the desired sizes. The configuration of this component is found in /core/core-configuration/src/main/webapp/WEB-INF/conf/wcm-core/core-services-configuration.xml.
<component>
<key>org.exoplatform.services.cms.thumbnail.ThumbnailService</key>
<type>org.exoplatform.services.cms.thumbnail.impl.ThumbnailServiceImpl</type>
<init-params>
<value-param>
<name>smallSize</name>
<value>32x32</value>
</value-param>
<value-param>
<name>mediumSize</name>
<value>64x64</value>
</value-param>
<value-param>
<name>largeSize</name>
<value>300x300</value>
</value-param>
<value-param>
<name>enable</name>
<value>false</value>
</value-param>
<value-param>
<name>mimetypes</name>
<value>image/jpeg;image/png;image/gif;image/bmp</value>
</value-param>
</init-params>
</component>
Details:
| Value-param | Possible value | Default value | Description |
|---|---|---|---|
| smallSize | 32x32 | 32x32 | The small thumbnail size. |
| mediumSiz | 64x64 | 64x64 | The medium thumbnail size. |
| largeSize | 300x300 | 300x300 | The large thumbnail size. |
| enable | boolean | false | Specify if the thumbnail is displayed or not. |
| mimetypes | images formats | image/jpeg;image/png;image/gif;image/bmp | The image formats are supported. |
The TimelineService component allows documents to be displayed by days, months and years. The configuration of this component is found in /core/core-configuration/src/main/webapp/WEB-INF/conf/wcm-core/core-services-configuration.xml.
<component>
<key>org.exoplatform.services.cms.timeline.TimelineService</key>
<type>org.exoplatform.services.cms.timeline.impl.TimelineServiceImpl</type>
<init-params>
<value-param>
<name>itemPerTimeline</name>
<value>5</value>
</value-param>
</init-params>
</component>
Details:
| Value-param | Possible value | Default value | Description |
|---|---|---|---|
| itemPerTimeline | integer | 5 | The number of documents are displayed. |
The WatchDocumentService component allows users to watch/unwatch a document. If they are watching the document, they will receive a notification mail when there are any changes on the document. The configuration of this component is found in /core/core-configuration/src/main/webapp/WEB-INF/conf/wcm-core/core-services-configuration.xml.
<component>
<key>org.exoplatform.services.cms.watch.WatchDocumentService</key>
<type>org.exoplatform.services.cms.watch.impl.WatchDocumentServiceImpl</type>
<init-params>
<object-param>
<name>messageConfig</name>
<description>description</description>
<object type="org.exoplatform.services.cms.watch.impl.MessageConfig">
<field name="sender"><string>support@exoplatform.com</string></field>
<field name="subject"><string>Your watching document is changed</string></field>
<field name="content">
<string>The document that you are watching is changed.
Please go to ecm to see this change
</string>
</field>
</object>
</object-param>
</init-params>
</component>
Details:
Object type: org.exoplatform.services.cms.watch.impl.MessageConfig
| Field name | Type | Default value | Description |
|---|---|---|---|
| sender | string | support@exoplatform.com | The sender who sends the notification mail. |
| subject | string | Your watching document is changed. | The subject of the notification mail. |
| content | string | The document that you are watching is changed. Please go to ecm to see this change. | The content of the notification mail. |
The WCMService component allows setting expiration cache of portlets and checking given portals if they are shared portals or not. It also gets reference contents basing on item identifiers. The configuration of this component is found in /core/core-configuration/src/main/webapp/WEB-INF/conf/wcm-core/core-services-configuration.xml.
<component>
<key>org.exoplatform.services.wcm.core.WCMService</key>
<type>org.exoplatform.services.wcm.core.impl.WCMServiceImpl</type>
<init-params>
<properties-param>
<name>server.config</name>
<description>server.config</description>
<property name="expirationCache" value="30"/>
</properties-param>
</init-params>
</component>
Details:
| Properties-param | Property name | Possible value | Default value | Description |
|---|---|---|---|---|
| server.config | expirationCache | integer | 30 | The period in which the cache is clear in second. By default, the cache is cleared every 30 seconds. |
Object type: org.exoplatform.services.wcm.extensions.publication.lifecycle.impl.LifecyclesConfig
| Name | Type | Default Value | Description |
|---|---|---|---|
| lifecycles |
array list
|
java.util.ArrayList
| The list of lifecycles. |
Object type: org.exoplatform.services.wcm.extensions.publication.lifecycle.impl.LifecyclesConfig$Lifecycle
| Name | Type | Default Value | Description |
|---|---|---|---|
| name |
String
|
N/A
| The name of the lifecycle. |
| publicationPlugin |
string
|
Authoring publication
| The publication plugin name. |
| states |
array list
|
java.util.ArrayList
| The list of the publication states. |
Object type: org.exoplatform.services.wcm.extensions.publication.lifecycle.impl.LifecyclesConfig$State
| Name | Type | Default Value | Description |
|---|---|---|---|
| state |
string
|
N/A
| The publication states: draft, pending, staged, approved or published. |
| membership |
string
|
N/A
| The user or group. |
Object type: org.exoplatform.services.wcm.extensions.publication.context.impl.ContextConfig
| Name | Type | Default Value | Description |
|---|---|---|---|
| contexts |
array list
|
java.util.ArrayList
| The list of contexts. |
Object type: org.exoplatform.services.wcm.extensions.publication.context.impl.ContextConfig$Context
| Name | Type | Default Value | Description |
|---|---|---|---|
| name |
string
|
contextdefault
| The context name. |
| priority |
string
|
200
| The context priority. The higher number indicates the higher priority. Because a site may have several lifecycles so the lifecycle with higher priority will be executed. |
| lifecycle |
string
|
lifecycle1
| The name of lifecycle. |
<external-component-plugins>
<target-component>org.exoplatform.services.wcm.extensions.publication.PublicationManager</target-component>
<component-plugin>
<name>AddLifecycle</name>
<set-method>addLifecycle</set-method>
<type>org.exoplatform.services.wcm.extensions.publication.lifecycle.StatesLifecyclePlugin</type>
<description>Configures</description>
<priority>1</priority>
<init-params>
<object-param>
<name>lifecycles</name>
<object type="org.exoplatform.services.wcm.extensions.publication.lifecycle.impl.LifecyclesConfig">
<field name="lifecycles">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.wcm.extensions.publication.lifecycle.impl.LifecyclesConfig$Lifecycle">
<field name="name">
<string>lifecycle1</string>
</field>
<field name="publicationPlugin">
<string>Authoring publication</string>
</field>
<field name="states">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.wcm.extensions.publication.lifecycle.impl.LifecyclesConfig$State">
<field name="state">
<string>draft</string>
</field>
<field name="membership">
<string>author:/platform/web-contributors</string>
</field>
</object>
</value>
<value>
<object type="org.exoplatform.services.wcm.extensions.publication.lifecycle.impl.LifecyclesConfig$State">
<field name="state">
<string>pending</string>
</field>
<field name="membership">
<string>author:/platform/web-contributors</string>
</field>
</object>
</value>
<value>
<object type="org.exoplatform.services.wcm.extensions.publication.lifecycle.impl.LifecyclesConfig$State">
<field name="state">
<string>approved</string>
</field>
<field name="membership">
<string>manager:/platform/web-contributors</string>
</field>
</object>
</value>
<value>
<object type="org.exoplatform.services.wcm.extensions.publication.lifecycle.impl.LifecyclesConfig$State">
<field name="state">
<string>staged</string>
</field>
<field name="membership">
<string>publisher:/platform/web-contributors</string>
</field>
</object>
</value>
<value>
<object type="org.exoplatform.services.wcm.extensions.publication.lifecycle.impl.LifecyclesConfig$State">
<field name="state">
<string>published</string>
</field>
<field name="membership">
<string>publisher:/platform/web-contributors</string>
</field>
</object>
</value>
</collection>
</field>
</object>
</value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
<component-plugin>
<name>AddContext</name>
<set-method>addContext</set-method>
<type>org.exoplatform.services.wcm.extensions.publication.context.ContextPlugin</type>
<init-params>
<object-param>
<name>contexts</name>
<object type="org.exoplatform.services.wcm.extensions.publication.context.impl.ContextConfig">
<field name="contexts">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.wcm.extensions.publication.context.impl.ContextConfig$Context">
<field name="name">
<string>contextdefault</string>
</field>
<field name="priority">
<string>200</string>
</field>
<field name="lifecycle">
<string>lifecycle1</string>
</field>
</object>
</value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
In which:
Target-component: org.exoplatform.services.wcm.extensions.publication.PublicationManager
Name: AddLifecycle
Set-method: addLifecycle
Type: org.exoplatform.services.wcm.extensions.publication.lifecycle.StatesLifecyclePlugin
<external-component-plugins>
<target-component>org.exoplatform.services.jcr.RepositoryService</target-component>
<component-plugin>
<name>add.namespaces</name>
<set-method>addPlugin</set-method>
<type>org.exoplatform.services.jcr.impl.AddNamespacesPlugin</type>
<init-params>
<properties-param>
<name>namespaces</name>
<property name="publication" value="http://www.exoplatform.com/jcr/publication/1.1/"/>
</properties-param>
</init-params>
</component-plugin>
<component-plugin>
<name>add.nodeType</name>
<set-method>addPlugin</set-method>
<type>org.exoplatform.services.jcr.impl.AddNodeTypePlugin</type>
<priority>99</priority>
<init-params>
<values-param>
<name>autoCreatedInNewRepository</name>
<description>Node types configuration file</description>
<value>war:/conf/wcm-core/nodetypes/nodetypes-publication-config.xml</value>
</values-param>
</init-params>
</component-plugin>
</external-component-plugins>
In which:
target component: org.exoplatform.services.jcr.RepositoryService
name: add.namespaces
set method: addPlugin
type: org.exoplatform.services.jcr.impl.AddNamespacesPlugin
This is an abstract class and the parent of ScriptActionPlugin. You can create a link from this plugin to its children.
This is the configuration for the location of templates to inject in JCR.
<external-component-plugins>
<target-component>org.exoplatform.services.cms.templates.TemplateService</target-component>
<component-plugin>
<name>FilterContentTypeForWCMSpecificFolder</name>
<set-method>addContentTypeFilterPlugin</set-method>
<type>org.exoplatform.services.cms.templates.ContentTypeFilterPlugin</type>
<description>this plugin is used to filter wcm nodetype</description>
<init-params>
<object-param>
<name>cssFolderFilter</name>
<description>only exo:cssFile can be created in exo:cssFolder</description>
<object type="org.exoplatform.services.cms.templates.ContentTypeFilterPlugin$FolderFilterConfig">
<field name="folderType">
<string>exo:cssFolder</string>
</field>
<field name="contentTypes">
<collection type="java.util.ArrayList">
<value>
<string>exo:cssFile</string>
</value>
</collection>
</field>
</object>
</object-param>
<object-param>
<name>jsFolderFolderFilter</name>
<description>only exo:cssFile can be created in exo:cssFolder</description>
<object type="org.exoplatform.services.cms.templates.ContentTypeFilterPlugin$FolderFilterConfig">
<field name="folderType">
<string>exo:jsFolder</string>
</field>
<field name="contentTypes">
<collection type="java.util.ArrayList">
<value>
<string>exo:jsFile</string>
</value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
In which:
Target-component: org.exoplatform.services.cms.templates.TemplateService
Name: addTemplates
Set-method: addTemplates
Type: org.exoplatform.services.cms.templates.impl.TemplatePlugin
Object type: org.exoplatform.services.wcm.extensions.publication.context.impl.ContextConfig
| Name | Type | Default Value | Description |
|---|---|---|---|
| name |
string
| context2 | The name of the context. |
| priority |
string
|
100
| The context priority, the higher number indicates higher priority. Because a site may have several lifecycles, the lifecycle with higher priority will be excuted priorly. |
| lifecycle |
string
|
lifecycle2
| The name of the lifecycle. |
| site |
string
|
acme
| The site that will apply the context configuration. |
<external-component-plugins>
<target-component>org.exoplatform.services.wcm.extensions.publication.PublicationManager</target-component>
<component-plugin>
<name>AddContext</name>
<set-method>addContext</set-method>
<type>org.exoplatform.services.wcm.extensions.publication.context.ContextPlugin</type>
<init-params>
<object-param>
<name>contexts</name>
<object type="org.exoplatform.services.wcm.extensions.publication.context.impl.ContextConfig">
<field name="contexts">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.wcm.extensions.publication.context.impl.ContextConfig$Context">
<field name="name">
<string>context2</string>
</field>
<field name="priority">
<string>100</string>
</field>
<field name="lifecycle">
<string>lifecycle2</string>
</field>
<field name="site">
<string>acme</string>
</field>
</object>
</value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
In which:
Target-component: org.exoplatform.services.wcm.extensions.publication.PublicationManager
Name: AddLifecycle
Set-method: addLifecycle
Type: org.exoplatform.services.wcm.extensions.publication.lifecycle.StatesLifecyclePlugin
This is an abstract class and the parent of CreateTaxonomyPlugin . You can create a link from this plugin to its children.
ExcludeMimeTypes is used in the SiteSearchService component to filter the search results before these results are presented on the search page.
The plugin has the following parameter:
| Properties-Param | Description |
|---|---|
| search.exclude.datatype | Exclude some data types when doing search. |
The search.exclude.datatype property includes two attributes:
| Attributes | Values | Description |
|---|---|---|
| name | mimetypes | Name of the property param. |
| value | text/css,text/javascript,application/x-javascript,text/ecmascript | List mimetypes which will be excluded from the search results. |
See the following sample configuration:
<component-plugins>
<component-plugin>
<name>ExcludeMimeTypes</name>
<set-method>addExcludeIncludeDataTypePlugin</set-method>
<type>org.exoplatform.services.wcm.search.ExcludeIncludeDataTypePlugin</type>
<init-params>
<properties-param>
<name>search.exclude.datatypes</name>
<description>exclude some data type when search</description>
<property name="mimetypes" value="text/css,text/javascript,application/x-javascript,text/ecmascript"/>
</properties-param>
</init-params>
</component-plugin>
</component-plugins>
In which:
Set-method: addExcludeIncludeDataTypePlugin
Type: org.exoplatform.services.wcm.search.ExcludeIncludeDataTypePlugin
Object type: org.exoplatform.services.wcm.friendly.impl.FriendlyConfig
| Name | Type | Default Value | Description |
|---|---|---|---|
| friendlyUrl | string | documents | The object that will be applied the friendly URL. |
| unfriendlyUrl | string | /public/acme/detail?content-id=/repository/collaboration | The path to the location that will be applied the friendly URL. |
<external-component-plugins>
<target-component>org.exoplatform.services.wcm.friendly.FriendlyService</target-component>
<component-plugin>
<name>FriendlyService.addConfiguration</name>
<set-method>addConfiguration</set-method>
<type>org.exoplatform.services.wcm.friendly.impl.FriendlyPlugin</type>
<description>Configures</description>
<priority>100</priority>
<init-params>
<value-param>
<name>enabled</name>
<value>true</value>
</value-param>
<object-param>
<name>friendlies.configuration</name>
<object type="org.exoplatform.services.wcm.friendly.impl.FriendlyConfig">
<field name="friendlies">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.wcm.friendly.impl.FriendlyConfig$Friendly">
<field name="friendlyUri"><string>documents</string></field>
<field name="unfriendlyUri"><string>/public/acme/detail?content-id=/repository/collaboration</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.wcm.friendly.impl.FriendlyConfig$Friendly">
<field name="friendlyUri"><string>files</string></field>
<field name="unfriendlyUri"><string>/rest-ecmdemo/jcr/repository/collaboration</string></field>
</object>
</value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
In which:
Target-component: org.exoplatform.services.wcm.friendly.FriendlyService
Name: FriendlyService.addConfiguration
Set-method: addConfiguration
Type: org.exoplatform.services.wcm.friendly.impl.FriendlyPlugin
This plugin will configure the file types of the thumbnail images.
Object type: org.exoplatform.services.cms.thumbnail.impl.ThumbnailType
| Name | Type | Default Value | Description |
|---|---|---|---|
| mimeTypes |
Array list
|
java.util.ArrayList
| List of thumbnail image types |
<external-component-plugins>
<target-component>org.exoplatform.services.cms.thumbnail.ThumbnailService</target-component>
<component-plugin>
<name>ImageThumbnailPlugin</name>
<set-method>addPlugin</set-method>
<type>org.exoplatform.services.cms.thumbnail.impl.ImageThumbnailPlugin</type>
<init-params>
<object-param>
<name>thumbnailType</name>
<description>Thumbnail types</description>
<object type="org.exoplatform.services.cms.thumbnail.impl.ThumbnailType">
<field name="mimeTypes">
<collection type="java.util.ArrayList">
<value>
<string>image/jpeg</string>
</value>
<value>
<string>image/png</string>
</value>
<value>
<string>image/gif</string>
</value>
<value>
<string>image/bmp</string>
</value>
<value>
<string>image/tiff</string>
</value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
Details:
Target-component: org.exoplatform.services.cms.thumbnail.ThumbnailService
Name: ImageThumbnailPlugin
Set-method: addPlugin
Type: org.exoplatform.services.cms.thumbnail.impl.ImageThumbnailPlugin
As a portal is created, this plugin will deploy initial web-contents as the site artifact into the Site Artifact folder of that portal.
Object type: org.exoplatform.services.deployment.DeploymentDescriptor$Target
| Name | Type | Default Value | Description |
|---|---|---|---|
| workspace | string | collaboration | The workspace into which the initial web contents will be deployed into. |
| nodePath | string | /sites content/live//web contents/site artifacts | The target node where the initial web-contents will be deployed into. |
| sourcePath | string | war:/conf/sample-portal/wcm/artifacts/site-resources/acme-templates/Logo.xml | The path to the source that this plugin will get data. |
<external-component-plugins>
<target-component>org.exoplatform.services.wcm.portal.artifacts.CreatePortalArtifactsService</target-component>
<component-plugin>
<name>Initial webcontent artifact for each site</name>
<set-method>addPlugin</set-method>
<type>org.exoplatform.services.wcm.webcontent.InitialWebContentPlugin</type>
<description>This plugin deploy some initial webcontent as site artifact to site artifact folder of portal when a portal is
created</description>
<init-params>
<object-param>
<name>Portal logo data</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.DeploymentDescriptor">
<field name="target">
<object type="org.exoplatform.services.deployment.DeploymentDescriptor$Target">
<field name="repository">
<string>repository</string>
</field>
<field name="workspace">
<string>collaboration</string>
</field>
<field name="nodePath">
<string>/sites content/live/{portalName}/web contents/site artifacts</string>
</field>
</object>
</field>
<field name="sourcePath">
<string>war:/conf/sample-portal/wcm/artifacts/site-resources/acme-templates/Logo.xml</string>
</field>
</object>
</object-param>
<object-param>
<name>Portal signin data</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.DeploymentDescriptor">
<field name="target">
<object type="org.exoplatform.services.deployment.DeploymentDescriptor$Target">
<field name="repository">
<string>repository</string>
</field>
<field name="workspace">
<string>collaboration</string>
</field>
<field name="nodePath">
<string>/sites content/live/{portalName}/web contents/site artifacts</string>
</field>
</object>
</field>
<field name="sourcePath">
<string>war:/conf/sample-portal/wcm/artifacts/site-resources/acme-templates/Signin.xml</string>
</field>
</object>
</object-param>
<object-param>
<name>Portal searchbox data</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.DeploymentDescriptor">
<field name="target">
<object type="org.exoplatform.services.deployment.DeploymentDescriptor$Target">
<field name="repository">
<string>repository</string>
</field>
<field name="workspace">
<string>collaboration</string>
</field>
<field name="nodePath">
<string>/sites content/live/{portalName}/web contents/site artifacts</string>
</field>
</object>
</field>
<field name="sourcePath">
<string>war:/conf/sample-portal/wcm/artifacts/site-resources/acme-templates/Searchbox.xml</string>
</field>
</object>
</object-param>
<object-param>
<name>Portal navigation data</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.DeploymentDescriptor">
<field name="target">
<object type="org.exoplatform.services.deployment.DeploymentDescriptor$Target">
<field name="repository">
<string>repository</string>
</field>
<field name="workspace">
<string>collaboration</string>
</field>
<field name="nodePath">
<string>/sites content/live/{portalName}/web contents/site artifacts</string>
</field>
</object>
</field>
<field name="sourcePath">
<string>war:/conf/sample-portal/wcm/artifacts/site-resources/acme-templates/Navigation.xml</string>
</field>
</object>
</object-param>
<object-param>
<name>Portal footer data</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.DeploymentDescriptor">
<field name="target">
<object type="org.exoplatform.services.deployment.DeploymentDescriptor$Target">
<field name="repository">
<string>repository</string>
</field>
<field name="workspace">
<string>collaboration</string>
</field>
<field name="nodePath">
<string>/sites content/live/{portalName}/web contents/site artifacts</string>
</field>
</object>
</field>
<field name="sourcePath">
<string>war:/conf/sample-portal/wcm/artifacts/site-resources/acme-templates/Footer.xml</string>
</field>
</object>
</object-param>
<object-param>
<name>Portal introduce data</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.DeploymentDescriptor">
<field name="target">
<object type="org.exoplatform.services.deployment.DeploymentDescriptor$Target">
<field name="repository">
<string>repository</string>
</field>
<field name="workspace">
<string>collaboration</string>
</field>
<field name="nodePath">
<string>/sites content/live/{portalName}/web contents/site artifacts</string>
</field>
</object>
</field>
<field name="sourcePath">
<string>war:/conf/sample-portal/wcm/artifacts/site-resources/acme-templates/Introduce.xml</string>
</field>
</object>
</object-param>
<object-param>
<name>Portal stylesheet data</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.DeploymentDescriptor">
<field name="target">
<object type="org.exoplatform.services.deployment.DeploymentDescriptor$Target">
<field name="repository">
<string>repository</string>
</field>
<field name="workspace">
<string>collaboration</string>
</field>
<field name="nodePath">
<string>/sites content/live/{portalName}/css</string>
</field>
</object>
</field>
<field name="sourcePath">
<string>war:/conf/sample-portal/wcm/artifacts/site-resources/acme-templates/StylesheetGreen.xml</string>
</field>
</object>
</object-param>
<object-param>
<name>Portal images data</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.DeploymentDescriptor">
<field name="target">
<object type="org.exoplatform.services.deployment.DeploymentDescriptor$Target">
<field name="repository">
<string>repository</string>
</field>
<field name="workspace">
<string>collaboration</string>
</field>
<field name="nodePath">
<string>/sites content/live/{portalName}/medias/images</string>
</field>
</object>
</field>
<field name="sourcePath">
<string>war:/conf/sample-portal/wcm/artifacts/site-resources/acme-templates/Images.xml</string>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
In which:
Target-component: org.exoplatform.services.wcm.portal.artifacts.CreatePortalArtifactsService
Name: AddLifecycle
Set-method: addPlugin
Type: org.exoplatform.services.wcm.webcontent.InitialWebContentPlugin
Object type: org.exoplatform.services.deployment.plugins.LinkDeploymentDescriptor
| Name | Type | Default Value | Description |
|---|---|---|---|
| sourcePath |
string
|
repository:collaboration:/sites content/live/acme/web contents/News/News1
| The path to the source where this plugin will get data. |
| targetPath |
string
|
repository:collaboration:/sites content/live/acme/categories/acme
| The path to the target where this plugin will deploy. |
<external-component-plugins>
<target-component>org.exoplatform.services.deployment.WCMContentInitializerService</target-component>
<component-plugin>
<name>Content Initializer Service</name>
<set-method>addPlugin</set-method>
<type>org.exoplatform.services.deployment.plugins.LinkDeploymentPlugin</type>
<description>Link Deployment Plugin</description>
<init-params>
<object-param>
<name>link01</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.plugins.LinkDeploymentDescriptor">
<field name="sourcePath">
<string>repository:collaboration:/sites content/live/acme/web contents/News/News1</string>
</field>
<field name="targetPath">
<string>repository:collaboration:/sites content/live/acme/categories/acme</string>
</field>
</object>
</object-param>
<object-param>
<name>link02</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.plugins.LinkDeploymentDescriptor">
<field name="sourcePath">
<string>repository:collaboration:/sites content/live/acme/web contents/News/News2</string>
</field>
<field name="targetPath">
<string>repository:collaboration:/sites content/live/acme/categories/acme</string>
</field>
</object>
</object-param>
<object-param>
<name>link03</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.plugins.LinkDeploymentDescriptor">
<field name="sourcePath">
<string>repository:collaboration:/sites content/live/acme/web contents/News/News3</string>
</field>
<field name="targetPath">
<string>repository:collaboration:/sites content/live/acme/categories/acme</string>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
Details:
Target-component: org.exoplatform.services.deployment.WCMContentInitializerService
Name: Content Initializer Service
Set-method: addPlugin
Type: org.exoplatform.services.wcm.webcontent.InitialWebContentPlugin
Object type org.exoplatform.services.cms.lock.impl.LockGroupsOrUsersConfig
| Name | Type | Default Value | Description |
|---|---|---|---|
| settingLockList | array list | java.util.ArrayList | The list of the groups or user to be locked. |
<external-component-plugins>
<target-component>org.exoplatform.services.cms.lock.LockService</target-component>
<component-plugin>
<name>predefinedLockGroupsOrUsersPlugin</name>
<set-method>addLockGroupsOrUsersPlugin</set-method>
<type>org.exoplatform.services.cms.lock.impl.LockGroupsOrUsersPlugin</type>
<init-params>
<object-param>
<name>LockGroupsOrUsers.configuration</name>
<description>configuration predefined groups or users for lock administrator</description>
<object type="org.exoplatform.services.cms.lock.impl.LockGroupsOrUsersConfig">
<field name="settingLockList">
<collection type="java.util.ArrayList">
<value>
<string>*:/platform/administrators</string>
</value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
In which:
Target-component: org.exoplatform.services.cms.lock.LockService
Name: predefinedLockGroupsOrUsersPlugin
Set-method: addLockGroupsOrUsersPlugin
Type: org.exoplatform.services.cms.lock.impl.LockGroupsOrUsersPlugin
A drive can be considered as a shortcut in the content repository, a quick access to some places for users. You can restrict the visibility of this drive to a group/user and apply a specific view depending on the content you have in this area.
A drive is the combination of:
Path: the root folder of the drive.
View: how we can see contents, such as by list, thumbnails, coverflow.
Role: the visibility to every users, a group or a single user.
Options: allow you to specify whether to see hidden nodes or not and to create folders in this drive or not.
Object type: org.exoplatform.services.cms.drives.DriveData
| Field name | Type | Description |
|---|---|---|
| name |
String
| The name of drive which must be unique. |
| repository |
String
| Content Repository where to find the root path. |
| workspace |
String
| Workspace in the Content Repository. |
| homePath |
String
| Root path in the Content Repository.
userId
can be used to use the userId at runtime in the path. |
| permissions |
String
| Visibility of the drive based on eXo rights. For example: *:/platform/users
|
| icon |
String
| Url to the icon. |
| views |
String
| The list of views you want to use, separated by commas. For example: simple-view,admin-view
|
| viewPreferences |
Boolean
| The User Preference icon will be visible if true. |
| viewNonDocument |
Boolean
| Non-document types will be visible in the user view if true. |
| viewSideBar |
Boolean
| Show/Hide the left bar (with navigation and filters). |
| showHiddenNode |
Boolean
| Hidden nodes will be visible if true. |
| allowCreateFolders |
Boolean
| List of node types that you can create as folders. For example: nt:folder,nt:unstructured. |
| allowNodeTypesOnTree |
String
| Allow you to filter node types in the navigation tree. For example, the default value is "*" to show all content types. |
The following structure is used for drives configuration.
<external-component-plugins>
<target-component>org.exoplatform.services.cms.drives.ManageDriveService</target-component>
<component-plugin>
<name>manage.drive.plugin</name>
<set-method>setManageDrivePlugin</set-method>
<type>org.exoplatform.services.cms.drives.impl.ManageDrivePlugin</type>
<description>Nothing</description>
<init-params>
<object-param>
There are initializing attributes of org.exoplatform.services.cms.drives.DriveData object
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
The file that contains the structure above will be configured in the configuration.xml file as the following:
<import>war:/conf/wcm-extension/dms/drives-configuration.xml</import>
<external-component-plugins>
<target-component>org.exoplatform.services.cms.drives.ManageDriveService</target-component>
<component-plugin>
<name>manage.drive.plugin</name>
<set-method>setManageDrivePlugin</set-method>
<type>org.exoplatform.services.cms.drives.impl.ManageDrivePlugin</type>
<description>Nothing</description>
<init-params>
<object-param>
<name>Managed Sites</name>
<description>Managed Sites</description>
<object type="org.exoplatform.services.cms.drives.DriveData">
<field name="name">
<string>Managed Sites</string>
</field>
<field name="repository">
<string>repository</string>
</field>
<field name="workspace">
<string>collaboration</string>
</field>
<field name="permissions">
<string>*:/platform/administrators</string>
</field>
<field name="homePath">
<string>/sites content/live</string>
</field>
<field name="icon">
<string/>
</field>
<field name="views">
<string>wcm-view</string>
</field>
<field name="viewPreferences">
<boolean>false</boolean>
</field>
<field name="viewNonDocument">
<boolean>true</boolean>
</field>
<field name="viewSideBar">
<boolean>true</boolean>
</field>
<field name="showHiddenNode">
<boolean>false</boolean>
</field>
<field name="allowCreateFolders">
<string>nt:folder,nt:unstructured</string>
</field>
<field name="allowNodeTypesOnTree">
<string>*</string>
</field>
</object>
</object-param>
<object-param>
<name>Public</name>
<description>Public drive</description>
<object type="org.exoplatform.services.cms.drives.DriveData">
<field name="name">
<string>Public</string>
</field>
<field name="repository">
<string>repository</string>
</field>
<field name="workspace">
<string>collaboration</string>
</field>
<field name="permissions">
<string>*:/platform/users</string>
</field>
<field name="homePath">
<string>/Users/${userId}/Public</string>
</field>
<field name="icon">
<string/>
</field>
<field name="views">
<string>simple-view, admin-view</string>
</field>
<field name="viewPreferences">
<boolean>false</boolean>
</field>
<field name="viewNonDocument">
<boolean>false</boolean>
</field>
<field name="viewSideBar">
<boolean>true</boolean>
</field>
<field name="showHiddenNode">
<boolean>false</boolean>
</field>
<field name="allowCreateFolders">
<string>nt:folder,nt:unstructured</string>
</field>
<field name="allowNodeTypesOnTree">
<string>*</string>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
A view can include many object parameters. Parameters are used to create default views, templates and actions of Manage View service. View enables administrators to customize view classification that can impact on users in exploring workspace. Each object-param has a type that is a class representing all properties of a view.
target-component: org.exoplatform.services.cms.views.ManageViewService</target-component-
Name: manage.view.plugin
Set-method: setManageViewPlugin
Type: org.exoplatform.services.cms.views.impl.ManageViewPlugin
Description: This plugin manages user views.
Object type: org.exoplatform.services.cms.views.ViewConfig
| Name | Type | Default value | Description |
|---|---|---|---|
| name | String |
system-view
| The name of view which must be unique inside WCM. |
| permissions | String | *:/platform/administrators | Visibility of the view based on eXo rights. |
| template | String | /exo:ecm/views/templates/ecm-explorer/SystemView
| Specify path to the template location. |
| tabList | ArrayList
| java.util.ArrayList | Include a set of view names. |
Object type: org.exoplatform.services.cms.views.ViewConfig$Tab
| Name | Type | Default value | Description |
|---|---|---|---|
| tabName | String | Info
| The name of tab which must be unique. |
| button | String | viewNodeType; viewPermissions; viewProperties; showJCRStructure
| Specify a set of view component names. |
Object type: org.exoplatform.services.cms.views.TemplateConfig
| Name | Type | Default value | Description |
|---|---|---|---|
| type | String | ecmExplorerTemplate
| Specify if a name is truly a class representing all properties of a view. |
| name | String | system-view
| Specify a set of view component names. |
| warPath | String |
/ecm-explorer/SystemView.gtmpl
| Specify a template location to view. |
<external-component-plugins>
<target-component>org.exoplatform.services.cms.views.ManageViewService</target-component>
<component-plugin>
<name>manage.view.plugin</name>
<set-method>setManageViewPlugin</set-method>
<type>org.exoplatform.services.cms.views.impl.ManageViewPlugin</type>
<description>this plugin manage user view</description>
<init-params>
<value-param>
<name>autoCreateInNewRepository</name>
<value>true</value>
</value-param>
<value-param>
<name>predefinedViewsLocation</name>
<value>war:/conf/dms-extension/dms/artifacts</value>
</value-param>
<value-param>
<name>repository</name>
<value>repository</value>
</value-param>
<object-param>
<name>System-View</name>
<description>View configuration for System workspace</description>
<object type="org.exoplatform.services.cms.views.ViewConfig">
<field name="name"><string>system-view</string></field>
<field name="permissions"><string>*:/platform/administrators</string></field>
<field name="template"><string>/exo:ecm/views/templates/ecm-explorer/SystemView</string></field>
<field name="tabList">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.cms.views.ViewConfig$Tab">
<field name="tabName"><string>Info</string></field>
<field name="buttons">
<string>viewNodeType; viewPermissions; viewProperties; showJCRStructure</string>
</field>
</object>
</value>
</collection>
</field>
</object>
</object-param>
<object-param>
<name>System Template</name>
<description>Template for display documents in list style</description>
<object type="org.exoplatform.services.cms.views.TemplateConfig">
<field name="type"><string>ecmExplorerTemplate</string></field>
<field name="name"><string>SystemView</string></field>
<field name="warPath"><string>/ecm-explorer/SystemView.gtmpl</string></field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
This plugin is to set the supported file types of PDF thumbnail. See also ImageThumbnailPlugin .
Object type: org.exoplatform.services.cms.thumbnail.impl.ThumbnailType
| Name | Type | Default Value | Description |
|---|---|---|---|
| mimeTypes | array list | java.util.ArrayList | The MIME type of the pdf thumbnail. |
<external-component-plugins>
<target-component>org.exoplatform.services.cms.thumbnail.ThumbnailService</target-component>
<component-plugin>
<name>ImageThumbnailPlugin</name>
<set-method>addPlugin</set-method>
<type>org.exoplatform.services.cms.thumbnail.impl.ImageThumbnailPlugin</type>
<init-params>
<object-param>
<name>thumbnailType</name>
<description>Thumbnail types</description>
<object type="org.exoplatform.services.cms.thumbnail.impl.ThumbnailType">
<field name="mimeTypes">
<collection type="java.util.ArrayList">
<value><string>image/jpeg</string></value>
<value><string>image/png</string></value>
<value><string>image/gif</string></value>
<value><string>image/bmp</string></value>
<value><string>image/tiff</string></value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
<component-plugin>
<name>PDFThumbnailPlugin</name>
<set-method>addPlugin</set-method>
<type>org.exoplatform.services.cms.thumbnail.impl.PDFThumbnailPlugin</type>
<init-params>
<object-param>
<name>thumbnailType</name>
<description>Thumbnail types</description>
<object type="org.exoplatform.services.cms.thumbnail.impl.ThumbnailType">
<field name="mimeTypes">
<collection type="java.util.ArrayList">
<value><string>application/pdf</string></value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
In which:
Target-component: org.exoplatform.services.cms.thumbnail.ThumbnailService
Name: ImageThumbnailPlugin
Set-method: addPlugin
Type: org.exoplatform.services.cms.thumbnail.impl.ImageThumbnailPlugin
This plugin is used to import the view templates for Content List Viewer.
Object type: org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig
| Name | Type | Default Value | Description |
|---|---|---|---|
| templateName | string | UIContentListPresentationDefault.gtmpl | The name of the GROOVY template. |
<external-component-plugins>
<target-component>org.exoplatform.services.cms.views.ApplicationTemplateManagerService</target-component>
<component-plugin>
<name>clv.templates.plugin</name>
<set-method>addPlugin</set-method>
<type>org.exoplatform.services.cms.views.PortletTemplatePlugin</type>
<description>This plugin is used to import views templates for Content List Viewer</description>
<init-params>
<value-param>
<name>portletName</name>
<value>content-list-viewer</value>
</value-param>
<value-param>
<name>portlet.template.path</name>
<value>war:/conf/wcm-artifacts/application-templates/content-list-viewer</value>
</value-param>
<object-param>
<name>default.folder.list.viewer</name>
<description>Default folder list viewer groovy template</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>UIContentListPresentationDefault.gtmpl</string>
</field>
<field name="category">
<string>list</string>
</field>
</object>
</object-param>
<object-param>
<name>big.folder.list.viewer</name>
<description>Default folder list viewer groovy template with Big Image</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>UIContentListPresentationBigImage.gtmpl</string>
</field>
<field name="category">
<string>list</string>
</field>
</object>
</object-param>
<object-param>
<name>small.folder.list.viewer</name>
<description>Default folder list viewer groovy template with Small Image</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>UIContentListPresentationSmall.gtmpl</string>
</field>
<field name="category">
<string>list</string>
</field>
</object>
</object-param>
<object-param>
<name>Two columns CLV template</name>
<description>Two columns CLV template</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>TwoColumnsCLVTemplate.gtmpl</string>
</field>
<field name="category">
<string>list</string>
</field>
</object>
</object-param>
<object-param>
<name>One column CLV template</name>
<description>One column CLV template</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>OneColumnCLVTemplate.gtmpl</string>
</field>
<field name="category">
<string>list</string>
</field>
</object>
</object-param>
<object-param>
<name>Category Tree</name>
<description>Category Tree</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>CategoryTree.gtmpl</string>
</field>
<field name="category">
<string>navigation</string>
</field>
</object>
</object-param>
<object-param>
<name>Category List</name>
<description>Category List</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>CategoryList.gtmpl</string>
</field>
<field name="category">
<string>navigation</string>
</field>
</object>
</object-param>
<object-param>
<name>Tags Cloud</name>
<description>Tags Cloud</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>TagsCloud.gtmpl</string>
</field>
<field name="category">
<string>navigation</string>
</field>
</object>
</object-param>
<object-param>
<name>Documents template</name>
<description>Documents template</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>DocumentsTemplate.gtmpl</string>
</field>
<field name="category">
<string>list</string>
</field>
</object>
</object-param>
<object-param>
<name>folder.list.viewer</name>
<description>Default folder list viewer groovy template</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>ContentListViewerDefault.gtmpl</string>
</field>
<field name="category">
<string>list</string>
</field>
</object>
</object-param>
<object-param>
<name>Big hot news template</name>
<description>Big hot news template</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>BigHotNewsTemplateCLV.gtmpl</string>
</field>
<field name="category">
<string>list</string>
</field>
</object>
</object-param>
<object-param>
<name>Events template</name>
<description>Events template</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>EventsTemplateCLV.gtmpl</string>
</field>
<field name="category">
<string>list</string>
</field>
</object>
</object-param>
<object-param>
<name>default.paginator</name>
<description>Default paginator groovy template</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>UIPaginatorDefault.gtmpl</string>
</field>
<field name="category">
<string>paginators</string>
</field>
</object>
</object-param>
<object-param>
<name>empty.paginator</name>
<description>Empty paginator groovy template</description>
<object type="org.exoplatform.services.cms.views.PortletTemplatePlugin$PortletTemplateConfig">
<field name="templateName">
<string>UIPaginatorEmpty.gtmpl</string>
</field>
<field name="category">
<string>paginators</string>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
In which:
Target-component: org.exoplatform.services.cms.views.ApplicationTemplateManagerService
Name: clv.templates.plugin
Set-method: addPlugin
Type: org.exoplatform.services.wcm.webcontent.InitialWebContentPlugin
Object type: org.exoplatform.services.workflow.ProcessesConfig
| Name | Type | Default Value | Description |
|---|---|---|---|
| processLocation | string | war:/conf/bp | The path to the process. |
| predefinedProcess | hash set | java.util.HashSet | The list of the processes. |
<external-component-plugins>
<target-component>org.exoplatform.services.workflow.WorkflowServiceContainer</target-component>
<component-plugin>
<name>deploy.predefined.processes</name>
<set-method>addPlugin</set-method>
<type>org.exoplatform.services.workflow.PredefinedProcessesPlugin</type>
<init-params>
<object-param>
<name>predefined.processes</name>
<description>load of default business processes</description>
<object type="org.exoplatform.services.workflow.ProcessesConfig">
<field name="processLocation"><string>war:/conf/bp</string></field>
<field name="predefinedProcess">
<collection type="java.util.HashSet">
<value><string>/exo-ecms-ext-workflow-bp-bonita-content-2.3.0-GA.jar</string></value>
<value><string>/exo-ecms-ext-workflow-bp-bonita-payraise-2.3.0-GA.jar</string></value>
<value><string>/exo-ecms-ext-workflow-bp-bonita-holiday-2.3.0-GA.jar</string></value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
In which:
target component: org.exoplatform.services.workflow.WorkflowServiceContainer
name: deploy.predefined.processes
set-method: addPlugin
type: org.exoplatform.services.workflow.PredefinedProcessesPlugin
This is an abstract class and the parent of StageAndVersionPublicationPlugin and AuthoringPublicationPlugin . You can create a link from this plugin to its childrens.
<external-component-plugins>
<target-component>org.exoplatform.services.cms.queries.QueryService</target-component>
<component-plugin>
<name>query.plugin</name>
<set-method>setQueryPlugin</set-method>
<type>org.exoplatform.services.cms.queries.impl.QueryPlugin</type>
<description>Nothing</description>
<init-params>
<value-param>
<name>autoCreateInNewRepository</name>
<value>true</value>
</value-param>
<value-param>
<name>repository</name>
<value>repository</value>
</value-param>
<object-param>
<name>CreatedDocuments</name>
<description>documents created by the current user</description>
<object type="org.exoplatform.services.cms.queries.impl.QueryData">
<field name="name"><string>Created Documents</string></field>
<field name="language"><string>xpath</string></field>
<field name="statement"><string>//*[(@jcr:primaryType = 'exo:article' or @jcr:primaryType = 'nt:file') and @exo:owner='${UserId}$'] order by @exo:dateCreated descending</string></field>
<field name="permissions">
<collection type="java.util.ArrayList">
<value><string>*:/platform/users</string></value>
</collection>
</field>
<field name="cachedResult"><boolean>false</boolean></field>
</object>
</object-param>
<object-param>
<name>CreatedDocumentsDayBefore</name>
<description>documents created the day before</description>
<object type="org.exoplatform.services.cms.queries.impl.QueryData">
<field name="name"><string>CreatedDocumentDayBefore</string></field>
<field name="language"><string>xpath</string></field>
<field name="statement"><string>//element(*,exo:article)[@exo:dateCreated < xs:dateTime('${Date}$')] order by @exo:dateCreated descending</string></field>
<field name="permissions">
<collection type="java.util.ArrayList">
<value><string>*:/platform/users</string></value>
</collection>
</field>
<field name="cachedResult"><boolean>true</boolean></field>
</object>
</object-param>
<object-param>
<name>AllArticles</name>
<description>All articles</description>
<object type="org.exoplatform.services.cms.queries.impl.QueryData">
<field name="name"><string>All Articles</string></field>
<field name="language"><string>xpath</string></field>
<field name="statement"><string>//element(*,exo:article) order by @exo:dateCreated descending</string></field>
<field name="permissions">
<collection type="java.util.ArrayList">
<value><string>*:/platform/users</string></value>
</collection>
</field>
<field name="cachedResult"><boolean>true</boolean></field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
Target Component: org.exoplatform.services.cms.queries.QueryService
Name: predefinedTaxonomyPlugin
Set-method: setQueryPlugin
Type: org.exoplatform.services.cms.queries.impl.QueryPlugin
| Value param | Possible value | Default value | Description |
|---|---|---|---|
autoCreateInNewRepository | boolean | true | |
repository | string | repository | repository to the target node. |
| Object param | Possible value | Default value | Description |
|---|---|---|---|
CreatedDocuments | string |
:/platform/users
| documents created by the current user. |
AllArticles | string |
:/platform/users
| All articles. |
CreatedDocumentsDayBefore | string |
:/platform/users
| documents created on the day before. |
This is an abstract class and the parent of RemoveTaxonomyPlugin. You can create a link from this Plugin to its children.
This is an abstract class and the parent of RemoveTaxonomyPlugin. You can create a link from this Plugin to its children.
Object type: org.exoplatform.services.cms.impl.ResourceConfig
| Name | Type | Default Value | Description | |
|---|---|---|---|---|
| resources | array list | java.util.ArrayList | The list of resources. | |
| name | string | - | The resource name. |
<external-component-plugins>
<target-component>org.exoplatform.services.cms.scripts.ScriptService</target-component>
<component-plugin>
<name>manage.script.plugin</name>
<set-method>addScriptPlugin</set-method>
<type>org.exoplatform.services.cms.scripts.impl.ScriptPlugin</type>
<description>Nothing</description>
<init-params>
<value-param>
<name>autoCreateInNewRepository</name>
<value>true</value>
</value-param>
<value-param>
<name>repository</name>
<value>repository</value>
</value-param>
<value-param>
<name>predefinedScriptsLocation</name>
<value>war:/conf/dms-extension/dms/artifacts</value>
</value-param>
<object-param>
<name>predefined.scripts</name>
<description>description</description>
<object type="org.exoplatform.services.cms.impl.ResourceConfig">
<field name="resources">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/action/RSSScript.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/action/SendMailScript.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/action/TrashFolderScript.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/action/EnableVersioningScript.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/action/AutoVersioningScript.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/action/AddMetadataScript.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/action/TransformBinaryChildrenToTextScript.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/action/GetMailScript.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/action/ProcessRecordsScript.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/action/PublishingRequestScript.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/action/AddTaxonomyActionScript.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/widget/FillSelectBoxWithCalendarCategories.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/widget/FillSelectBoxWithMetadatas.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/widget/FillSelectBoxWithWorkspaces.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/widget/FillSelectBoxWithNodeChildren.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/widget/FillSelectBoxWithLanguage.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/interceptor/PreNodeSaveInterceptor.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/interceptor/PostNodeSaveInterceptor.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>ecm-explorer/interceptor/PostFilePlanInterceptor.groovy</string></field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
<field name="name"><string>content-browser/GetDocuments.groovy</string></field>
</object>
</value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
In which:
Target-component: org.exoplatform.services.cms.scripts.ScriptService
Name: manage.script.plugin
Set-method: addScriptPlugin
Type: org.exoplatform.services.cms.scripts.impl.ScriptPlugin
Object type: org.exoplatform.services.cache.ExoCacheConfig
| Name | Type | Default Value | Description |
|---|---|---|---|
| name |
string
|
wcm.compose
| The name of the cache which must be unique. |
| maxSize |
string
|
200
| The max size of the cache object. |
| liveTime |
string
|
600
| The time interval. |
| implementation |
string
|
org.exoplatform.services.cache.concurrent.ConcurrentFIFOExoCache
| The algorithm that is used to handle the cache. |
<external-component-plugins>
<target-component>org.exoplatform.services.cache.CacheService</target-component>
<component-plugin>
<name>addExoCacheConfig</name>
<set-method>addExoCacheConfig</set-method>
<type>org.exoplatform.services.cache.ExoCacheConfigPlugin</type>
<description>Configures the cache for query service</description>
<init-params>
<object-param>
<name>cache.config.wcm.composer</name>
<description>The default cache configuration</description>
<object type="org.exoplatform.services.cache.ExoCacheConfig">
<field name="name">
<string>wcm.composer</string>
</field>
<field name="maxSize">
<int>300</int>
</field>
<field name="liveTime">
<long>600</long>
</field>
<field name="distributed">
<boolean>false</boolean>
</field>
<field name="implementation">
<string>org.exoplatform.services.cache.concurrent.ConcurrentFIFOExoCache</string>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
<external-component-plugins>
<target-component>org.exoplatform.services.wcm.core.WebSchemaConfigService</target-component>
<component-plugin>
<name>StageAndVersionPublicationHandler</name>
<set-method>addWebSchemaHandler</set-method>
<type>org.exoplatform.services.wcm.publication.lifecycle.stageversion.StageAndVersionPublicationHandler</type>
</component-plugin>
</external-component-plugins>
<external-component-plugins>
<target-component>org.exoplatform.services.listener.ListenerService</target-component>
<component-plugin>
<name>org.exoplatform.portal.config.DataStorage.pageCreated</name>
<set-method>addListener</set-method>
<type>org.exoplatform.services.wcm.publication.listener.page.CreatePageEventListener</type>
<description>this listener update publication state of content when page is created</description>
</component-plugin>
<component-plugin>
<name>org.exoplatform.portal.config.DataStorage.pageUpdated</name>
<set-method>addListener</set-method>
<type>org.exoplatform.services.wcm.publication.listener.page.UpdatePageEventListener</type>
<description>this listener update publication state of content when page is updated</description>
</component-plugin>
<component-plugin>
<name>org.exoplatform.portal.config.DataStorage.pageRemoved</name>
<set-method>addListener</set-method>
<type>org.exoplatform.services.wcm.publication.listener.page.RemovePageEventListener</type>
<description>this listener update publication state of content when page is removed</description>
</component-plugin>
<component-plugin>
<name>org.exoplatform.portal.config.DataStorage.navigationUpdated</name>
<set-method>addListener</set-method>
<type>org.exoplatform.services.wcm.publication.listener.navigation.UpdateNavigationEventListener</type>
<description>this listener update publication state of content when navigation is updated</description>
</component-plugin>
<component-plugin>
<name>org.exoplatform.portal.config.DataStorage.navigationRemoved</name>
<set-method>addListener</set-method>
<type>org.exoplatform.services.wcm.publication.listener.navigation.RemoveNavigationEventListener</type>
<description>this listener update publication state of content when navigation is removed</description>
</component-plugin>
</external-component-plugins>
<external-component-plugins>
<target-component>org.exoplatform.services.listener.ListenerService</target-component>
<component-plugin>
<name>CmsService.event.postCreate</name>
<set-method>addListener</set-method>
<type>org.exoplatform.services.wcm.publication.listener.post.PostCreateContentEventListener</type>
<description>this listener will force the created document enroll to publication lifecycle</description>
</component-plugin>
<component-plugin>
<name>CmsService.event.postEdit</name>
<set-method>addListener</set-method>
<type>org.exoplatform.services.wcm.publication.listener.post.PostEditContentEventListener</type>
<description>this listener will change state of document to draft after editing</description>
</component-plugin>
<component-plugin>
<name>FormGenerator.event.postCreate</name>
<set-method>addListener</set-method>
<type>org.exoplatform.services.wcm.publication.listener.post.PostCreateNodeTypeEventListener</type>
<description>this listener will reinit the composer templates list when creating a new nodetype</description>
</component-plugin>
</external-component-plugins>
In which:
target component: org.exoplatform.services.cache.CacheService
name: addExoCacheConfig
set method: addExoCacheConfig
type org.exoplatform.services.cache.ExoCacheConfigPlugin
.
target component: org.exoplatform.services.wcm.core.WebSchemaConfigService
name: StageAndVersionPublicationHandler
set method: addExoCacheConfig
type org.exoplatform.services.cache.ExoCacheConfigPlugin
.
target component: org.exoplatform.services.listener.ListenerService
name: org.exoplatform.portal.config.DataStorage.pageCreated
set method: addListener
type org.exoplatform.services.wcm.publication.listener.page.CreatePageEventListener
.
target component: org.exoplatform.services.listener.ListenerService
name: org.exoplatform.portal.config.DataStorage.pageCreated
set method: addListener
type org.exoplatform.services.wcm.publication.listener.post.PostCreateContentEventListener
object type org.exoplatform.services.cms.folksonomy.impl.TagPermissionConfig
| Name | Type | Default Value | Description |
|---|---|---|---|
| tagPermissionList | array list |
:/platform/administrators
| The users/groups that have the permission. |
<external-component-plugins>
<target-component>org.exoplatform.services.cms.folksonomy.NewFolksonomyService</target-component>
<component-plugin>
<name>predefinedTagPermissionPlugin</name>
<set-method>addTagPermissionPlugin</set-method>
<type>org.exoplatform.services.cms.folksonomy.impl.TagPermissionPlugin</type>
<init-params>
<object-param>
<name>TagPermission.configuration</name>
<description>configuration predefined permission for tag to inject in jcr</description>
<object type="org.exoplatform.services.cms.folksonomy.impl.TagPermissionConfig">
<field name="tagPermissionList">
<collection type="java.util.ArrayList">
<value><string>*:/platform/administrators</string></value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
In which:
Target-component: org.exoplatform.services.cms.folksonomy.NewFolksonomyService
Name: predefinedTagPermissionPlugin
Set-method: addTagPermissionPlugin
Type: org.exoplatform.services.cms.folksonomy.impl.TagPermissionPlugin
Object type: org.exoplatform.services.cms.folksonomy.impl.TagStyleConfig
| Name | Type | Default Value | Description |
|---|---|---|---|
| autoCreatedInNewRepository |
boolean
|
true
| Specify whether the tag style is added automactically in new reposistory or not. |
| repository |
string
|
repository
| Name of the repository where the tag style is added. |
| tagStyleList |
array list
|
Array list
| The list of tag styles. |
Object type: org.exoplatform.services.cms.folksonomy.impl.TagStyleConfig$HtmlTagStyle
| Name | Type | Default Value | Description |
|---|---|---|---|
| name |
string
| - | The name of the tag. |
| tagRate |
string
| - | The number of times that a tag is used which will decide the respective tag style. |
| htmlStyle |
string
| - | The HTML code that defines the style. |
<external-component-plugins>
<target-component>org.exoplatform.services.cms.folksonomy.NewFolksonomyService</target-component>
<component-plugin>
<name>predefinedTagStylePlugin</name>
<set-method>addTagStylePlugin</set-method>
<type>org.exoplatform.services.cms.folksonomy.impl.TagStylePlugin</type>
<init-params>
<object-param>
<name>htmStyleForTag.configuration</name>
<description>configuration predefined html style for tag to inject in jcr</description>
<object type="org.exoplatform.services.cms.folksonomy.impl.TagStyleConfig">
<field name="autoCreatedInNewRepository">
<boolean>true</boolean>
</field>
<field name="repository">
<string>repository</string>
</field>
<field name="tagStyleList">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.cms.folksonomy.impl.TagStyleConfig$HtmlTagStyle">
<field name="name">
<string>normal</string>
</field>
<field name="tagRate">
<string>0..2</string>
</field>
<field name="htmlStyle">
<string>font-size: 12px; font-weight: bold; color: #6b6b6b; font-family: verdana; text-decoration:none;
</string>
</field>
<field name="description">
<string>Normal style for tag</string>
</field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.folksonomy.impl.TagStyleConfig$HtmlTagStyle">
<field name="name">
<string>interesting</string>
</field>
<field name="tagRate">
<string>2..5</string>
</field>
<field name="htmlStyle">
<string>font-size: 13px; font-weight: bold; color: #5a66ce; font-family: verdana; text-decoration:none;
</string>
</field>
<field name="description">
<string>Interesting style for tag</string>
</field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.folksonomy.impl.TagStyleConfig$HtmlTagStyle">
<field name="name">
<string>attractive</string>
</field>
<field name="tagRate">
<string>5..7</string>
</field>
<field name="htmlStyle">
<string>font-size: 15px; font-weight: bold; color: blue; font-family: Arial; text-decoration:none;</string>
</field>
<field name="description">
<string>attractive style for tag</string>
</field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.folksonomy.impl.TagStyleConfig$HtmlTagStyle">
<field name="name">
<string>hot</string>
</field>
<field name="tagRate">
<string>7..10</string>
</field>
<field name="htmlStyle">
<string>font-size: 18px; font-weight: bold; color: #ff9000; font-family: Arial; text-decoration:none;</string>
</field>
<field name="description">
<string>hot style for tag</string>
</field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.folksonomy.impl.TagStyleConfig$HtmlTagStyle">
<field name="name">
<string>hottest</string>
</field>
<field name="tagRate">
<string>10..*</string>
</field>
<field name="htmlStyle">
<string>font-size: 20px; font-weight: bold; color: red; font-family:Arial; text-decoration:none;</string>
</field>
<field name="description">
<string>hottest style for tag</string>
</field>
</object>
</value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
Target component: org.exoplatform.services.cache.CacheService
Name: addExoCacheConfig
Set-method: addExoCacheConfig
Type: org.exoplatform.services.cache.ExoCacheConfigPlugin
Target Component: org.exoplatform.services.cms.taxonomy.TaxonomyService
Name: predefinedTaxonomyPlugin
Set-method: addTaxonomyPlugin
Type: org.exoplatform.services.cms.taxonomy.impl.TaxonomyPlugin
| Value param | Type | Default value | Description |
|---|---|---|---|
| autoCreateInNewRepository | Boolean |
true
| Enable/Disable the creation of the taxonomies in the newly created repository. |
| repository | String |
repository
| Name of the repository where taxonomies are created. |
| workspace | String |
dms-system
| Name of the workspace where taxonomies are created. |
| treeName | String | system
| Name of the taxonomy tree to be created. |
| Object param | Type | Default value | Description |
|---|---|---|---|
| permission.configuration | String
|
org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig | Access permission for the whole taxonomy tree. |
| predefined.actions | string
| org.exoplatform.services.cms.actions.impl.ActionConfig | Predefined actions for the taxonomy tree root node. |
| taxonomy.configuration | String
| org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig | Access permissions for each taxonomy in tree. |
Object type: org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig
| Name | Type | Description |
|---|---|---|
| taxonomies |
java.util.ArrayList<TaxonomyConfig$Taxonomy>
| List of taxonomies to be configured with permission. |
Object type: org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig$Taxonomy
| Name | Type | Default value | Description |
|---|---|---|---|
| name |
String
|
name
| Name of the taxonomy. |
| path |
String
|
cms
| Path to the taxonomy in the taxonomy tree. |
| permissions |
Arraylist
|
java.util.ArrayList<TaxonomyTreeDefaultUserPermission$Permission>
| List of permissions for users or groups to access the taxonomy. |
Object type: org.exoplatform.services.cms.actions.impl.ActionConfig
| Name | Type | Default value | Description |
|---|---|---|---|
| actions |
Arraylist
|
java.util.ArrayList<ActionConfig$TaxonomyAction>
| List of actions created for the taxonomy tree root node. |
Object type: org.exoplatform.services.cms.actions.impl.ActionConfig$TaxonomyAction
| Field name | Type | Default value | Description |
|---|---|---|---|
| type | String |
exo:taxonomyAction
| Type of the action. |
| name | String |
taxonomyAction
| Name of the action. |
| description | String | N/A
| Description of the action. |
| homePath | String | dms-system:/exo:ecm/exo:taxonomyTrees/storage/System
| Location of node where the action node is stored. |
| targetWspace | String |
N/A
| When a new node is created in the node whose path is defined in the homePath field, it will be moved to a new location automatically. The target workspace is specified in this field. |
| targetPath | String |
collaboration
| When a new node is created in the node whose path is defined in homePath field, it will be moved to a new location automatically. The target path is specified in this field. |
| lifecyclePhase |
Arraylist
| java.util.ArrayList<String> | The life cycle phases, in which the action is activated. |
| roles | String | *:/platform/administrators | The users or groups only with whom the action is activated. |
| mixins |
Arraylist
| java.util.ArrayList<ActionConfig$Mixin> | List of node types that are affected by this action. |
Object type: org.exoplatform.services.cms.actions.impl.ActionConfig$Mixin
| Field name | Type | Default value | Description |
|---|---|---|---|
| name |
String
|
mix:affectedNodeTypes
| Mixin node type name that will be added. The node type is used to store the affected node types. |
| properties |
String
|
exo:affectedNodeTypeNames=exo:article,exo:podcast,exo:sample,kfx:document,nt:file,rma:filePlan
| The name of the properties that store all the node types affected by the action. |
<external-component-plugins>
<target-component>org.exoplatform.services.cms.taxonomy.TaxonomyService</target-component>
<component-plugin>
<name>predefinedTaxonomyPlugin</name>
<set-method>addTaxonomyPlugin</set-method>
<type>org.exoplatform.services.cms.taxonomy.impl.TaxonomyPlugin</type>
<init-params>
<value-param>
<name>autoCreateInNewRepository</name>
<value>true</value>
</value-param>
<value-param>
<name>repository</name>
<value>repository</value>
</value-param>
<value-param>
<name>workspace</name>
<value>dms-system</value>
</value-param>
<value-param>
<name>treeName</name>
<value>System</value>
</value-param>
<object-param>
<name>permission.configuration</name>
<object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig">
<field name="taxonomies">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig$Taxonomy">
<field name="permissions">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig$Permission">
<field name="identity">
<string>*:/platform/users</string>
</field>
<field name="read">
<string>true</string>
</field>
<field name="addNode">
<string>true</string>
</field>
<field name="setProperty">
<string>true</string>
</field>
<field name="remove">
<string>false</string>
</field>
</object>
</value>
</collection>
</field>
</object>
</value>
</collection>
</field>
</object>
</object-param>
<object-param>
<name>predefined.actions</name>
<description>description</description>
<object type="org.exoplatform.services.cms.actions.impl.ActionConfig">
<field name="actions">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.cms.actions.impl.ActionConfig$TaxonomyAction">
<field name="type">
<string>exo:taxonomyAction</string>
</field>
<field name="name">
<string>taxonomyAction</string>
</field>
<field name="description">
<string/>
</field>
<field name="homePath">
<string>dms-system:/exo:ecm/exo:taxonomyTrees/storage/System</string>
</field>
<field name="targetWspace">
<string>collaboration</string>
</field>
<field name="targetPath">
<string>/Documents</string>
</field>
<field name="lifecyclePhase">
<collection type="java.util.ArrayList">
<value>
<string>node_added</string>
</value>
</collection>
</field>
<field name="roles">
<string>*:/platform/administrators</string>
</field>
<field name="mixins">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.cms.actions.impl.ActionConfig$Mixin">
<field name="name">
<string>mix:affectedNodeTypes</string>
</field>
<field name="properties">
<string>exo:affectedNodeTypeNames=exo:article,exo:podcast,exo:sample,kfx:document,nt:file,rma:filePlan
</string>
</field>
</object>
</value>
</collection>
</field>
</object>
</value>
</collection>
</field>
</object>
</object-param>
<object-param>
<name>taxonomy.configuration</name>
<description>configuration predefined taxonomies to inject in jcr</description>
<object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig">
<field name="taxonomies">
<collection type="java.util.ArrayList">
<!-- cms taxonomy -->
<value>
<object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig$Taxonomy">
<field name="name">
<string>cmsTaxonomy</string>
</field>
<field name="path">
<string>/cms</string>
</field>
<field name="permissions">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig$Permission">
<field name="identity">
<string>*:/platform/users</string>
</field>
<field name="read">
<string>true</string>
</field>
<field name="addNode">
<string>true</string>
</field>
<field name="setProperty">
<string>true</string>
</field>
<field name="remove">
<string>false</string>
</field>
</object>
</value>
</collection>
</field>
</object>
</value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
A template is a presentation to display the saved information.
Template service is used to select the right template corresponding to the saved content.
The node type template is used to edit and display the node content. Each node type has one dialog1.gtmpl file (dialog template) for editing/creating a node and one view1.gtmpl file (view template) for viewing the node content. Using the dialog template, you can specify a dialog whose fields correspond to the properties of the node you want to edit their values. When this template is rendered, each specified field will appear with a data input box for you to edit. Note that you do not have to design a dialog in which all data of the node are listed to be edited. You can just list the subset of node data you want to edit. Like the dialog template, the view template renders information of the node. You just need to create the template and specify which data fields to be displayed. With this kind of template, node information is only displayed but can not be edited. See details at ContentType.
| Configuration name | Data type | Default value | Description |
|---|---|---|---|
| autoCreateInNewRepository |
Boolean
|
true
| Enable the application to import predefined templates at the start-up of template service automatically. |
| storedLocation |
String
|
war:/conf/dms-extension/dms/artifacts/templates
| Location of stored templates. |
| repository |
String
|
repository
| Location of stored templates. |
| object-param |
Structure
|
N/A
| Configuration for each instance. |
| Configuration name | Data type | Default Value | Description |
|---|---|---|---|
| name |
String
|
template.configuration
| The name of this configuration. |
| description |
String
|
configuration for the location of templates to inject in jcr
| Description of template instance. |
| object-type |
Structure
|
N/A
| Detailed configuration for each instance type. |
Object-type defines all available template files, using the "collection type" configuration.
type: It is the name of each object type. It means the type of template, the further configurations for this type are defined by some specified fields.
| Field name | Data type | Description |
|---|---|---|
| nodetypeName |
String
| The name of template that is saved as a node in system. |
| documentTemplate |
Boolean
| Determine if the node type is a document type. |
| label |
String
| Visual display of the title for this node. |
There are three further information related to the presentation of each template:
referencedView
: Determine how to display a view.
referencedDialog
: Determine how to display a dialog to input information.
referencedSkin
: Determine the stylesheet for displaying.
Each type includes some definitions as the object type="org.exoplatform.services.cms.templates.impl.TemplateConfig$Template" with the fields as the properties.
| Field name | Data type | Description |
|---|---|---|
| templateFile |
String
| The location of the file store for the template's presentation. |
| roles |
String
| Determine who can access this object (View/Dialog/CSS). |
This below example is configuration for the nt:file template, any other template will be put in the same level with this template start from the line <object type="org.exoplatform.services.cms.templates.impl.TemplateConfig$NodeType"> as the another node type.
<external-component-plugins>
<target-component>org.exoplatform.services.cms.templates.TemplateService</target-component>
<component-plugin>
<name>addTemplates</name>
<set-method>addTemplates</set-method>
<type>org.exoplatform.services.cms.templates.impl.TemplatePlugin</type>
<init-params>
<value-param>
<name>autoCreateInNewRepository</name>
<value>true</value>
</value-param>
<value-param>
<name>storedLocation</name>
<value>war:/conf/dms-extension/dms/artifacts/templates</value>
</value-param>
<value-param>
<name>repository</name>
<value>repository</value>
</value-param>
<object-param>
<name>template.configuration</name>
<description>configuration for the localtion of templates to inject in jcr</description>
<object type="org.exoplatform.services.cms.templates.impl.TemplateConfig">
<field name="nodeTypes">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.cms.templates.impl.TemplateConfig$NodeType">
<field name="nodetypeName">
<string>nt:file</string>
</field>
<field name="documentTemplate">
<boolean>true</boolean>
</field>
<field name="label">
<string>File</string>
</field>
<field name="referencedView">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.cms.templates.impl.TemplateConfig$Template">
<field name="templateFile">
<string>/file/views/view1.gtmpl</string>
</field>
<field name="roles">
<string>*</string>
</field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.templates.impl.TemplateConfig$Template">
<field name="templateFile">
<string>/file/views/admin_view.gtmpl</string>
</field>
<field name="roles">
<string>*:/platform/administrators</string>
</field>
</object>
</value>
</collection>
</field>
<field name="referencedDialog">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.cms.templates.impl.TemplateConfig$Template">
<field name="templateFile">
<string>/file/dialogs/dialog1.gtmpl</string>
</field>
<field name="roles">
<string>*</string>
</field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.templates.impl.TemplateConfig$Template">
<field name="templateFile">
<string>/file/dialogs/admin_dialog.gtmpl</string>
</field>
<field name="roles">
<string>*:/platform/administrators</string>
</field>
</object>
</value>
</collection>
</field>
<field name="referencedSkin">
<collection type="java.util.ArrayList">
<value>
<object type="org.exoplatform.services.cms.templates.impl.TemplateConfig$Template">
<field name="templateFile">
<string>/file/skins/Stylesheet-lt.css</string>
</field>
<field name="roles">
<string>*</string>
</field>
</object>
</value>
<value>
<object type="org.exoplatform.services.cms.templates.impl.TemplateConfig$Template">
<field name="templateFile">
<string>/file/skins/Stylesheet-rt.css</string>
</field>
<field name="roles">
<string>*</string>
</field>
</object>
</value>
</collection>
</field>
</object>
</value>
</collection>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
| Configuration name | Data type | Sample value | Description |
|---|---|---|---|
| key | String | org.exoplatform.services.wcm.publication.WCMPublicationService | Service class location. |
| type | String | org.exoplatform.services.wcm.publication.WCMPublicationServiceImpl | Service class's implementation location. |
| component-plugins | Object | N/A | The plugins that are used inside the component. |
| init-params | Object | N/A | The initial parameter that will be used inside the component. |
Description:
| Configuration name | Data type | Sample value | Description |
|---|---|---|---|
| name | String | Simple publication | Name of component-plugin. |
| set-method | String | addPublicationPlugin | Set method to start using the plugin. |
| type | String | org.exoplatform.services.wcm.publication.lifecycle.simple.SimplePublicationPlugin | Class and location of plugin. |
The parameter will be set in pair: name-value and will be placed inside the <value-param> object.
| Configuration name | Data type | Sample value |
|---|---|---|
| name | String | useCache |
| value | String | true |
Also, the parameter can be set in an object, with further information which will be the object's properties.
| Configuration name | Data type | Sample value | Description |
|---|---|---|---|
| name | String | cache.config.wcm.composer | The name of object. |
| description | String | N/A | The brief description about the object. |
| object | Object | N/A | This object will be passed to component as a parameter, this object includes fieldset properties. |
| Configuration name | Data type | Sample value | Description |
|---|---|---|---|
| target-component | String | org.exoplatform.services.wcm.core.WebSchemaConfigService< | External plugin's class location. |
| component-plugin | Object | N/A | Configuration of component that will be used as a plugin. |
Example of component using plugins.
<component>
<key>org.exoplatform.services.wcm.publication.WCMPublicationService</key>
<type>org.exoplatform.services.wcm.publication.WCMPublicationServiceImpl</type>
<component-plugins>
<component-plugin>
<name>States and versions based publication</name>
<set-method>addPublicationPlugin</set-method>
<type>org.exoplatform.services.wcm.publication.lifecycle.stageversion.StageAndVersionPublicationPlugin</type>
<description>This publication lifecycle publish a web content or DMS document to a portal page with more state and version.
</description>
</component-plugin>
<component-plugin>
<name>Simple publication</name>
<set-method>addPublicationPlugin</set-method>
<type>org.exoplatform.services.wcm.publication.lifecycle.simple.SimplePublicationPlugin</type>
<description>This publication lifecycle publish a web content or DMS document to a portal page without version</description>
</component-plugin>
</component-plugins>
</component>
<component>
<key>org.exoplatform.services.wcm.publication.WCMComposer</key>
<type>org.exoplatform.services.wcm.publication.WCMComposerImpl</type>
<init-params>
<value-param>
<name>useCache</name>
<value>true</value>
</value-param>
</init-params>
</component>
<external-component-plugins>
<target-component>org.exoplatform.services.cache.CacheService</target-component>
<component-plugin>
<name>addExoCacheConfig</name>
<set-method>addExoCacheConfig</set-method>
<type>org.exoplatform.services.cache.ExoCacheConfigPlugin</type>
<description>Configures the cache for query service</description>
<init-params>
<object-param>
<name>cache.config.wcm.composer</name>
<description>The default cache configuration</description>
<object type="org.exoplatform.services.cache.ExoCacheConfig">
<field name="name">
<string>wcm.composer</string>
</field>
<field name="maxSize">
<int>300</int>
</field>
<field name="liveTime">
<long>600</long>
</field>
<field name="distributed">
<boolean>false</boolean>
</field>
<field name="implementation">
<string>org.exoplatform.services.cache.concurrent.ConcurrentFIFOExoCache</string>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
When a site is created, most of end-users want to see something in the page instead of a blank page, so you need this service for deploying some "default" contents, such as Banner, Footer, Navigation, Breadcrumb.
There are two main cases to use:
The site is created only one time when the database is cleaned.
The site is created at runtime, when a user uses the core features of the GateIn portal.
init-params
| Element | Type | Description |
|---|---|---|
| object-param |
Object
| The parameter which is an Object. |
object-param
| Element | Type | Default value | object-param |
|---|---|---|---|
| name |
String
|
ACME Logo data
| The name of this object parameter. |
| description |
String
|
Deployment Descriptor
| The description of this object parameter. |
| object | Class | org.exoplatform.services.deployment.DeploymentDescriptor
| The object of this object parameter. |
object
| Attribute | Type | Default value | Description |
|---|---|---|---|
| type |
String
|
org.exoplatform.services.deployment.DeploymentDescriptor (*)
| The type of this object. |
org.exoplatform.services.deployment.DeploymentDescriptor
| Name | Type | Default value | Description |
|---|---|---|---|
| target | Object | org.exoplatform.services.deployment.DeploymentDescriptor$Target (*) | The target node which will contain the imported node. |
| sourcePath | String | war:/conf/sample-portal/wcm/artifacts/site-resources/acme/Logo.xml< | The absolute path of the XML file. |
| cleanupPublication | Boolean | false |
Decide when the publication lifecycle is cleaned up in the target folder after importing the data. true: allow false:not allow |
| versionHistoryPath | String | war:/conf/sample-portal/wcm/artifacts/site-resources/acme/Logo_versionHistory.zip< | The absolute path of the version history file. |
org.exoplatform.services.deployment.DeploymentDescriptor$Target
| Field | Type | Default value | Description |
|---|---|---|---|
| repository | String | repository | The repository of the target node. |
| repository | String | repository | The repository of the target node. |
| workspace | String | collaboration | The workspace of the target node. |
| nodePath | String | /sites content/live/acme/web contents/site artifacts | The path of the target node. |
<external-component-plugins>
<target-component>org.exoplatform.services.deployment.WCMContentInitializerService</target-component>
<component-plugin>
<name>Content Initializer Service</name>
<set-method>addPlugin</set-method>
<type>org.exoplatform.services.deployment.plugins.XMLDeploymentPlugin</type>
<description>XML Deployment Plugin</description>
<init-params>
<object-param>
<name>ACME Logo data</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.DeploymentDescriptor">
<field name="target">
<object type="org.exoplatform.services.deployment.DeploymentDescriptor$Target">
<field name="repository">
<string>repository</string>
</field>
<field name="workspace">
<string>collaboration</string>
</field>
<field name="nodePath">
<string>/sites content/live/acme/web contents/site artifacts</string>
</field>
</object>
</field>
<field name="sourcePath">
<string>war:/conf/sample-portal/wcm/artifacts/site-resources/acme/Logo.xml</string>
</field>
<field name="versionHistoryPath">
<string>war:/conf/sample-portal/wcm/artifacts/site-resources/acme/Logo_versionHistory.zip</string>
</field>
<field name="cleanupPublication">
<boolean>true</boolean>
</field>
</object>
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>