Services/Sync/Developer/StorageFormat: Difference between revisions
(→Changes from v1 -> v2: wbo) |
|||
Line 8: | Line 8: | ||
== Changes from v1 -> v2 == | == Changes from v1 -> v2 == | ||
The client no longer stores and accesses the <tt>parentid</tt> and <tt>predecessorid</tt> fields in the WBO and instead stores them encrypted inside the Browser Object. Only bookmarks used these fields. | |||
== Version 1 == | == Version 1 == |
Revision as of 15:04, 30 March 2010
Under a user's /storage path, there's a set of well-known records and storage formats used by the Weave Sync add-on. This document describes those records and their formats, e.g., JS-object format of the JSON-string payload.
Weave Basic Object
All records from the server come back as a JSON string that represent a JS-object with some attributes. The whole object is described by the Sync Server API, but for a given client storage version, only a subset may be used.
Version 2
Changes from v1 -> v2
The client no longer stores and accesses the parentid and predecessorid fields in the WBO and instead stores them encrypted inside the Browser Object. Only bookmarks used these fields.
Version 1
Payload: Encrypted Data Object
Individual data engines, e.g., bookmarks, encrypt their Browser Objects payloads before packing it into the payload field of a Weave Basic Object. There is additional metadata about the encryption to help decrypt the BrowserObject payload.
Version 2
Changes from v1 -> v2
Version 1
Payload: meta/global
The payload of the meta/global record contains general metadata to describe data like versions and syncID.
Version 2
storageVersion int: syncID string: engines object:
Changes from v1 -> v2
Version 1
storageVersion string: syncID string:
Payload: keys/pubkey
Version 2
Changes from v1 -> v2
No changes.
Version 1
Payload: keys/privkey
Version 2
Changes from v1 -> v2
No changes.