Using remote action plug-ins
Remote action plug-ins are used to trigger actions from the HCL Web Content Manager application.
You can reference remote action plug-ins by using plug-in tags that use the following format:
[plugin:RemoteAction action=" " docid=" "
dialog=" " dialogSize=" " dialogTitle=" " useCurrentContext=" " showInfoMsg=" " ]
-
action
This is the remote action to run.
-
docid
This is the document ID of the item to run the remote action against.
-
useCurrentContext
If set to true, then the document ID is obtained form the rendering context instead of the docid attribute.
-
dialog
If set to true, when rendered within a JSR 286 web content viewer portlet the remote action is rendered as a URL that redirects the user to a hidden portal page that is used by the JSR 286 web content viewer for inline editing.
-
dialogSize
This optional setting defines the size of the dialog running the remote action. The value must be in the format "width,height". For example,
dialogSize="200,300"
for a dialog of width 200 pixel and a height of 300 pixel. If omitted, the dialog size is calculated from the content that is displayed in the dialog. This setting is only used ifdialog="true"
. -
dialogTitle
This optional setting sets the title of the dialog running the remote action. If omitted, the action name is used instead. This setting is only used if
dialog="true"
. -
showInfoMsg
Set this to true to display success status and other information messages after the remote action has finished. If omitted, this parameter is set to false and only warning and error status messages are displayed. This setting can only be used if
dialog="true"
.
Remote action plug-ins can also be appended to the URL of an authoring portlet. For example:
http://[host]/wps/myportal/wcmAuthoring?wcmAuthoringAction=action
You can also append remote action plug-ins to the URL of a local web Content Viewer portlet. This can be useful in sites that feature inline editing of content items.
Custom authoring interfaces: Remote action plug-ins are not intended to be used to create a custom authoring interface. There are limitations to the functionality delivered using remote action plug-ins. For example, remote action plug-ins only support plain text. You cannot use remote action plug-ins to add markup into elements such as HTML elements. You instead use the Web Content Manager API to create custom authoring interfaces.
Note
Each web content item can be identified by a DocumentId. The "docid" can be retrieved using the web content API. In the following examples, the value of the "docid" parameter should be the DocumentId as retrieved by using the DocumentID.getID() API method. A document ID consists of a document type and a unique ID. The "docid" values provided in the examples are placeholders for real document IDs. For example, com.ibm.workplace.wcm.api.WCM_Content/ID1
Remote action types
-
new
This is used to open a new item form. You must also specify a "type" parameter.
For example:
-
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" ]
The following type parameters can be used: -
com.ibm.workplace.wcm.api.WCM_AuthoringTemplate
com.ibm.workplace.wcm.api.WCM_Category
com.ibm.workplace.wcm.api.WCM_Content
com.ibm.workplace.wcm.api.WCM_DateComponent
com.ibm.workplace.wcm.api.WCM_FileComponent
com.ibm.workplace.wcm.api.WCM_HTMLComponent
com.ibm.workplace.wcm.api.WCM_ImageComponent
com.ibm.workplace.wcm.api.WCM_NumericComponent
com.ibm.workplace.wcm.api.WCM_PresentationTemplate
com.ibm.workplace.wcm.api.WCM_RichTextComponent
com.ibm.workplace.wcm.api.WCM_ShortTextComponent
com.ibm.workplace.wcm.api.WCM_SiteArea
com.ibm.workplace.wcm.api.WCM_Taxonomy
com.ibm.workplace.wcm.api.WCM_TextComponent
com.ibm.workplace.wcm.api.WCM_Workflow
com.ibm.workplace.wcm.api.WCM_WorkflowStage
When creating a new content item, you can specify a default authoring template by providing the document ID of the authoring template in the atid parameter:
-
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" atid="com.ibm.workplace.wcm.api.WCM_AuthoringTemplate/ID1"]
When creating site areas, content items and categories, you can specify the document ID of the parent item to save the new item under. Specify this ID in the pid parameter: -
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" pid="com.ibm.workplace.wcm.api.WCM_SiteArea/ID"]
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_SiteArea" pid="com.ibm.workplace.wcm.api.WCM_SiteArea/ID"]
-
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Category" pid="com.ibm.workplace.wcm.api.WCM_Taxonomy/ID"]
When creating site areas you can specify the position of the new site area using a position parameter. You can specify to save the new site area at the start or end relative to any existing site areas. If not specified, the new site area will be saved at the start relative to any existing site areas: -
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" position="start"]
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_SiteArea" position="end"]
-
-
delete
This is used to delete an item. You must also specify the docid of the item.
For example:
[plugin:RemoteAction action="delete" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"]
-
edit
This is used to open an item form in edit mode. You must also specify the docid of the item.
For example:
[plugin:RemoteAction action="edit" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"]
-
read
This is used to open an item form in read-only mode. You must also specify the docid of the item.
For example:
[plugin:RemoteAction action="read" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"]
-
openmainview
This is used to open a view within an authoring portlet. You must also specify a view parameter.
For example:
[plugin:RemoteAction action="openmainview" view="contentbysitearea"]
The following view parameters can be used:
contentbysitearea
contentbytitle
myrecent
mydraft
mypendingapproval
mypublished
myexpired
mydeleted
alldraftitems
allexpireditems
allpublisheditems
alldeleteditems
componentsbytype
-
move
This is used to move a site area or content item.
For example, to open the move dialog for a content item or site area:
-
[plugin:RemoteAction action="move" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"]
A move direction is specified as "1" for up and "-1" for down. For example, to move a content item up one position: -
[plugin:RemoteAction action="move" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1" pid="com.ibm.workplace.wcm.api.WCM_SiteArea/ID1" moveDirection="1"]
-
-
link
This will link a content item to a site area.
For example:
-
[plugin:RemoteAction action="link" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1" pid="com.ibm.workplace.wcm.api.WCM_SiteArea/ID2"]
When linking items you can specify the path to the parent item using the ppath parameter instead of the pid parameter: -
[plugin:RemoteAction action="link" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1" ppath="library1/sitearea1/sitearea2"]
When linking items you can create a new parent item by using the autoCreateParent parameter. You must also specify the library where the item being linked is located using the slibrary parameter. The ppath parameter is used to specify the existing parent that the new parent item is created under: -
[plugin:RemoteAction action="link" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1" autoCreateParent="true" slibrary="libraryname" ppath="library1/sitearea1/sitearea2"]
-
-
copy
This is used to make a copy of an item.
For example, to copy a content item to a new site area:
-
[plugin:RemoteAction action="copy" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1" pid="com.ibm.workplace.wcm.api.WCM_SiteArea/ID2"]
You can use the following additional parameters when copying: -
copyAsDraft="true"
This will restart the workflow of the copy being creating. In most cases this would result in the copy being created with a status of draft.
-
wid="com.ibm.workplace.wcm.api.WCM_Workflow/ID1"
Use this to specify a different workflow to use when creating the copy. This will also restart the workflow of the copy being creating. In most cases this would result in the copy being created with a status of draft.
-
position="start"
This will create the copy as the first item under the specified parent item. If not specified the item will be copied as the last child of the specified parent item.
When copying items you can specify the path to the parent item using the ppath parameter instead of the pid parameter:
-
[plugin:RemoteAction action="copy" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1" ppath="library1/sitearea1/sitearea2"]
When copying items you can create a new parent item by using the autoCreateParent parameter. You must also specify the library where the item being copied is located using the slibrary parameter. The ppath parameter is used to specify the existing parent that the new parent item is created under: -
[plugin:RemoteAction action="copy" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1" autoCreateParent="true" slibrary="libraryname" ppath="library1/sitearea1/sitearea2"]
-
-
approve
This is used to approve an item in a workflow. You must also specify the docid of the item.
For example:
[plugin:RemoteAction action="approve" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"]
-
decline
This is used to decline an item in a workflow. You must also specify the docid of the item.
For example:
[plugin:RemoteAction action="decline" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"]
-
saveandapprove
This is used to approve an item in a workflow where that item is currently open in edit mode within the same session. You must also specify the docid of the item.
For example:
[plugin:RemoteAction action="saveandapprove" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"]
[plugin:RemoteAction action="saveandapprove" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1" isdraft="true"]
-
previousstage
This is used to move an item to the previous stage in a workflow. You must also specify the docid of the item.
For example:
[plugin:RemoteAction action="previousstage" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"]
-
viewversions
This is used to open the versions dialog for an item. You must also specify the docid of the item.
For example:
[plugin:RemoteAction action="viewversions" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"]
-
viewhistory
This is used to open the history dialog for an item. You must also specify the docid of the item.
For example:
[plugin:RemoteAction action="viewhistory" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"]
Populating fields when creating or editing content
When using the "new" or "edit" parameters with content items, you can also add data to different fields in the content item using a URL.
For example, to add "newcontent" as the name of the content item, you would use this URL:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.content.name="newcontent"]
The following parameters can be used to populate fields when creating or editing content:
wcmfield.content.name=
wcmfield.content.title=
wcmfield.content.description=
wcmfield.content.authors=
wcmfield.content.owners=
wcmfield.content.publishDate=
wcmfield.content.expiryDate=
wcmfield.content.generalDateOne=
wcmfield.content.generalDateTwo=
wcmfield.content.workflow=
(This can only be used when creating content.)wcmfield.content.categories=
wcmfield.content.keywords=
-
wcmfield.element.``elementname=
Note
You replace
elementname=
with the name of the element you are populating. The element parameter can only be used with the following element types:- Text
- Html
- Rich text
- Option Selection
- User Selection
- Date and time
- Number
- JSP
- Link
- Component Reference
When populating fields with user ids you must use this format:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.content.authors="uid=usera,cn=cn-name,dc=dc-name"]
When populating workflow and category fields you must use the document IDs as their values:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.content.workflow="ID1"]
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.content.categories="ID1"]
When populating date fields, the date format must be US English. Either a date and time, or just a date can be specified. If only a date is specified, the time used will be 12:00:00 AM. For example:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.content.generalDateOne="Feb 14, 2008 12:53:03 PM"]
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.content.generalDateOne="Feb 14, 2008"]
The date and time set here are based on the server's timezone, not the timezone of the user's computer.
When populating a JSP element, you need to specify the path to the JSP file:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.element.jspelementname="/wps/wcm/jsp/html/example.jsp"]
When populating a component reference element, you specify the component to reference. For example:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.element.mycompref.type="com.aptrix.pluto.cmpnt.NavigatorCmpnt" wcmfield.element.mycompref.id="e4bdf10042d0769698ccbeb0e25cc973"]
When populating an option selection element, you specify each selection option. For example:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.element.elementname="AA" wcmfield.element.elementname="BB"]
When populating a user selection element, you specify each user. For example:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.element.elementname="uid=wpsadmin,o=defaultWimFileBasedRealm" wcmfield.element.elementname="uid=wpsadmin2,o=defaultWimFileBasedRealm"]
When populating a Link element, you can specify the following parameters:
-
Adding a link to a content item:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.element.elementname.type="content" wcmfield.element.elementname.id="contentID"]
-
Adding a link to a link component:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.element.elementname.type="link" wcmfield.element.elementname.id="linkcomponentID"]
-
Adding a link to an image or file resource component:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.element.elementname.type="resource" wcmfield.element.elementname.id="componentID"]
-
Adding a link to a URL:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.element.elementname.type="external" wcmfield.element.elementname.externalReference="myurl"]
-
To specify whether to use the name of the item you are linking to as the link text, add this to the tag:
wcmfield.element.elementname.useReferenceLinkText="true"
-
When specifying an image to display as the link, add this to the tag:
wcmfield.element.elementname.linkImage="imagecomponentID"
-
When specifying the text of the link, add this to the URL:
wcmfield.element.elementname.linkText="text"
-
When specifying the description of the link, add this to the URL:
wcmfield.element.elementname.linkDescription="text"
-
When specifying a link target, add this to the URL:
wcmfield.element.elementname.linkTarget=
- _blank
- _parent
- _self
- _top
- targetname
Save parameters
You can add the following "save" parameters to a remote action tag.
-
autoSave
This is used to save a controllable. This happens in the background and is not displayed to users.
For example:
- wcmfield.autosave="true"
-
saveValidate
This parameter determines if warning and error messages resulting from the autosave will be displayed to the user. If set to "true", warning and error messages will be displayed to the user. If set to false, messages are suppressed. The default is true.
For example:
- &wcmfield.saveValidate="false"
Adding comments to the item history
When creating items that use a workflow with "Enter comment on approval" set to true, you can add a comment to the item history by adding comment="comment text"
to the URL.
For example:
`[plugin:RemoteAction action="edit" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"
createDraft="true" comment="comment text"]`
Examples
Open the versions view for an item:
- Tag:
[plugin:RemoteAction action="viewversions" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"]
- Url:
http://<host>/wps/myportal/wcmAuthoring?wcmAuthoringAction=viewversions&docid=com.ibm.workplace.wcm.api.WCM_Content/ID1
Open the history view for an item:
- Tag:
[plugin:RemoteAction action="viewhistory" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"]
- Url:
http://<host>/wps/myportal/wcmAuthoring?wcmAuthoringAction=viewhistory&docid=com.ibm.workplace.wcm.api.WCM_Content/ID1
Open a content item in read mode:
- Tag:
[plugin:RemoteAction action="read" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1"]
- Url:
http://<host>/wps/myportal/wcmAuthoring?wcmAuthoringAction=read&docid=com.ibm.workplace.wcm.api.WCM_Content/ID1
Open a content item in edit mode:
- Tag:
[plugin:RemoteAction action="edit" &docid=com.ibm.workplace.wcm.api.WCM_Content/ID1]
- Url:
http://<host>/wps/myportal/wcmAuthoring?wcmAuthoringAction=edit&docid=com.ibm.workplace.wcm.api.WCM_Content/ID1
Move a content item up:
- Tag:
[plugin:RemoteAction action="move" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1" moveDirection="1" pid="com.ibm.workplace.wcm.api.WCM_SiteArea/ID1"]
- Url:
http://<host>/wps/myportal/wcmAuthoring?wcmAuthoringAction=move&docid=com.ibm.workplace.wcm.api.WCM_Content/ID1&moveDirection=1&pid=com.ibm.workplace.wcm.api.WCM_SiteArea/ID1
Move a site area down:
- Tag:
[plugin:RemoteAction action="move" docid="com.ibm.workplace.wcm.api.WCM_SiteArea/ID1" "moveDirection="-1" pid="com.ibm.workplace.wcm.api.WCM_SiteArea/ID1"]
- Url:
http://<host>/wps/myportal/wcmAuthoring?wcmAuthoringAction=move&docid=com.ibm.workplace.wcm.api.WCM_SiteArea/ID1&moveDirection=-1&pid=com.ibm.workplace.wcm.api.WCM_SiteArea/ID1
Create a new content item with title of 'newcontent':
- Tag:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" wcmfield.content.title="newcontent"]
- Url:
http://<host>/wps/myportal/wcmAuthoring?wcmAuthoringAction=new&type=com.ibm.workplace.wcm.api.WCM_Content&wcmfield.content.title=newcontent
To open a content item in edit mode and automatically change keywords:
- Tag:
[plugin:RemoteAction action="edit" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1" wcmfield.content.keywords="keyword1" wcmfield.content.keywords="keyword2"]
- Url:
http://<host>/wps/myportal/wcmAuthoring?wcmAuthoringAction=edit&docid=com.ibm.workplace.wcm.api.WCM_Content/ID1&wcmfield.content.keywords=keyword1&wcmfield.content.keywords=keyword2
To edit a content item, automatically change the keywords and use autosave to automatically save the content (no dialog opens):
- Tag:
[plugin:RemoteAction action="edit" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1" wcmfield.content.keywords="keyword1" wcmfield.content.keywords="keyword2" wcmfield.autosave="true"]
- Url:
http://<host>/wps/myportal/wcmAuthoring?wcmAuthoringAction=edit&docid=com.ibm.workplace.wcm.api.WCM_Content/ID1&wcmfield.content.keywords=keyword1&wcmfield.content.keywords=keyword2&wcmfield.autosave=true
To edit a content item, automatically save the item and prevent any validation exception from being displayed, use autosave with saveValidate=false:
- Tag:
[plugin:RemoteAction action="edit" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1" wcmfield.content.keywords="keyword1" wcmfield.autosave="true" wcmfield.saveValidate="false"]
- Url:
http://<host>/wps/myportal/wcmAuthoring?wcmAuthoringAction=edit&docid=com.ibm.workplace.wcm.api.WCM_Content/ID1&wcmfield.content.keywords=keyword1&wcmfield.autosave=true&wcmfield.saveValidate=false
To create a content item, set the name and use autosave to automatically save the content (no dialog opens). The authoring template used by the content item must have a workflow pre-selected:
- Tag:
[plugin:RemoteAction action="new" type="com.ibm.workplace.wcm.api.WCM_Content" atid="com.ibm.workplace.wcm.api.WCM_AuthoringTemplate/ID1" pid="com.ibm.workplace.wcm.api.WCM_SiteArea/ID2" wcmfield.content.name="newcontent" wcmfield.autosave="true" wcmfield.saveValidate="true"]
- Url:
http://<host>/wps/myportal/wcmAuthoring?wcmAuthoringAction=new&type=com.ibm.workplace.wcm.api.WCM_Content&atid=com.ibm.workplace.wcm.api.WCM_AuthoringTemplate/ID1&pid=com.ibm.workplace.wcm.api.WCM_SiteArea/ID2&wcmfield.content.name=newcontent&wcmfield.autosave=true&wcmfield.saveValidate=true
To edit a content item and create a draft on the edit and set the history log comment:
- Tag:
[plugin:RemoteAction action="edit" docid="com.ibm.workplace.wcm.api.WCM_Content/ID1" createDraft="true" comment="comment"]
- Url:
http://<host>/wps/myportal/wcmAuthoring?wcmAuthoringAction=edit&docid=com.ibm.workplace.wcm.api.WCM_Content/ID1&createDraft=true&comment=comment