946
edits
| Line 73: | Line 73: | ||
In order to simplify server requirements, we would limit ourselves to GET, PUT, and (optionally?) LOCK. GET and PUT are in HTTP 1.1, and LOCK is an optional WebDAV verb. | In order to simplify server requirements, we would limit ourselves to GET, PUT, and (optionally?) LOCK. GET and PUT are in HTTP 1.1, and LOCK is an optional WebDAV verb. | ||
Our specific needs will depend on which flavor of online backup we wish to implement (full dump vs deltas). In the full dump case, we'd only need PUT. For deltas we' | Our specific needs will depend on which flavor of online backup we wish to implement (full dump vs deltas). In the full dump case, we'd only need PUT. For deltas, we could do something like: | ||
* If the bookmarks file and the deltas file haven't changed: | |||
** GET the deltas file | |||
** Append latest changes, PUT new deltas file | |||
* Else: | |||
* PUT new bookmarks file, PUT empty deltas file | |||
Determining the latest changes requires some of the same things that sync needs. Either we must keep track of changes by logging them, or we need to keep a snapshot of the tree at the time of last sync and "diff" (e.g., see sync.js). | |||
'''UE''' | '''UE''' | ||
| Line 92: | Line 100: | ||
</pre> | </pre> | ||
By default it would be disabled. The user would click to enable online backup and select their preferred service. This idea depends on the 'registration hooks' discussed later. | By default it would be disabled. The user would click to enable online backup and select their preferred service. This idea depends on the 'registration hooks' discussed later. An even more bare-bones approach without registration hooks could look like: | ||
<pre> | <pre> | ||
edits