[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [bpel4people] BP-44: Discovering the operations available forthe task
[For the original issue, see the bottom of this email] PROPOSAL: 1) Introduce a new
operation called:
getTaskOperations(taskID). This operation returns
list of operations that are available
to the authorized user given the user's role and the state of the task. The response element
getTaskOperationsResponse contains the
set of elements whose name is the same as the operation. For example,
for a
task in Ready state: <getTaskOperationsResponse> <taskOperations> <claim/> <start/> <addComment/> <addAttachment/> <setPriority/> </taskOperations> </getTaskOperationsResponse> A task inbox/listing
application can use the existence of
these task operation elements to determine whether to render the
operation UI
buttons such as claim and start. Without this information, the inbox
application may have to implement its own logic on the client side to
determine
the available operations. 2) Include
<taskOperations/> element in tasks that are
returned in getMyTask operation (Sec 6.1.2). The proposed changes to
the task api wsdl and schemas are: <!-- taskOperations
port type in
ws-humantask-api.wsdl --> <wsdl:operation
name="getTaskOperations"> <wsdl:input
message="getTaskOperations" /> <wsdl:output
message="getTaskOperationsResponse" /> <wsdl:fault
name="illegalArgumentFault"
message="illegalArgumentFault" /> <wsdl:fault
name="illegalAccessFault"
message="illegalAccessFault" /> </wsdl:operation> <!-- messages in
ws-humantask-api.wsdl --> <wsdl:message
name="getTaskOperations"> <wsdl:part
name="getTaskOperations"
element="htdt:getTaskOperations" /> </wsdl:message> <wsdl:message
name="getTaskOperationsResponse"> <wsdl:part
name="getTaskOperationsResponse"
element="htdt:getTaskOperationsResponse"
/> </wsdl:message> <!-- htdt schema
ws-humantask-api-wsdl.xsd
(http://www.example.org/WS-HT/api/xsd) --> <xsd:element
name="getTaskOperations"> <xsd:complexType> <xsd:sequence> <xsd:element
name="identifier" type="xsd:anyURI" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element
name="getTaskOperationsResponse"> <xsd:complexType> <xsd:sequence>
<xsd:element ref="api:taskOperations" /> </xsd:sequence>
</xsd:complexType> </xsd:element> <!-- definiton of
taskOperations element in
ws-humantask-api.xsd (http://www.example.org/WS-HT/api) --> <xsd:complexType
name="tTaskOperation"/> <xsd:element
name="taskOperations"> <xsd:complexType> <xsd:all>
<xsd:element name="claim" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="start" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="stop" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="release" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="suspend" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="suspendUntil"
type="tns:tTaskOperation" minOccurs="0"/>
<xsd:element name="resume" type="tns:tTaskOperation"
minOccurs="0"/> <xsd:element
name="complete" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="remove" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="fail" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="setPriority"
type="tns:tTaskOperation" minOccurs="0"/>
<xsd:element name="addAttachment"
type="tns:tTaskOperation" minOccurs="0"/>
<xsd:element name="getAttachmentInfos"
type="tns:tTaskOperation" minOccurs="0"/>
<xsd:element name="getAttachments"
type="tns:tTaskOperation" minOccurs="0"/>
<xsd:element name="deleteAttachments"
type="tns:tTaskOperation" minOccurs="0"/>
<xsd:element name="addComment" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="getComments"
type="tns:tTaskOperation" minOccurs="0"/>
<xsd:element name="skip" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="forward" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="delegate" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="getRendering"
type="tns:tTaskOperation" minOccurs="0"/>
<xsd:element name="getRenderingTypes"
type="tns:tTaskOperation" minOccurs="0"/>
<xsd:element name="getTaskInfo" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="getTaskDescription"
type="tns:tTaskOperation" minOccurs="0"/>
<xsd:element name="setOutput" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="deleteOutput" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="setFault" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="deleteFault"
type="tns:tTaskOperation" minOccurs="0"/>
<xsd:element name="getInput" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="getOutput" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="getFault" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="activate" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="nominate" type="tns:tTaskOperation"
minOccurs="0"/>
<xsd:element name="setGenericHumanRole"
type="tns:tTaskOperation" minOccurs="0"/> </xsd:all>
</xsd:complexType> </xsd:element> <!-- Changes to tTask
complex type defined in
ws-humantask-api.xsd (http://www.example.org/WS-HT/api) The addition here is
the reference to the
taskOperations element defined towards the end of the sequence. --> <xsd:complexType
name="tTask"> <xsd:sequence> <xsd:element
name="id"
type="xsd:string" /> <xsd:element
name="taskType"
type="xsd:string" /> <xsd:element
name="name"
type="xsd:QName" /> <xsd:element
name="status"
type="tStatus" /> <xsd:element
name="priority"
type="xsd:nonNegativeInteger" minOccurs="0" /> <xsd:element
name="taskInitiator"
type="htd:tUser" minOccurs="0" /> <xsd:element
name="taskStakeholders"
type="htd:tOrganizationalEntity" minOccurs="0" /> <xsd:element
name="potentialOwners"
type="htd:tOrganizationalEntity" minOccurs="0" /> <xsd:element
name="businessAdministrators"
type="htd:tOrganizationalEntity" minOccurs="0" /> <xsd:element
name="actualOwner"
type="htd:tUser" minOccurs="0" /> <xsd:element
name="notificationRecipients"
type="htd:tOrganizationalEntity" minOccurs="0" /> <xsd:element
name="createdOn"
type="xsd:dateTime" /> <xsd:element
name="createdBy"
type="xsd:string" minOccurs="0" /> <xsd:element
name="activationTime"
type="xsd:dateTime" minOccurs="0" /> <xsd:element
name="expirationTime"
type="xsd:dateTime" minOccurs="0" /> <xsd:element
name="isSkipable"
type="xsd:boolean" minOccurs="0" /> <xsd:element
name="hasPotentialOwners" type="xsd:boolean" minOccurs="0" /> <xsd:element
name="startByExists"
type="xsd:boolean" minOccurs="0" /> <xsd:element
name="completeByExists" type="xsd:boolean" minOccurs="0" /> <xsd:element
name="presentationName" type="tPresentationName" minOccurs="0" /> <xsd:element
name="presentationSubject"
type="tPresentationSubject" minOccurs="0" /> <xsd:element
name="renderingMethodExists" type="xsd:boolean" /> <xsd:element
name="hasOutput"
type="xsd:boolean" minOccurs="0" /> <xsd:element
name="hasFault"
type="xsd:boolean" minOccurs="0" /> <xsd:element
name="hasAttachments"
type="xsd:boolean" minOccurs="0" /> <xsd:element
name="hasComments"
type="xsd:boolean" minOccurs="0" /> <xsd:element
name="escalated"
type="xsd:boolean" minOccurs="0" /> <xsd:element
name="primarySearchBy"
type="xsd:string" minOccurs="0" /> <!-- New element
--> <xsd:element
ref="tns:taskOperations"
minOccurs="0" /> <xsd:any
namespace="##other"
processContents="lax" minOccurs="0"
maxOccurs="unbounded"
/> </xsd:sequence> </xsd:complexType> Luc Clement wrote: > > Assigned: http://www.osoa.org/jira/browse/BP-44 > > > > From: Michael Rowley [mailto:michael.rowley@activevos.com] > Sent: Wednesday, October 01, 2008 10:56 > To: bpel4people@lists.oasis-open.org > Subject: [bpel4people] NEW ISSUE: Discovering the operations available for the task > > > > > > TARGET: WS-HT > > > > DESCRIPTION: > > > > The operations that are available for a task varies depending on the state that the task is in and the role of the person who might do the operation. The task API should make it possible to ask which operations are currently available for a task for a specific user. > > > > PROPOSAL: > > > > None yet. |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]