Using Content Extended Operations (CE_Operations) in a workflow definition

NOTE  CE_Operations are not available for use with FileNet Web Services or Open Client.

To facilitate manipulation of documents in a repository, IBM FileNet uses the Component Integrator infrastructure to provide Content Extended Operations (CE_Operations) that can be used in a workflow in component steps.

Operation What it does
applySecurityTemplate Applies a security template to an attachment. Note that the object must be associated with a security policy and the specified template must belong to the policy.
applySecurityTemplateMany Applies a security template to an array of homogeneous attachments. Note that the attachments must be associated with a security policy and that the template must belong to the policy.
changeClass Changes the class of the specified attachment.
checkin Checks in the attached document as a new major version. As part of the checkin, content and property values can be set. Returns the new version of the document.
checkout Checks out an attachment from a repository.

copy

Makes a copy of the specified attachment object and adds this new attachment to the repository.

copyMany Copies an array of the specified attachment objects and adds these new attachments to the repository.
createCustomObject Creates a custom object using the specified class and property attribute values. The object is filed into the designated folder.
createDocument Creates an attachment using the specified class and property attribute values.
createFolder Creates a folder, either at the root of the repository or as a child of an attached folder. Returns the new folder object.

delete

Deletes the specified attachment.

deleteMany Deletes an array of specified attachments.

file

Takes an object that is already in the repository and files it into a new folder. Object will not be unfiled from the existing folders (if any).

fileMany Files one or more objects (documents or custom objects) into a given folder. Objects will not be unfiled from their existing folders (if any).

getBooleanProperty

Returns a boolean attribute value for the specified property of an attachment.

getContent Retrieves the content of the attachment.
getDateProperty

Returns a date attribute value for the specified property of an attachment.

getDoubleProperty Returns a double/float attribute value for the specified property of an attachment.
getIntegerProperty Returns an integer attribute value for the specified property of an attachment.
getMultiBooleanProperty Returns an array of boolean attribute values for the specified property of an attachment.
getMultiDateProperty Returns an array of date attribute values for the specified property of an attachment.
getMultiDoubleProperty Returns an array of integer attribute values for the specified property of an attachment.
getMultiIntegerProperty Returns an array of multi-valued integer attribute values for the specified property of an attachment.
getMultiObjectProperty Returns an array of object attribute values for the specified property of an attachment.
getMultiStringProperty Returns an array of string attribute values for the specified property of an attachment.
getObjFromPath Retrieves an object (custom object, folder or document) from the specified path. If there isn't an object at the specified location, an empty attachment is returned.
getObjectProperty Retrieves the attribute value of a property which holds an attachment.
getStringProperty Returns a string attribute value for the specified property of an attachment.
getURLFromAttachment Returns a URL for an attachment.

move

Moves the specified attachment from its existing folder to the designated folder.

moveMany Moves the specified objects from their existing container to the designated container (i.e., unfile and file).
publish Publishes the specified attachment using the specified publish template.
searchForMany Executes a simple search template or stored search, identified via an attachment. Returns all matching objects as an attachment array.
searchForOne Executes a simple search template or stored search, identified via an attachment. Returns the first matching object as an attachment.
sendMail Sends mail in text/plain format. Does not support the use of mail attachments.
sendMailAttachment Sends mail with a document attachment. The document is added to the email as a MIME attachment.
sendMailTemplate Sends mail using a template. The template is used as the body of the email message.
sendMailTemplateAttachment

Sends mail using a template with a document attachment. The document is added to the email as a MIME attachment.

