Collaboration API Documentation

com.filenet.bso.collaboration.workflow.operations
Class CollaborationOperations

java.lang.Object
  |
  +--com.filenet.bso.collaboration.workflow.operations.CollaborationOperations

public class CollaborationOperations
extends java.lang.Object

A class that implements Collaboration operations that may be performed by workflows. These operations can be hooked up to Component Integrator steps used in a workflow.


Field Summary
protected static java.lang.String m_className
           
protected static filenet.vw.base.logging.Logger m_logger
           
protected static java.lang.String m_MemberRolesParameterName
           
protected static java.lang.String m_MemberTypesParameterName
           
 
Constructor Summary
CollaborationOperations()
           
 
Method Summary
 filenet.vw.api.VWAttachment createTask(filenet.vw.api.VWAttachment TCMTeamspaceRef, java.lang.String TCMTaskName, filenet.vw.api.VWParticipant TCMTaskAssigner, filenet.vw.api.VWParticipant TCMTaskAssignee, boolean TCMWorkflowAwareFlag, java.util.Date TCMTaskDueDate, java.util.Date TCMTaskReminderDate, java.lang.Integer TCMTaskPriority, java.lang.String TCMTaskDescription, java.lang.String TCMWaitQueueName, java.lang.String TCMTaskStepWobNum, filenet.vw.api.VWAttachment[] TCMTaskAttachments, java.lang.String TCMTaskAttachmentsFieldName, java.lang.String TCMAppId)
          Creates a Collaboration Task.
 filenet.vw.api.VWAttachment createTeamspace(filenet.vw.api.VWAttachment TCMTeamspaceParentFolder, java.lang.String TCMTeamspaceFolderClass, java.lang.String TCMTeamspaceName, filenet.vw.api.VWParticipant TCMTeamspaceOwner, java.lang.String TCMOwnerRole, java.lang.String TCMOwnerEmailAddress, java.lang.String[] TCMTeamspacePropertyNames, java.lang.String[] TCMTeamspacePropertyTypes, java.lang.String[] TCMTeamspacePropertyValues, java.lang.String TCMAppId)
          Creates a Collaboration Teamspace and returns the teamspace reference.
 filenet.vw.api.VWAttachment createTeamspaceFromTemplate(filenet.vw.api.VWAttachment TCMTeamspaceTemplate, filenet.vw.api.VWAttachment TCMTeamspaceParentFolder, java.lang.String TCMTeamspaceName, filenet.vw.api.VWParticipant TCMTeamspaceOwner, java.lang.String TCMOwnerRole, java.lang.String TCMOwnerEmailAddress, java.lang.String TCMAppId)
          Creates a Collaboration Teamspace From a Teamspace Template and returns the teamspace reference.
 filenet.vw.api.VWAttachment createTeamspaceWithMembers(filenet.vw.api.VWAttachment TCMTeamspaceParentFolder, java.lang.String TCMTeamspaceFolderClass, java.lang.String TCMTeamspaceName, filenet.vw.api.VWParticipant TCMTeamspaceOwner, java.lang.String TCMOwnerRole, java.lang.String TCMOwnerEmailAddress, java.lang.String[] TCMTeamspacePropertyNames, java.lang.String[] TCMTeamspacePropertyTypes, java.lang.String[] TCMTeamspacePropertyValues, java.lang.String TCMAppId, filenet.vw.api.VWParticipant[] TCMNewMembers, java.lang.Integer[] TCMMembersTypes, java.lang.String[] TCMMembersRoles, java.lang.String[] TCMMembersEmailAddresses)
          Creates a Collaboration Teamspace with members specified and returns the teamspace reference.
protected  java.lang.String dumpVWParticipant(filenet.vw.api.VWParticipant participant)
           
protected  java.lang.String getSecurityID(com.filenet.wcm.api.ObjectStore store, filenet.vw.api.VWSession vwSession, filenet.vw.api.VWParticipant participant)
          Get the security ID for the VWParticipant.
protected static filenet.vw.api.VWSession getVWSession()
          Retrieves and verifies a VWSession object from thread local storage Can log exception if unable to get the session.
protected  void verifyMemberTypesAndRoles(com.filenet.wcm.api.ObjectStore store, java.lang.Integer[] membersTypes, java.lang.String[] membersRoles, filenet.vw.api.VWParticipant[] members)
          Verifies the types against allowed member types and roles against the TCM collaboration store.
