Meta Data Formats in Shared Records
Shared Records supports three formats for uploading and retrieving meta data: Xml, Json, and Amazon S3-style headers. The Xml format is meant to provide general usage, the Json format has been designed to integrate with TiddlyWiki, and the S3 format is meant to mirror the API's provided by 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.
| Name | Description | Origin | Required? |
|---|---|---|---|
| Associated Record UID | Record ID to which the metadata is attached. | User | Yes |
| Title | Short descriptive text about the metadata entry. | User | Yes |
| User ID | Text identifier for the metadata “author”. | User | No |
| Content Type | MIME-type of the supplied data. | User | No |
| Previous Metadata Entry | Reference to the previous metadata entry. | Server | Yes |
| Tags | Keywords used to label the entry. | User | No |
| Timestamp (Server Defined) | Creation date of the entry. | Server | Yes |
| Timestamp (User Defined) | Arbitrary timestamp | User | No |
| Sequence Number | Ordinal position of entry. | Server | Yes |
| Rolling Checksum | Checksum used to validate the entries. | Server | Yes |
| Body / Data1 | The actual data of the entry. | User | Yes |
1The 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.
| Name / Description | XML Tag | JSON Tag | S3 Tag/Header |
|---|---|---|---|
| Associated Record UID | RecordUID | sharedRecords.recordUID | x-amz-meta-record-uid |
| Title | Title | title | x-amz-meta-title |
| User ID | UserID | modifier | x-amz-meta-user-id |
| Content Type | ContentType | contentType | Content-Type |
| File Name (Checkpoint ID) | MetaDataFileName | fileName | x-amz-meta-data-file-name |
| Previous Metadata Entry | PreviousEntryFileName | previousEntry | x-amz-meta-prev-entry |
| Deleted | Deleted | deleted | x-amz-meta-deleted |
| Tags | Tags->Tag | tags (JSON Array) | x-amz-meta-tags |
| Timestamp (Server Defined) | TimeStamp | serverTimeStamp | x-amz-meta-server-time-stamp |
| Timestamp (User Defined) | UserTimeStamp | modified | x-amz-meta-user-time-stamp |
| Sequence Number | SequenceNumber | sharedRecords.sequenceNumber | x-amz-meta-seq-num |
| Signature | Signature | signature | x-amz-meta-signature |
| Rolling Checksum (Server Defined) | RollingChecksum | ||
| Body / Data | Data | text | [body] |
