2.3.1.23 EditorsTableSubRequestDataType

The EditorsTableSubRequestDataType complex type contains information about data or input parameters used in processing an editors table subrequest. The ClientID attribute and the EditorsTableRequestType attribute specified in the EditorsTableSubRequestDataOptionalAttributes attribute group MUST both be specified for an editors table subrequest. ClientID and EditorsTableRequestType are specified as part of the SubRequestData element associated with an editors table SubRequest element. EditorsTableSubRequestDataOptionalAttributes is defined in section 2.3.3.7. If the specified attributes are not provided, an "InvalidArgument" error code MUST be returned as part of the SubResponseData element associated with the editors table subresponse.

 <xs:complexType name="EditorsTableSubRequestDataType" mixed="true">
     <xs:attributeGroup ref="tns:EditorsTableSubRequestDataOptionalAttributes"/>
     <xs:attribute name="ClientID" type="xs:string" use="required"/>
     <xs:attribute name="AsEditor" type="xs:boolean" use="optional" />
     <xs:attribute name="Timeout" type="xs:integer" use="optional" />
     <xs:attribute name="Key" type="xs:string" use="optional" />
     <xs:attribute name="Value" type="xs:base64Binary" use="optional" />
 </xs:complexType>

EditorsTableSubRequestDataOptionalAttributes: An attribute group that specifies the set of attributes that are provided only for a SubRequestData element whose parent SubRequest element’s Type attribute is set to "EditorsTable". EditorsTableSubRequestDataOptionalAttributes is defined in section 2.3.3.7.

ClientID: A string that serves to uniquely identify each client that has access to an editors table on a coauthorable file. ClientID MUST be specified on all types of editors table subrequests. The different types of editors table subrequest are defined in section 2.3.3.7.

AsEditor: A Boolean value that specifies to the server whether the protocol client is opening the document as an editor or as a reader. The server MUST NOT allow a user with read-only access to join the editing session as a reader. The AsEditor attribute MUST be specified in all of the following types of editors table subrequests:

  • Join editing session

  • Refresh editing session

The types of editors table subrequests are defined in section 2.3.3.7.

Timeout: An integer that specifies the time, in seconds, after which the editors table entry for that particular file will expire for that specific protocol client. The Timeout attribute MUST be set to a value ranging from 3,600 to 120,000. When the Timeout is set to a value ranging from 60 to 3600, the server also returns success but sets the Timeout to an implementation-specific default value. When more than one client is editing the file, the protocol server MUST maintain a separate timeout value for each client. The client’s timeout on an editors table entry for a file is refreshed by sending an editors table subrequest of type "Refresh editing session". The Timeout attribute MUST be specified in all of the following types of editors table subrequests:

  • Join editing session

  • Refresh editing session

The types of editors table subrequests are defined in section 2.3.3.7.

Key: A string that specifies a unique key in an arbitrary key/value pair of the protocol client’s choice, the length for Key is limited to 64 bytes and at most 4 key/value pairs can be associated with a given editor. The server stores this key/value pair for that particular file for that specific protocol client. These pairs are visible to other clients editing or reading the same document. The Key attribute MUST be specified in all of the following types of editors table subrequests:

  • Update Editor Metadata

  • Remove Editor Metadata

The types of editors table subrequests are defined in section 2.3.3.7.

Value: A binary value that is associated with a key in an arbitrary key/value pair of the client’s choice. The length for Value is limited to 1024 bytes. The server stores this key/value pair for that particular file for that specific protocol client. These pairs are visible to other clients editing or reading the same document. The text of the SubRequestData element MUST be specified in an EditorsTable (section 3.1.4.8) subrequest type of "Update Editor Metadata". This text is base64 binary encoded data and indicates the value of the Value attribute.

The types of EditorsTable subrequests are defined in section 2.3.3.7.