protected  void verifyVWParticipant(filenet.vw.api.VWParticipant participant, java.lang.String paramName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_logger

protected static filenet.vw.base.logging.Logger m_logger

m_className

protected static final java.lang.String m_className

m_MemberTypesParameterName

protected static final java.lang.String m_MemberTypesParameterName

m_MemberRolesParameterName

protected static final java.lang.String m_MemberRolesParameterName
Constructor Detail

CollaborationOperations

public CollaborationOperations()
Method Detail

createTeamspace

public filenet.vw.api.VWAttachment createTeamspace(filenet.vw.api.VWAttachment TCMTeamspaceParentFolder,
                                                   java.lang.String TCMTeamspaceFolderClass,
                                                   java.lang.String TCMTeamspaceName,
                                                   filenet.vw.api.VWParticipant TCMTeamspaceOwner,
                                                   java.lang.String TCMOwnerRole,
                                                   java.lang.String TCMOwnerEmailAddress,
                                                   java.lang.String[] TCMTeamspacePropertyNames,
                                                   java.lang.String[] TCMTeamspacePropertyTypes,
                                                   java.lang.String[] TCMTeamspacePropertyValues,
                                                   java.lang.String TCMAppId)
                                            throws java.lang.Exception
Creates a Collaboration Teamspace and returns the teamspace reference.

Parameters:
TCMTeamspaceParentFolder - A VWAttachment specifying the folder to create a teamspace in.
TCMTeamspaceFolderClass - CE Object Store Folder Class Name, if null then Collaboration.COLLABORATION_TEAMSPACE_CLASSNAME is used.
TCMTeamspaceName - The name to be given to the Teamspace created.
TCMTeamspaceOwner - The userID for the owner of the Teamspace.
TCMOwnerRole - The symbolic name of a Collaboration Store Access Level.
TCMOwnerEmailAddress - The Teamspace owner's email address to use for notifications. An exception is thrown if there is not one available in the Directory Services and one is not provided here. If the email is not valid then the owner will not get teamspace email notifications.
TCMTeamspacePropertyNames - An array of symbolic names of the CE properties to be set. The TCMTeamspacePropertyNames, TCMTeamspacePropertyTypes, and TCMTeamspacePropertyValues parameters must be synchronized arrays.
TCMTeamspacePropertyTypes - An array of WCM API property types for the TCMTeamspacePropertyNames to be set. Check reference below for property types.
TCMTeamspacePropertyValues - An array of values for the TCMTeamspacePropertyNames to be set. The values should be presented as Strings and will be converted to CE property values using the TCMTeamspacePropertyTypes.
TCMAppId - TCM Application ID used to determine the web application used by the teamspace. It must match an application ID in the Application Configuration file. The ID should be specified depending on the application or language support desired.
Returns:
TCMTeamspaceRef A VWAttachment specifying a reference to the created Teamspace.
Throws:
java.lang.Exception -  
See Also:
Property

createTeamspaceWithMembers

public filenet.vw.api.VWAttachment createTeamspaceWithMembers(filenet.vw.api.VWAttachment TCMTeamspaceParentFolder,
                                                              java.lang.String TCMTeamspaceFolderClass,
                                                              java.lang.String TCMTeamspaceName,
                                                              filenet.vw.api.VWParticipant TCMTeamspaceOwner,
                                                              java.lang.String TCMOwnerRole,
                                                              java.lang.String TCMOwnerEmailAddress,
                                                              java.lang.String[] TCMTeamspacePropertyNames,
                                                              java.lang.String[] TCMTeamspacePropertyTypes,
                                                              java.lang.String[] TCMTeamspacePropertyValues,
                                                              java.lang.String TCMAppId,
                                                              filenet.vw.api.VWParticipant[] TCMNewMembers,
                                                              java.lang.Integer[] TCMMembersTypes,
                                                              java.lang.String[] TCMMembersRoles,
                                                              java.lang.String[] TCMMembersEmailAddresses)
                                                       throws java.lang.Exception
Creates a Collaboration Teamspace with members specified and returns the teamspace reference.

Parameters:
TCMTeamspaceParentFolder - A VWAttachment specifying the folder to create a teamspace in.
TCMTeamspaceFolderClass - CE Object Store Folder Class Name, if null then Collaboration.COLLABORATION_TEAMSPACE_CLASSNAME is used.
TCMTeamspaceName - The name to be given to the Teamspace created.
TCMTeamspaceOwner - The userID for the owner of the Teamspace.
TCMOwnerRole - The symbolic name of a Collaboration Store Access Level.
TCMOwnerEmailAddress - The Teamspace owner's email address to use for notifications. An exception is thrown if there is not one available in the Directory Services and one is not provided here. If the email is not valid then the owner will not get teamspace email notifications.
TCMTeamspacePropertyNames - An array of symbolic names of the CE properties to be set. The TCMTeamspacePropertyNames, TCMTeamspacePropertyTypes, and TCMTeamspacePropertyValues parameters must be synchronized arrays.
TCMTeamspacePropertyTypes - An array of WCM API property types for the TCMTeamspacePropertyNames to be set. Check reference below for property types.
TCMTeamspacePropertyValues - An array of values for the TCMTeamspacePropertyNames to be set. The values should be presented as Strings and will be converted to CE property values using the TCMTeamspacePropertyTypes.
TCMAppId - TCM Application ID used to determine the web application used by the teamspace. It must match an application ID in the Application Configuration file. The ID should be specified depending on the application or language support desired.
TCMNewMembers - A VWParticipant array of users to become teamspace members.
TCMMembersTypes - A Integer array of member types. See Member below for Member types. Array data must be in corresponding order with members.
TCMMembersRoles - A String array of symnames of member roles. Array data must be in corresponding order with members.
TCMMembersEmailAddresses - A String array of member's email addresses. Array data must be in corresponding order with members. If an email is not provided here then there must be an email address for the corresponding member in the P8 directory services. This can be a sparsely filled out array.
Returns:
TCMTeamspaceRef A VWAttachment specifying a reference to the created Teamspace.
Throws:
java.lang.Exception -  
See Also:
Property, Member

createTeamspaceFromTemplate

public filenet.vw.api.VWAttachment createTeamspaceFromTemplate(filenet.vw.api.VWAttachment TCMTeamspaceTemplate,
                                                               filenet.vw.api.VWAttachment TCMTeamspaceParentFolder,
                                                               java.lang.String TCMTeamspaceName,
                                                               filenet.vw.api.VWParticipant TCMTeamspaceOwner,
                                                               java.lang.String TCMOwnerRole,
                                                               java.lang.String TCMOwnerEmailAddress,
                                                               java.lang.String TCMAppId)
                                                        throws java.lang.Exception
Creates a Collaboration Teamspace From a Teamspace Template and returns the teamspace reference.

Parameters:
TCMTeamspaceTemplate - A Teamspace Template workflow attachment.
TCMTeamspaceParentFolder - A VWAttachment specifying the folder to create a teamspace in.
TCMTeamspaceName - The name to be given to the Teamspace created.
TCMTeamspaceOwner - The userID for the owner of the Teamspace.
TCMOwnerRole - The symbolic name of a Collaboration Store Role.
TCMOwnerEmailAddress - The Teamspace owner's email address to use for notifications. An exception is thrown if there is not one available in the Directory Services and one is not provided here. If the email is not valid then the owner will not get teamspace email notifications.
TCMAppId - TCM Application Id used to determine the web application used by the teamspace. It must match an application ID in the Application Configuration file. The ID should be specified depending on the application or language support desired.
Returns:
TCMTeamspaceRef A VWAttachment specifying a reference to the created Teamspace.
Throws:
java.lang.Exception -  

createTask

public filenet.vw.api.VWAttachment createTask(filenet.vw.api.VWAttachment TCMTeamspaceRef,
                                              java.lang.String TCMTaskName,
                                              filenet.vw.api.VWParticipant TCMTaskAssigner,
                                              filenet.vw.api.VWParticipant TCMTaskAssignee,
                                              boolean TCMWorkflowAwareFlag,
                                              java.util.Date TCMTaskDueDate,
                                              java.util.Date TCMTaskReminderDate,
                                              java.lang.Integer TCMTaskPriority,
                                              java.lang.String TCMTaskDescription,
                                              java.lang.String TCMWaitQueueName,
                                              java.lang.String TCMTaskStepWobNum,
                                              filenet.vw.api.VWAttachment[] TCMTaskAttachments,
                                              java.lang.String TCMTaskAttachmentsFieldName,
                                              java.lang.String TCMAppId)
                                       throws java.lang.Exception
Creates a Collaboration Task. The collaboration task could be a standard task (nothing to do with workflow) or it could be a workflow aware task creating a synchronized environment between the workflow and the collaboration task, where the workflow waits until the collaboration task is completed before continuing. Once a workflow aware collaboration task is marked complete the collaboration engine will try to re-dispatch the workflow. During this process if a problem occurs the engine command will be put into an Error state and the workflow step will still be waiting to be dispatched. Issues that could cause a problem are the step cannot be found on the wait queue, the attachmentFieldName is invalid or the dispatch fails.

Parameters:
TCMTeamspaceRef - A VWAttachment specifying the Teamspace for the task to be created in. Required.
TCMTaskName - The name to be given to the Task created. Required.
TCMTaskAssigner - Used as the creator and assigner of the Collaboration task. Required.
TCMTaskAssignee - User that the task is assigned to.
TCMWorkflowAwareFlag - Set to true if the workflow will wait for the collaboration task to complete. Required.
TCMTaskDueDate - Date and Time that the Collaboration task will be due.
TCMTaskReminderDate - Date and Time to be reminded about the Collaboration task.
TCMTaskPriority - Collaboration task priority level. Defaults to Task.TASKPRIORITY_NORMAL
TCMTaskDescription - Description for the task.
TCMWaitQueueName - Name of the wait queue where the workflow step will be held until the TCM task completes and dispatches the workflow step. Required if TCMWorkflowAwareFlag is true.
TCMTaskStepWobNum - Workflow Step's Work Object Number, used to find the workflow step to dispatch it. Required if TCMWorkflowAwareFlag is true.
TCMTaskAttachments - Array of VWAttachment objects representing attachments to be added to the collaboration task.
TCMTaskAttachmentsFieldName - Workflow field name for the TCMTaskAttachments array. If set it will be used to attempt to update a workflow aware task's collaboration relationships back to the workflow. If the field name is incorrect the Engine will put the completeTask command into an error state.
TCMAppId - TCM Application Id used to determine the web application used by the teamspace. It must match an application ID in the Application Configuration file. The ID should be specified depending on the application or language support desired.
Returns:
TCMTaskRef A String containing the Collaboration Task name.
Throws:
java.lang.Exception -  

getVWSession

protected static filenet.vw.api.VWSession getVWSession()
Retrieves and verifies a VWSession object from thread local storage Can log exception if unable to get the session.

verifyMemberTypesAndRoles

protected void verifyMemberTypesAndRoles(com.filenet.wcm.api.ObjectStore store,
                                         java.lang.Integer[] membersTypes,
                                         java.lang.String[] membersRoles,
                                         filenet.vw.api.VWParticipant[] members)
                                  throws java.lang.IllegalArgumentException
Verifies the types against allowed member types and roles against the TCM collaboration store.
Parameters:
store - An ObjectStore reference for the object store containing the collaboration store.
membersTypes - An Integer array of member types. See MemberInfo.
membersRoles - A String array of symnames of member roles.
members - A VWParticipant array of users.
Throws:
java.lang.IllegalArgumentException -  

dumpVWParticipant

protected java.lang.String dumpVWParticipant(filenet.vw.api.VWParticipant participant)
                                      throws filenet.vw.api.VWException

verifyVWParticipant

protected void verifyVWParticipant(filenet.vw.api.VWParticipant participant,
                                   java.lang.String paramName)
                            throws filenet.vw.api.VWException

getSecurityID

protected java.lang.String getSecurityID(com.filenet.wcm.api.ObjectStore store,
                                         filenet.vw.api.VWSession vwSession,
                                         filenet.vw.api.VWParticipant participant)
                                  throws UserNotFoundException
Get the security ID for the VWParticipant. The security ID format varies based on the directory services type.
Parameters:
store -  
vwSession -  
participant -  
Returns:
String or null.
Throws:
UserNotFoundException -  

Collaboration API Documentation

Copyright ?2002 - 2005 FileNet Corporation. All rights reserved.