2.2.3.30.1 FileUpload Payload

The /FileUpload/Payload element contains the payload specified as:

 <xs:schema xmlns:g="urn:groove.net" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:groove.net" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import/>
  <xs:element name="fragment">
  <xs:complexType>
   <xs:sequence>
   <xs:element ref="Event"/>
   </xs:sequence>
  </xs:complexType>
  </xs:element>
  <xs:element name="SE">
  <xs:complexType>
   <xs:sequence>
   <xs:element name="Auth">
    <xs:complexType>
    <xs:attribute name="MAC" type="xs:base64Binary" use="required"/>
    </xs:complexType>
   </xs:element>
   </xs:sequence>
  </xs:complexType>
  </xs:element>
 </xs:schema>

The referenced Event element is specified in the following schema:

 <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="urn:groove.net"/>
  <xs:element name="Event">
  <xs:complexType>
   <xs:sequence>
   <xs:element xmlns:g="urn:groove.net" ref="g:SE"/>
   <xs:element name="AuditElemUploadXlink" type="FileUploadXlinkType"/>
   </xs:sequence>
   <xs:attribute name="BackupFragmenetSize" type="xs:int" use="required"/>
   <xs:attribute name="BackupFragmentCount" type="xs:int" use="required"/>
   <xs:attribute name="BackupGUID" type="xs:string" use="required"/>
   <xs:attribute name="BackupIndexCount" type="xs:int" use="required"/>
   <xs:attribute name="BackupSize" type="xs:int" use="required"/>
   <xs:attribute name="BackupVersion" type="xs:int" use="required"/>
   <xs:attribute name="DomainGUID" type="xs:string" use="required"/>
   <xs:attribute name="GUID" type="xs:string" use="required"/>
   <xs:attribute name="GrooveVersion" type="xs:string" use="required"/>
   <xs:attribute name="IdentityURL" type="xs:string" use="required"/>
   <xs:attribute name="IsDeviceAccount" type="BooleanType" use="required"/>
   <xs:attribute name="UserDeviceGuid" type="xs:string" use="required"/>
   <xs:attribute name="UserDeviceName" type="xs:string" use="required"/>
   <xs:attribute name="_EA1" type="xs:base64Binary" use="required"/>
   <xs:attribute name="_EA2" type="xs:base64Binary" use="required"/>
   <xs:attribute name="_EventID" type="xs:int" use="required"/>
   <xs:attribute name="created" type="xs:int" use="required"/>
  </xs:complexType>
  </xs:element>
  <xs:complexType name="FileUploadXlinkType">
  <xs:attribute name="Compress" type="BooleanType" use="required"/>
  <xs:attribute name="CompressMethod" type="xs:string" use="required"/>
  <xs:attribute name="MakeDBRelative" type="xs:boolean" use="required"/>
  <xs:attribute name="RenameHref" type="xs:boolean" use="required"/>
  <xs:attribute name="actuate" type="xs:string" use="required"/>
  <xs:attribute name="deserialize" type="xs:string" use="required"/>
  <xs:attribute name="href" type="xs:string" use="required"/>
  <xs:attribute name="role" type="xs:string" use="required"/>
  <xs:attribute name="serialize" type="xs:string" use="required"/>
  <xs:attribute name="show" type="xs:string" use="required"/>
  <xs:attribute name="title" type="xs:string" use="required"/>
  <xs:attribute name="link" type="xs:string" use="required"/>
  </xs:complexType>
 </xs:schema>

The "g:SE" element is specified in the fragment element schema in this section. The SE element MUST be prefixed with "g:" where "g" stands for the namespace "xmlns:g="urn:groove.net".

The following table describes the payload XML elements and attributes:

XPath

Description

/fragment

Fragment element

/fragment/Event

Service event element

/fragment/Event/@BackupFragmentSize

Backup fragment size

/fragment/Event/@BackupFragmentCount

Backup fragment count

/fragment/Event/@BackupGUID

Backup GUID

/fragment/Event/@BackupIndexCount

Backup index count

/fragment/Event/@BackupSize

Backup size

/fragment/Event/@BackupVersion

Backup version, MUST be 3.

/fragment/Event/@DomainGuid

Domain GUID

/fragment/Event/@GUID

Account GUID

/fragment/Event/@GrooveVersion

Client version

/fragment/Event/@IdentityURL

Identity URL

/fragment/Event/@IsDeviceAccount

A Boolean value MUST be true for a device account

/fragment/Event/@UserDeviceGuid

Device GUID

/fragment/Event/@UserDeviceName

Client host name

/fragment/Event/@_EA1

Base64 encoded file token data

/fragment/Event/@_EA2

Base64 encoded file data

/fragment/Event/@_EventID

Event identifier

/fragment/Event/@created

Message creation timestamp

/fragment/Event/SE

SE element

/fragment/Event/SE/Enc

Encrypted data element

/fragment/Event/SE/Auth

Authentication data element

/fragment/Event/SE/Auth/@MAC

Message Authentication Code

/fragment/Event/AuditElemUploadXlink

Link to log entry element

/fragment/Event/AuditElemUploadXlink/@Compress

MUST be 0.

/fragment/Event/AuditElemUploadXlink/@CompressMethod

MUST be "ZLIB"

/fragment/Event/AuditElemUploadXlink/@MakeDBRelative

MUST be "true"

/fragment/Event/AuditElemUploadXlink/@RenameHref

MUST be "false"

/fragment/Event/AuditElemUploadXlink/@actuate

MUST be "user"

/fragment/Event/AuditElemUploadXlink/@deserialize

MUST be "ignore"

/fragment/Event/AuditElemUploadXlink/@href

MUST be the URL of the file.

/fragment/Event/AuditElemUploadXlink/@role

Reserved. MUST be set to ""

/fragment/Event/AuditElemUploadXlink/@serialize

MUST be "ignore"

/fragment/Event/AuditElemUploadXlink/@show

MUST be "replace"

/fragment/Event/AuditElemUploadXlink/@title

File name

/fragment/Event/AuditElemUploadXlink/@link

MUST be "simple"

The /fragment/Event/@_EA1 attribute contains data specified as:

 <xs:element name="TK">
  <xs:complexType>
  <xs:attribute name="_body" type="xs:base64Binary" use="required"/>
  <xs:attribute name="_iv" type="xs:base64Binary" use="required"/>
  <xs:attribute name="_key" type="xs:base64Binary" use="required"/>
  <xs:attribute name="_mac" type="xs:base64Binary" use="required"/>
  </xs:complexType>
 </xs:element>

The following table describes the attributes:

XPath

Description

/TK

Token element

/TK/@_body

Token data

/TK/@_iv

Initialization vector for the encryption and decryption

/TK/@_key

Encrypted key

/TK/@_mac

Message Authentication Code