sendMailTemplateURL Sends email using a template with the URLs of the attached documents appended to the body of the email.
sendMailURL Sends email with the URLs of the attached documents appended to the body of the email.
setBooleanProperty Sets a boolean attribute value for the specified property of an attachment.
setDateProperty Sets a date attribute value for the specified property of an attachment.
setDoubleProperty Sets a double/float attribute value for the specified property of an attachment object.
setIntegerProperty Sets an integer attribute value for the specified property of an attachment.
setStringProperty Sets a string attribute value for the specified property of an attachment.
setMultiBooleanProperty Sets an array of boolean attribute values for the specified property of an attachment.
setMultiDateProperty Sets an array of date attribute values for the specified property of an attachment.
setMultiDoubleProperty Sets an array of double/float attribute values for the specified property of an attachment.
setMultiIntegerProperty Sets an array of integer attribute values for the specified property of an attachment.
setMultiStringProperty Sets an array of string attribute values for the specified property of an attachment.
setObjectProperty Sets the attribute value of a property which holds an object.
unfile Removes the specified attachment from the specified folder from a repository.

To use CE_Operations, it is important to understand the properties of documents in a repository. Each document in a repository has a set of properties defined by the system, such as the display name (the name of the document), the creator, the date last modified, and so on. In addition, each document is associated with a particular document class that usually defines additional properties specific to that type of document. For example, an Expense Report document class might have the property DepartmentNumber that would be specified for expense report documents when they are filed in the repository.

applySecurityTemplate

Applies a security template to an attachment. Note that the object must be associated with a security policy and the specified template must belong to the policy. For more information, refer to Security Policies.

Use the following syntax:

applySecurityTemplate (att, templateGUID)

att

The attachment (only document type) to which to apply the security template.

templateGUID

The GUID of a custom/application template. The template must be associated with the same security policy as the attachment.

 

applySecurityTemplateMany

Applies a security template to an array of homogeneous attachments. Note that the attachments must be associated with a security policy and that the template must belong to the policy.

Use the following syntax:

applySecurityTemplateMany (atts, templateGUID)

atts

An array of attachments to which to apply the security template.

templateGUID

The GUID of a custom/application template. The template must be associated with the same security policy as the attachment.

 

changeClass

Changes the class of the specified attachment.

Use the following syntax:

changeClass (att, classId)

att

The attachment (custom object, document or folder) for the class change.

classId

A string containing the class ID for the new class to apply. The new class must be of the same type (custom object, document or folder) as the object's current class.

 

checkin

Checks in the attached document as a new major version. As part of the checkin, content and property values can be set. Returns the new version of the document.

Use the following syntax:

checkin (att, propArray, fileName, mimeType, content, return_value)

att

The attachment (document and custom object) to be checked in.

propArray

A string array of properties.

fileName

A string containing the file name of the attachment.

mimeType

A string containing the MIME type for any new content.

content

A string containing the content of the new version. For new lines, use "\n".

return_value

The checked in attachment.

 

checkout

Checks out an attachment from a repository.

Use the following syntax:

checkout (att)

att

The attachment (document and custom object) to be checked out.

 

copy

Makes a copy of the specified attachment object and adds this new attachment to the repository.

Use the following syntax:

copy (sourceDocument, fileToFolder, return_value)

sourceDocument

The attachment (custom object or document) to be copied.

fileToFolder

A boolean expression. If true, the new attachment is filed into the same folder as the source attachment. If false, the new attachment is not filed.

return_value

An attachment to the new document or custom object.

 

copyMany

Copies an array of the specified attachment objects and adds these new attachments to the repository.

Use the following syntax:

copyMany (sourceDocuments, fileToFolder, return_value)

sourceDocument

An array of attachments to be copied.

fileToFolder

A boolean expression. If true, the new attachments are filed into the same folder as the original objects. If false, the new attachments are not filed.

return_value

An attachment to the new document or custom object.

 

createCustomObject

Creates a custom object using the specified class and property attribute values. The object is filed into the designated folder.

Use the following syntax:

createCustomObject (destFolder, className, propArray, return_value)

destFolder

A folder in which to create the new custom object.

className

A string containing the class name to use for the new custom object.

NOTE  When using CE_Operations, the create operations will fail if the CustomObject class Display name contains spaces.

propArray

A string array containing the attribute value pairs specifying the properties for the new custom object.

return_value

An attachment referencing the new custom object.

 

createDocument

Creates a document using the specified class and property values. The document is filed into the designated folder.

Use the following syntax:

createDocument (destFolder, className, propArray, fileName, mimeType, content, return_value)

destFolder

A folder in which to create the new document.

className

A string containing the class name to use for the new document.

NOTE  When using CE_Operations, the create operations will fail if the Document class Display name contains spaces.

propArray

A string array containing the attribute value pairs specifying the properties for the new document.

fileName

A string containing the file name of the new document.

mimeType

A string containing the MIME type for any new content.

content

A string containing the content of the new version. For new lines, use "\n".

return_value

The attachment referencing the new document object.

 

createFolder

Creates a folder, either at the root of the repository or as a child of the specified parent folder. Returns the new folder object.

Use the following syntax:

createFolder (parentFolder, className, propArray, return_value)

parentFolder

An attachment identifying the parent location of the new folder. An example of a root folder is "||0|3|peru" where "0" is the folder type; 3 is the library type (Content Engine); and "peru" is the library name.

className

A string containing the class name to use for the new folder.

NOTE  When using CE_Operations, the create operations will fail if the Folder class Display name contains spaces.

propArray

A string array containing the attribute value pairs specifying the properties for the new folder.

return_value

An attachment referencing the new folder.

 

delete

Deletes the specified attachment.

Use the following syntax:

delete (att)

att

The attachment (custom object, document, or folder) to be deleted.

 

deleteMany

Deletes an array of specified attachments.

Use the following syntax:

deleteMany (attachments)

attachments

The array of attachments to be deleted.

 

file

Takes an object that is already in the repository and files it into a new folder. Object will not be unfiled from the existing folders (if any).

Use the following syntax:

file (sourceDocument, destFolder)

sourceDocument

The attachment (custom object or document) to be filed.

destFolder

The folder where the attachment will be filed.

 

fileMany

Files one or more objects (documents or custom objects) into a given folder. Objects will not be unfiled from their existing folders (if any).

Use the following syntax:

fileMany (folder, atts)

folder

The folder where the attachments will be filed.

atts

The array of attachments (custom objects or documents) to be filed.

 

getBooleanProperty

Returns a boolean attribute value for the specified property of an attachment.

Use the following syntax:

getBooleanProperty (sourceDocument, symbolicPropName, return_value)

sourceDocument

The attachment from which the boolean attribute value is retrieved.

symbolicPropName

The name of the attribute whose boolean value is retrieved.

return_value

The boolean attribute value.

 

getContent

Retrieves the content of the attachment.

Use the following syntax:

getContent (att, return_value)

att

The attachment (custom object or document) from which the content is retrieved.

return_value

A 3-element string array. Element 1 is file name; element 2 is MIME type; element 3 is the content itself.

 

getDateProperty

Returns a date attribute value for the specified property of an attachment.

Use the following syntax:

getDateProperty (sourceDocument, symbolicPropName, return_value)

sourceDocument

The attachment from which the date attribute value is retrieved.

symbolicPropName

The name of the attribute whose date value is retrieved.

return_value

The date attribute value.

 

getDoubleProperty

Returns a double/float attribute value for the specified property of an attachment.

Use the following syntax:

getDoubleProperty (sourceDocument, symbolicPropName, return_value)

sourceDocument

The attachment object from which the double/float attribute value is retrieved.

symbolicPropName

The name of the attribute whose double/float value is retrieved.

return_value

The double/float attribute value.

 

getIntegerProperty

Returns the integer value for the specified property of an attachment.

Use the following syntax:

getIntegerProperty (sourceDocument, symbolicPropName, return_value)

sourceDocument

The attachment from which the integer attribute value is retrieved.

symbolicPropName

The name of the attribute whose integer value is retrieved.

return_value

The integer attribute value.

 

getMultiBooleanProperty

Returns an array of boolean attribute values for the specified property of an attachment.

Use the following syntax:

getMultiBooleanProperty (att, propName, return_value)

att

The attachment from which the array of boolean attribute values is retrieved.

propName

The name of the attribute whose boolean value is retrieved.

return_value

An array of boolean attribute values for the specified attachment.

 

