Services/Sync/Developer/StorageFormat: Difference between revisions

Line 7: Line 7:
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 [[Labs/Weave/API|Sync Server API]], but for a given client storage version, only a subset may be used.
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 [[Labs/Weave/API|Sync Server API]], but for a given client storage version, only a subset may be used.


== Version 2 and 3 ==
== Version 2 and 3 ==


The following describes the JS-object represented by the JSON-string record:
The following describes the JS-object represented by the JSON-string record:  


{| cellpadding=5
{| cellpadding="5"
! id
|-
| string
! id  
| string  
| Opaque identifying string for the record
| Opaque identifying string for the record
|-
|-
! modified
! modified  
| number
| number  
| Time when this record was last changed; set by the server
| Time when this record was last changed; set by the server
|-
|-
! sortindex
! sortindex  
| number
| number  
| Relative importance of this record
| Relative importance of this record
|-
|-
! payload
! payload  
| string
| string  
| String with data; usually a JSON-string
| String with data; usually a JSON-string
|}
|}


=== Changes from v1 -> v2 ===
=== Example  ===
 
<pre>
{"id":"{3ab32a23-822d-424c-a4b8-88da8cf93eb2}0",
"modified":1278109839.96,
"sortindex":140,
"payload":"{\"ciphertext\":\"e2zLWJYX\/iTw3WXQqffo00kuuut0Sk3G7erqXD8c65S5QfB85rqolFAU0r72GbbLkS7ZBpcpmAvX6LckEBBhQPyMt7lJzfwCUxIN\/uCTpwlf9MvioGX0d4uk3G8h1YZvrEs45hWngKKf7dTqOxaJ6kGp507A6AvCUVuT7jzG70fvTCIFyemV+Rn80rgzHHDlVy4FYti6tDkmhx8t6OMnH9o\/ax\/3B2cM+6J2Frj6Q83OEW\/QBC8Q6\/XHgtJJlFi6fKWrG+XtFxS2\/AazbkAMWgPfhZvIGVwkM2HeZtiuRLM=\",\"encryption\":\"..\/crypto\/bookmarks\",\"IV\":\"GluQHjEH65G0gPk\/d\/OGmg==\",\"hmac\":\"c550f20a784cab566f8b2223e546c3abbd52e2709e74e4e9902faad8611aa289\"}"}</pre>
 
=== Changes from v1 -&gt; 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.
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.
canmove, Confirmed users
725

edits