3.1.4.3.6 Mark Transition to Complete

If the CoauthRequestType attribute is set to "MarkTransitionComplete", the protocol server considers this coauthoring subrequest to be of type, "Mark transition to complete". The protocol server deletes the transition request for the file using the TransitionID. The description of when the transition request is created for the file is specified in section 3.1.4.3.1.

A coauthoring subrequest of type "Mark transition to complete" is requested by a protocol client that first joined a coauthoring session or by a protocol client that has a coauthoring status of "Alone". The request is sent by the protocol client when it receives "false" from the protocol server as a response to the IsOnlyClient web service request. The IsOnlyClient web service request is as specified in [MS-SHDACCWS].

The following diagram specifies a sequence in which a coauthoring subrequest of type "Mark transition to complete" is sent by Client1 (C1). C1 is the first client that joined the coauthoring session to edit the file. Client2 (C2) is the second client sharing the lock and joining the coauthoring session.

Sequence of coauthoring subrequest types

Figure 3: Sequence of coauthoring subrequest types

The coauthoring subrequest of type, "Join coauthoring session" is defined in section 3.1.4.3.1. The IsOnlyClient web service request sent by the client is as specified in [MS-SHDACCWS].

The CoauthStatus attribute is not set by the server in the subresponse returned for this subrequest. The client MUST set its local coauthoring status to "Coauthoring"—if the ErrorCode attribute in the subresponse is set to "Success" to indicate the successful processing of this subrequest.

The protocol server returns an error code value set to "InvalidCoauthSession" to indicate failure if any of the following conditions is true:

  • There is no shared lock.<47>

  • There is no coauthoring session for the file.<48>

  • The current client is not present in the coauthoring session.

If any failure occurs such that the subrequest cannot be processed successfully, the protocol server returns an error. The error that the protocol server returns is implementation-specific. Errors that are directly returned by the protocol server are implementation-specific. LockAndCoauthRelatedErrorCodeTypes is defined in section 2.2.5.8, and generic error code types are defined in section 2.2.5.6. For other unknown error types, the protocol server returns an error code value set to "LockRequestFail".