getMultiDateProperty

Returns an array of date attribute values for the specified property of an attachment.

Use the following syntax:

getMultiDateProperty (att, propName, return_value)

att

The attachment from which the array of date attributes is retrieved.

propName

The name of the attribute whose date value is retrieved.

return_value

An array of date attribute values.

 

getMultiDoubleProperty

Returns an array of double/float attribute values for the specified property of an attachment.

Use the following syntax:

getMultiDoubleProperty (att, propName, return_value)

att

The attachment for which the array of double/float attribute values is retrieved.

propName

The name of the attribute whose double/float value is retrieved.

return_value

An array of double/float attribute values.

 

getMultiIntegerProperty

Returns an array of integer attribute values for the specified property of an attachment.

Use the following syntax:

getMultipleIntegerProperty (att, propName, return_value)

att

The attachment from which the array of integer attribute values is retrieved.

propName

The name of the attribute whose integer values are retrieved.

return_value

An array of integer attribute values.

 

getMultiObjectProperty

Returns an array of object attribute values for the specified property of an attachment.

Use the following syntax:

getMultiObjectProperty (att, propName, return_value)

att

The attachment from which the array of object attribute values is retrieved.

propName

The name of the attribute whose attribute values is retrieved.

return_value

An array of object attribute values.

 

getMultiStringProperty

Returns an array of string attribute values for the specified property of an attachment.

Use the following syntax:

getMultiStringProperty (att, propName, return_value)

att

The attachment from which the array of string attribute values is retrieved.

propName

The name of the attribute whose array of string attribute values is retrieved.

return_value

An array of string attribute values.

 

getObjFromPath

Retrieves an object (custom object, folder or document) from the specified path. If there isn't an object at the specified location, an empty attachment is returned.

Use the following syntax:

getObjFromPath (osName, path, objType, return_value)

osName

A string containing the name or GUID of the repository to retrieve from.

path

A string containing the path of the desired object.

objType

A string containing the name if the object type. This must be one of the following: "custom object", "document", or "folder".

return_value

The attachment referencing the object retrieved, or as empty attachment if the object does not exist.

 

getObjectProperty

Retrieves the attribute value of a property which holds an object.

Use the following syntax:

getObjectProperty (att, propName, return_value)

att

The attachment document from which the object attribute is retrieved.

propName

The name of the attribute whose property value is retrieved.

return_value

The object attribute value.

 

getStringProperty

Returns a string attribute value for the specified property of an attachment.

Use the following syntax:

getStringProperty (sourceDocument, symbolicPropName, return_value)

sourceDocument

The attachment from which the attribute value is retrieved.

symbolicPropName

The name of the attribute whose string value is retrieved.

return_value

The string attribute value.

 

getURLFromAttachment

Returns a URL for the attachment.

Use the following syntax:

getURLFromAttachment (att, baseURL, return_value)

att

The attachment the URL is returned for.

baseURL

A string containing the base URL, such as http://hqdemo:8080/Workplace

return_value

A string containing the URL of the attachment such as:

http://hqdemo:8080/Workplace/getContent?id=release&vsId=%7B42057F27-8547-4500-824E-27902BF6336A%7D&objectStoreName=win13os1&objectType=document

 

move

Moves the specified attachment from its existing folder to the designated folder (i.e., unfile and file).

Use the following syntax:

move (folder, att)

folder

The Folder attachment where the specified attachment is moved to.

att

The attachment (custom object or document) to be moved.

 

moveMany

Moves the specified attachments from their existing container to the designated container (i.e., unfile and file).

Use the following syntax:

moveMany (folder, attachments)

folder

A folder to which the attachments are added.

attachments

The attachments (custom objects or folders) to be moved.

 

publish

Publishes the specified attachment using the specified publish template.

NOTE  Publish works with Workplace only.

Use the following syntax:

publish (sourceDocument, publishingTemplate, targetDocument)

sourceDocument

