eXo WCM is a fully integrated Content Management solution inside GateIn. Basically, we're using the extension mecanism inside GateIn to add content features. If you want more info about the extension mecanism, you can read the GateIn documentation : http://docs.jboss.com/gatein/portal/3.1.0-FINAL/reference-guide/en-US/html/index.html
This integrated solution provides users with a comprehensive platform for integrating applications as well as managing and publishing content - all from a single, familiar console.
When starting a new project, you can see eXo WCM as a WCM Java developer Platform. In this reference guide, we will give you guidelines so you can build stable applications using eXo WCM from the inside.
All package action in WCM start from delivery folder, so let's go to this folder first
$ cd ecms/delivery
| Preference | Type | Default Value | Description |
|---|---|---|---|
| repository | String | repository | The current repository name. always is "repository" |
| workspace | String | collaboration | The workspace where the content is stored |
| nodeIdentifier | String | N/A | The UUID or the path of content that you want to show |
| ShowTitle | Boolean | true | Show the content title on top of the portlet |
| ShowDate | Boolean | false | Show the content date on top of the portlet |
| ShowOptionBar | Boolean | false | Show a bar with some actions (Print, Back) |
| ContextEnable | Boolean | false | Determine if the portlet will use the parameter on URL as the path to content to display |
| ParameterName | String | content-id | Determine what parameter will be used to get the content's path |
| ShowVote | Boolean | false | Show the result of voting for the displayed content. |
| ShowComments | Boolean | false | Show the existing comments of this content (if any) |
<portlet-preferences>
<preference>
<name>repository</name>
<value>repository</value>
<read-only>false</read-only>
</preference>
<preference>
<name>workspace</name>
<value>collaboration</value>
<read-only>false</read-only>
</preference>
<preference>
<name>nodeIdentifier</name>
<value>/myfolder/mycontent</value>
<read-only>false</read-only>
</preference>
<preference>
<name>ShowTitle</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>ShowDate</name>
<value>false</value>
<read-only>false</read-only>
</preference>
<preference>
<name>ShowOptionBar</name>
<value>false</value>
<read-only>false</read-only>
</preference>
<preference>
<name>ShowPrintAction</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>isQuickCreate</name>
<value>false</value>
<read-only>true</read-only>
</preference>
<preference>
<name>ContextEnable</name>
<value>false</value>
<read-only>false</read-only>
</preference>
<preference>
<name>ParameterName</name>
<value>content-id</value>
<read-only>false</read-only>
</preference>
</portlet-preferences>
Note: In 2.1.x, there is some preference is no longer used: for example: ShowPrintAction preference,..
| Preference | Type | Default Value | Description |
|---|---|---|---|
| mode | String | AutoViewerMode | The mode that the portlet uses to display content: all contents in a specified folder or all contents specified in the portlet. |
| folderPath | String | The path to the folder whose contents are displayed by this portlet. | |
| orderBy | String | publication:liveDate | The property by which all the contents in portlet are sorted. |
| orderType | String | DESC | The type of the content sort method: ascending or descending |
| header | String | Header of the portlet. It is displayed at the top of the portlet. | |
| automaticDetection | Boolean | true | This value indicates whether the header of the portlet is chosen to be the title of the folder given in the folderPath parameter (true value) or the value given in the header paramter above |
| formViewTemplatePath | String | /exo:ecm/views/templates/Content List Viewer/list-by-folder/UIContentListPresentationDefault.gtmpl | Path to the template used to display the contents in this portlet. |
| paginatorTemplatePath | String | /exo:ecm/views/templates/Content List Viewer/paginators/UIPaginatorDefault.gtmpl | Path to the paginator used to display the contents in this portlet. |
| itemsPerPage | Integer | 10 | Number of contents displayed in every "page" of the portlet. |
| showThumbnailsView | Boolean | true | This value indicates whether the content image in this portlet is shown or not. |
| showTitle | Boolean | true | This value indicates whether the content title in this portlet is shown or not. |
| showHeader | Boolean | true | This value indicates whether the content header in this portlet is shown or not. |
| showRefreshButton | Boolean | false | This value indicates whether the refresh button is shown in this portlet or not. |
| showDateCreated | Boolean | true | This value indicates whether the content created date in this portlet is shown or not. |
| showReadmore | Boolean | true | This value indicates whether the Readmore" button is shown in every content of the portlet (After clicking this button, user can read the whole text of the content). |
| showSummary | Boolean | true | This value indicates whether the content summary in this portlet is shown or not. |
| showLink | Boolean | true | If this value is true, the header of every content is also the link to view this content fully. If the value is false, the header is considered as a simple text |
| showRssLink | Boolean | true | Show the rss link of this portlet. |
| basePath | String | detail | Show the page in which the full content is displayed when user clicks to the Read more button. |
| contextualFolder | String | contextualDisable | Enable/ disable the contextual mode of the portlet. If enabled, the portlet can take the folder path indicated in the URL to display contents. |
| showScvWith | String | content-id | The name of the parameter showing the path of content in url to display when click on "Read more" button of this content. |
| showClvBy | String | folder-id | The name of the parameter showing the path of the folder in url to display its contents. |
<portlet-preferences>
<preference>
<name>mode</name>
<value>AutoViewerMode</value>
<read-only>false</read-only>
</preference>
<preference>
<name>folderPath</name>
<value/>
<read-only>false</read-only>
</preference>
<preference>
<name>orderBy</name>
<value>publication:liveDate</value>
<read-only>false</read-only>
</preference>
<preference>
<name>orderType</name>
<value>DESC</value>
<read-only>false</read-only>
</preference>
<preference>
<name>header</name>
<value/>
<read-only>false</read-only>
</preference>
<preference>
<name>automaticDetection</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>formViewTemplatePath</name>
<value>/exo:ecm/views/templates/Content List Viewer/list-by-folder/UIContentListPresentationDefault.gtmpl</value>
<read-only>false</read-only>
</preference>
<preference>
<name>paginatorTemplatePath</name>
<value>/exo:ecm/views/templates/Content List Viewer/paginators/UIPaginatorDefault.gtmpl</value>
<read-only>false</read-only>
</preference>
<preference>
<name>itemsPerPage</name>
<value>10</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showThumbnailsView</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showTitle</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showHeader</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showRefreshButton</name>
<value>false</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showDateCreated</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showReadmore</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showSummary</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showLink</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showRssLink</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>basePath</name>
<value>detail</value>
<read-only>false</read-only>
</preference>
<preference>
<name>contextualFolder</name>
<value>contextualDisable</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showScvWith</name>
<value>content-id</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showClvBy</name>
<value>folder-id</value>
<read-only>false</read-only>
</preference>
</portlet-preferences>
| Preference | Type | Default value | Description |
|---|---|---|---|
| repository | String | repository | The current repository name. always is "repository" |
| workspace | String | collaboration | The workspace where the content is stored |
| searchFormTemplatePath | String | /exo:ecm/views/templates/WCM Advance Search/search-form/UIDefaultSearchForm.gtmpl | path to the search form template |
| searchResultTemplatePath | String | /exo:ecm/views/templates/WCM Advance Search/search-result/UIDefaultSearchResult.gtmpl | path to the search result template |
| searchPaginatorTemplatePath | String | /exo:ecm/views/templates/WCM Advance Search/search-paginator/UIDefaultSearchPaginator.gtmpl | path to the search paginator template |
| searchPageLayoutTemplatePath | String | /exo:ecm/views/templates/WCM Advance Search/search-page-layout/UISearchPageLayoutDefault.gtmpl | path to the search page template |
| itemsPerPage | Integer | 5 | the number of items for each page |
| showQuickEditButton | Boolean | true | show or hide the quick edit icon (!) |
| basePath | String | parameterizedviewer | the page which used to display the search result |
<portlet-preferences>
<preference>
<name>repository</name>
<value>repository</value>
<read-only>false</read-only>
</preference>
<preference>
<name>workspace</name>
<value>collaboration</value>
<read-only>false</read-only>
</preference>
<preference>
<name>searchFormTemplatePath</name>
<value>/exo:ecm/views/templates/WCM Advance Search/search-form/UIDefaultSearchForm.gtmpl</value>
<read-only>false</read-only>
</preference>
<preference>
<name>searchResultTemplatePath</name>
<value>/exo:ecm/views/templates/WCM Advance Search/search-result/UIDefaultSearchResult.gtmpl</value>
<read-only>false</read-only>
</preference>
<preference>
<name>searchPaginatorTemplatePath</name>
<value>/exo:ecm/views/templates/WCM Advance Search/search-paginator/UIDefaultSearchPaginator.gtmpl</value>
<read-only>false</read-only>
</preference>
<preference>
<name>searchPageLayoutTemplatePath</name>
<value>/exo:ecm/views/templates/WCM Advance Search/search-page-layout/UISearchPageLayoutDefault.gtmpl</value>
<read-only>false</read-only>
</preference>
<preference>
<name>itemsPerPage</name>
<value>5</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showQuickEditButton</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>basePath</name>
<value>parameterizedviewer</value>
<read-only>false</read-only>
</preference>
</portlet-preferences>
| Preference | Type | Default value | Description |
|---|---|---|---|
| repository | String | repository | The repository name which will be used in an instance of Site Explorer |
| workspace | String | N/A | Not in used. The workspace name was included in the Drive(!) |
| path | String | N/A | The path of node. This preference will be used when you choose the usecase is Parameterize |
| drive | String | N/A | Not in used. Replaced by driveName preference(!) |
| views | String | N/A | Not in used. The views will be displayed based on the Drive which user has access permission(!) |
| allowCreateFolders | String | N/A | Allow to create a folder by type. When you don't specify the value then the default value will be nt:unstructured, nt:folder |
| categoryMandatoryWhenFileUpload | Boolean | false | Force an user to add a category when uploading or creating a document |
| uploadFileSizeLimitMB | Float | 150 | The maximum of file size when upload to the system (MB) |
| usecase | String | selection | The behavior to access Site Explorer. By default the "selection" option is configured. Besides "selection", there are 4 other ways to configure the file explorer: Jailed,Personal,Social,Parameterize |
| driveName | String | Private | The name of a drive that an user wants to access |
| trashHomeNodePath | String | /Trash | The location to store the deleted nodes |
| trashRepository | String | repository | The repository name where store the deleted nodes |
| trashWorkspace | String | collaboration | The workspace name where store the deleted nodes |
| editInNewWindow | Boolean | false | Allow to edit document with or without window popup. By default the value is false |
| showTopBar | Boolean | true | Allow to show the Top bar or not. By default the value is true |
| showActionBar | Boolean | true | Allow to show action bar or not. By default the value is true |
| showSideBar | Boolean | true | Allow to show the side bar or not. By default the value is true |
| showFilterBar | Boolean | true | Allow to show the Filter bar or not. By default the value is true |
<portlet-preferences>
<preference>
<name>repository</name>
<value>repository</value>
<read-only>false</read-only>
</preference>
<preference>
<name>workspace</name>
<value/>
<read-only>false</read-only>
</preference>
<preference>
<name>path</name>
<value/>
<read-only>false</read-only>
</preference>
<preference>
<name>drive</name>
<value/>
<read-only>false</read-only>
</preference>
<preference>
<name>views</name>
<value/>
<read-only>false</read-only>
</preference>
<preference>
<name>allowCreateFolders</name>
<value/>
<read-only>false</read-only>
</preference>
<preference>
<name>categoryMandatoryWhenFileUpload</name>
<value>false</value>
<read-only>false</read-only>
</preference>
<preference>
<name>uploadFileSizeLimitMB</name>
<value>150</value>
<read-only>false</read-only>
</preference>
<preference>
<name>usecase</name>
<value>selection</value>
<read-only>false</read-only>
</preference>
<preference>
<name>driveName</name>
<value>Private</value>
<read-only>false</read-only>
</preference>
<preference>
<name>trashHomeNodePath</name>
<value>/Trash</value>
<read-only>false</read-only>
</preference>
<preference>
<name>trashRepository</name>
<value>repository</value>
<read-only>false</read-only>
</preference>
<preference>
<name>trashWorkspace</name>
<value>collaboration</value>
<read-only>false</read-only>
</preference>
<preference>
<name>editInNewWindow</name>
<value>false</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showTopBar</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showActionBar</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showSideBar</name>
<value>true</value>
<read-only>false</read-only>
</preference>
<preference>
<name>showFilterBar</name>
<value>true</value>
<read-only>false</read-only>
</preference>
</portlet-preferences>
| Preference | Type | Default | Description |
|---|---|---|---|
| repository | String | repository | The current repository name. Default value is "repository" |
| Preference | Type | Default Value | Description |
|---|---|---|---|
| mode | String | basic | The default mode for fast content creator portlet |
| repository | String | repository | The current repository name. always is "repository" |
| workspace | String | collaboration | The workspace where the content is stored |
| path | String | /Groups/platform/users/Documents | The destination path where the content is stored |
| type | String | exo:article | The node type of document which will be show on the dialog form |
| saveButton | String | Save | The custom button Save |
| saveMessage | String | This node has been saved successfully | The custom message when click Save button |
| isRedirect | Boolean | false | Redirect to other page or not |
| redirectPath | String | http://www.google.com.vn | The page will redirect to |
| isActionNeeded | Boolean | true | Is an action needed to save the configuration |
<portlet-preferences>
<preference>
<name>mode</name>
<value>basic</value>
<read-only>true</read-only>
</preference>
<preference>
<name>repository</name>
<value>repository</value>
<read-only>false</read-only>
</preference>
<preference>
<name>workspace</name>
<value>collaboration</value>
<read-only>false</read-only>
</preference>
<preference>
<name>path</name>
<value>/Groups/platform/users/Documents</value>
<read-only>false</read-only>
</preference>
<preference>
<name>type</name>
<value>exo:article</value>
<read-only>false</read-only>
</preference>
<preference>
<name>saveButton</name>
<value>Save</value>
<read-only>false</read-only>
</preference>
<preference>
<name>saveMessage</name>
<value>This node has been saved successfully</value>
<read-only>false</read-only>
</preference>
<preference>
<name>isRedirect</name>
<value>false</value>
<read-only>false</read-only>
</preference>
<preference>
<name>redirectPath</name>
<value>http://www.google.com.vn</value>
<read-only>false</read-only>
</preference>
<preference>
<name>isActionNeeded</name>
<value>true</value>
<read-only>true</read-only>
</preference>
</portlet-preferences>