= Meta Data Formats in Shared Records = Shared Records supports three formats for uploading and retrieving meta data: [wiki:MetaDataXml Xml], [wiki:MetaDataJson Json], and [wiki:MetaDataS3 Amazon S3-style] headers. The Xml format is meant to provide general usage, the Json format has been designed to integrate with [http://www.tiddlywiki.com/ TiddlyWiki], and the S3 format is meant to mirror the API's provided by [http://aws.amazon.com/s3 Amazon's Simple Storage Service]. == Tags == The following table describes each of the tags related to metadata entries. Some originate with the user when an entry is submitted. Others are defined by the server when the entry is received and stored. When submitting metadata, only the user originated tags should be used. {{{ #!textile table(modern). |_. Name |_. Description |_. Origin |_. Required? | (even). |Associated Record UID| Record ID to which the metadata is attached. | User | Yes | (odd). |Title| Short descriptive text about the metadata entry. | User | Yes | (even). | User ID| Text identifier for the metadata "author". | User | No | (odd). |Content Type| "MIME-type":http://www.iana.org/assignments/media-types/ of the supplied data. | User | No | (even). |Previous Metadata Entry| Reference to the previous metadata entry. | Server | Yes | (odd). |Tags| Keywords used to label the entry. | User | No | (even). |Timestamp (Server Defined)| Creation date of the entry. | Server | Yes | (odd). |Timestamp (User Defined)| Arbitrary timestamp | User | No | (even). |Sequence Number| Ordinal position of entry. | Server | Yes | (even). |Rolling Checksum | Checksum used to validate the entries. | Server | Yes | (odd). |Body / Data[1]| The actual data of the entry. | User | Yes | fn1. The body of the meta data is returned as a Base64 encoded string in the Xml and Json formats. It is passed as raw bytes in the body of http request/response in the S3 scheme. }}} == Mapping == Metadata submitted with any of the supported formats can be retrieved with any other format. The following table provides a cross-format reference for the tags. {{{ #!textile table(modern). |_. Name / Description |_. XML Tag |_. JSON Tag |_. S3 Tag/Header | (even). | Associated Record UID|RecordUID|sharedRecords.recordUID|x-amz-meta-record-uid| (odd). | Title|Title|title|x-amz-meta-title| (even). | User ID|UserID|modifier|x-amz-meta-user-id| (odd). |Content Type|ContentType|contentType|Content-Type| (even). |File Name (Checkpoint ID)|MetaDataFileName|fileName|x-amz-meta-data-file-name| (odd). |Previous Metadata Entry|PreviousEntryFileName|previousEntry|x-amz-meta-prev-entry| (even). |Deleted|Deleted|deleted|x-amz-meta-deleted| (odd). |Tags|Tags->Tag|tags (JSON Array)|x-amz-meta-tags| (even). |Timestamp (Server Defined)|TimeStamp|serverTimeStamp|x-amz-meta-server-time-stamp| (odd). |Timestamp (User Defined)|UserTimeStamp|modified|x-amz-meta-user-time-stamp| (even). |Sequence Number|SequenceNumber|sharedRecords.sequenceNumber|x-amz-meta-seq-num| (odd). |Signature|Signature|signature|x-amz-meta-signature| (even). |Rolling Checksum (Server Defined)|RollingChecksum | | | (odd). |Body / Data |Data|text|[body]| }}}