An attachment custom object or document type to be published. (ASK JINGLI--Can you publish a custom object? Not sure--she'll get back to me)

publishingTemplate

The template that defines how the document should be published.

targetDocument

The attachment created from the publishing request.

NOTE  The publishing template may not immediately return the published document. In this case, the return value can be null until the publishing template completes the operation.

 

searchForMany

Executes a search template or stored search, identified via an attachment. Returns all matching objects as an attachment array.

Use the following syntax:

searchForMany (search, objectType, itemIds, values, return_value)

search

The attachment that references the search template or stored search to execute.

objectType

A string containing the object type for any new content specified, i.e., "folder", "document", or "customobject".

itemIds

An array of item IDs that relate to the search template.

values

An array of attribute values that relate to the item IDs.

return_value

An array of objects returned by the search.

 

searchForOne

Executes a search template or stored search, identified via an attachment. Returns the first matching object as an attachment.

Use the following syntax:

searchForOne (search, objectType, itemIds, values, return_value)

search

The attachment that references the search template or stores searches to execute.

objectType

A string containing the object type for any new content specified, i.e., "folder", "document", or "customobject".

itemIds

An array of item IDs that relate to the search template.

values

An array of attribute values that relate to the item IDs.

return_value

The first matching attachment returned by the search.

 

sendMail

Sends mail in text/plain format. Does not support the use of mail attachments.

Use the following syntax:

sendMail (from, to, subject, body)

from

A string containing the email address of the sender.

to

A string containing the email address(es) to which to send the email. Separate multiple addresses with commas.

subject

A string containing the subject of the email.

body

A string containing the body (text/plain) for the email.

 

sendMailAttachment

Sends mail with a document attachment. The document is added to the email as a MIME attachment.

Use the following syntax:

sendMailAttachment (from, to, subject, body, atts)

from

A string containing the email address of the sender.

to

A string containing the email address(es) to which to send the email. Separate multiple addresses with commas.

subject

A string containing the subject of the email.

body

A string containing the body (text/plain) for the email.

atts

An array of attachments identifying the documents for the email MIME attachments.

 

sendMailTemplate

Sends mail using a template. The template is used as the body of the email message.

Use the following syntax:

sendMailTemplate (from, to, subject, template, templateVals)

from

A string containing the email address of the sender.

to

A string containing the email address(es) to which to send the email. Separate multiple addresses with commas.

subject

A string containing the subject of the email.

template

An attachment identifying the template to use for the body of the email.

templateVals

A string array containing the replacement values to use in the template.

 

sendMailTemplateAttachment

Sends mail using a template with a document attachment. The document is added to the email as a MIME attachment.

Use the following syntax:

sendMailTemplateAttachment (from, to, subject, template, templateVals, atts)

from

A string containing the email address of the sender.

to

A string containing the email address(es) to which to send the email. Separate multiple addresses with commas.

subject

A string containing the subject of the email.

template

An attachment identifying the template to use for the body of the email.

templateVals

A string array containing the replacement values to use in the template.

atts

An array of objects to attach to the email.

 

sendMailTemplateURL

Sends email using a template with the URLs of the attached documents appended to the body of the email.

Use the following syntax:

sendMailTemplateURL (from, to, subject, template, templateVals, atts, baseURL)

from

A string containing the email address of the sender.

to

A string containing the email address(es) to which to send the email. Separate multiple addresses with commas.

subject

A string containing the subject of the email.

template

An attachment identifying the template to use for the body of the email.

templateVals

A string array containing the replacement values to use in the template.

atts

An array of objects to attach to the email.

baseURL

A string containing the base URL to use for the attachment (such as http://hqdemo:8080/Workplace).

 

sendMailURL

Sends email with the URLs of the attached documents appended to the body of the email.

Use the following syntax:

sendMailURL (from, to, subject, body, atts, baseURL)

from

A string containing the email address of the sender.

to

A string containing the email address(es) to which to send the email. Separate multiple addresses with commas.

subject

A string containing the subject of the email.

body

A string containing the body (text/plain) for the email.

atts

An array of attachments identifying the documents for the email MIME attachments.

baseURL

A string containing the base URL to use for the attachment (such as http://hqdemo:8080/Workplace).

 

setBooleanProperty

Sets a boolean attribute value for the specified property of an attachment.

Use the following syntax:

setBooleanProperty (att, symbolicPropName, value)

att

The attachment from which the boolean attribute value is set.

symbolicPropName

The name of the attribute whose boolean value is retrieved.

value

The boolean attribute value.

 

setDateProperty

Sets a date attribute value for the specified property of an attachment.

Use the following syntax:

setDateProperty (att, symbolicPropName, value)

att

The attachment from which the date attribute value is set.

symbolicPropName

The name of the attribute whose date value is retrieved.

value

The date attribute value. Please refer to Process Engine Time expression topic for more information.

 

setDoubleProperty

Sets a double/float integer attribute value for the specified property of an attachment object.

Use the following syntax:

setDoubleProperty (att, symbolicPropName, value)

att

The attachment from which the double/float attribute value is set.

symbolicPropName

The name of the attribute whose double/float value is set.

value

The double/float attribute value.

 

setIntegerProperty

Sets an integer attribute value for the specified property of an attachment.

Use the following syntax:

setIntegerProperty (att, symbolicPropName, value)

att

The attachment from which the integer attribute value is set.

symbolicPropName

The name of the attribute whose integer value is retrieved.

value

The integer attribute value.

 

setStringProperty

Sets a string attribute value for the specified property of an attachment.

Use the following syntax:

setStringProperty (att, symbolicPropName, value)

att

The attachment from which the string attribute value is set.

symbolicPropName

The name of the attribute whose string value is retrieved.

value

The string attribute value.

 

setMultiBooleanProperty

Sets an array of boolean attribute values for the specified property of an attachment.

Use the following syntax:

setMultiBooleanProperty (att, propName, value)

att

The attachment from which the array of boolean attribute values is set.

propName

The name of the attribute whose double/float values are set.

value

An array boolean attribute values.

 

setMultiDateProperty

Sets an array of date attribute values for the specified property of an attachment.

Use the following syntax:

setMultiDateProperty (att, propName, values)

att

The attachment from which the array of attribute values is set.

propName

The name of the attribute whose date values are set.

values

An array of date attribute values.

 

setMultiDoubleProperty

Sets an array of double/float attribute values for the specified property of an attachment.

Use the following syntax:

setMultiDoubleProperty (att, propName, values)

att

The attachment from which the array of date attribute values is set.

propName

The name of the attribute whose date values are set.

values

An array of double/float attribute values.

 

setMultiIntegerProperty

Sets an array of integer attribute values to the specified property of an attachment.

Use the following syntax:

setMultiIntegerProperty (att, propName, values)

att

The attachment from which the array of integer attribute values is set.

propName

The name of the attribute whose integer values are set.

values

An array of integer attribute values.

 

setMultiStringProperty

Sets an array of string attribute values for the specified property of an attachment.

Use the following syntax:

setMultiStringProperty (att, propName, values)

att

The attachment from which the array of string attribute values is set.

propName

The name of the multivalued string property whose values are to be set.

values

An array of string attribute values.

 

setObjectProperty

Sets the attribute value of a property which holds an object.

Use the following syntax:

setObjectProperty (att, propName, values)

att

The attachment object from which the object attribute is retrieved.

propName

The name of the property whose values are to be set.

values

The object attribute value.

 

unfile

Removes the specified attachment from the specified folder from a repository.

Use the following syntax:

unfile (sourceDocument, sourceFolder)

sourceDocument

The attachment (custom object or document) to be removed.

sourceFolder

The folder from which the attachment will be removed.

 

The following examples outline the steps for using CE_Operations in a workflow definition.

Example 1: File a document based on a response in a previous step.

Example 2: File a document based on the value of a specified document property.

Example 3: Create a document, folder or custom object.

Example 4: About Search Template Item IDs.

Example 5: Send mail with a template.

For information on making Content Extended Operations available for workflow definitions, see Enable Content Extended Operations in Help for Process Configuration Console.