Closed at055612 closed 5 years ago
As per my issue
comment, could we not extend the object
that an Authorise
activity does to cover this scenario and the Reason
in ApproveRejectComplexType
be covered by the generic OutcomeComplexType
?
I still prefer my suggested modifications to the Authorise element by adding Accept, Approve, Reject,Other
to the Action and (Add|Remove)Groups would become (Add|Remove) but happy to bow to the herd.
Shouldn't it be Accept/Reject and not Approve/Reject?
In response to @burnalting, isn't the purpose of this change to accept/reject stuff in a more general sense, e.g. terms and conditions as well as authorise changes etc? The Authorise
action is purely about changing user permissions by adding/removing them from groups etc so I feel like it is better to have separate actions to describe this more general approval concept. Although in hindsight I do feel that the name Authorise
as an action is misleading and should perhaps have been Permissions
or ChangePermissions
. It may be better to have Approval
as a top level action and then Accept/Reject as inner action types, e.g. <Action>Accept</Action>
rather than creating two new top level actions, i.e. the purpose is for some sort of Approval to be granted but the user may have chosen to accept or reject that approval. I feel this might be more consistent with the other event detail elements in the schema.
OK. Happy with the concept.
We improve the Authorise
documentation to emphasise its utility with respect to permissions
or access attributes
.
We add an Approval
high level action to meet the concept of managing a contract
.
I have changed the schema, replacing Approve
/Reject
with Approval
. I have also beefed Approval up a bit with more child elements so you can record the person who requested the approval.
Regarding @stroomdev66's comment about approve vs accept. They have different meanings. User A (in their position of authority) may approve the action of user B, e.g. approving their document. User B may accept something presented to them, e.g. accepting a system use banner. I have therefore created action values of Approve
, Accept
, Reject
and Other
.
So, how does one request an approval activity? We indicate the Requestors in the Approval action, but what of the request. What would it look like?
We need to update/advise in documentation the Request/Approval (N person) pair as well as the standalone, I accept the Licence agreement.
There are potentially a number of use cases here:
We could add an Action of Request Approval
and add an Approvers
element that has <xs:element name="Approver" type="evt:UserComplexType" minOccurs="1" maxOccurs="unbounded">
. There is a risk that we are trying to shoehorn too much into one schema action.
We may be, but if we are going to make a change along these lines, I want to ensure we cover off on the initiation.
Added notion of a request for approval, the approvers and added examples in docs
Looks good to me. It also covers off on 2 person integrity events which may be found in Cross Domain activities.
Addresses #44