Closed Bug 871302 Opened 11 years ago Closed 6 years ago

Implement rfc 6578 (webdav sync) for servers who support it.

Categories

(Firefox OS Graveyard :: Gaia::Calendar, defect)

defect
Not set
normal

Tracking

(tracking-b2g:backlog)

RESOLVED WONTFIX
tracking-b2g backlog

People

(Reporter: jlal, Assigned: gaye)

References

Details

Presently we use a combination of ctag (has anything changed in this collection) and etag (has this item in the collection changed) properties... In the ctag case the bandwidth usage is very minimal. In the etag case we essentially request all events that occur between two dates (whenever you synced + the future right now).

We can continue to tweak the etag part but the best-in-class for synchronization is to support sync reports (http://tools.ietf.org/html/rfc6578).

So far I am only aware of google supporting this.
We can expect small performance gains and large bandwidth reductions for all servers who support this... Over the next year I expect more providers to roll out support.
blocking-b2g: --- → koi?
Summary: Implement support for rfc 6578 (webdav sync) for servers who support it. → Implement rfc 6578 (webdav sync) for servers who support it.
backlog, but not a priority.
blocking-b2g: koi? → -
Assignee: nobody → gaye
Target Milestone: --- → 2.0 S4 (20june)
I thought Google caldav only supported the specs described on https://developers.google.com/google-apps/calendar/caldav/v2/guide#specifications (ctag) but I also found this post from 2013 that says that Google implemented webdav-sync (https://blog.mozilla.org/calendar/2013/09/google-is-changing-the-location-url-of-their-caldav-calendars/).
Flags: needinfo?(jlal)
I was told in person that it should work by a google dev ... verify it by looking at what their server returns in the OPTIONS feature request.
Flags: needinfo?(jlal)
Sent an options to https://www.google.com/calendar/dav which is deprecated. Should give the newer https://apidata.googleusercontent.com/caldav/v2/{calid}/user a ping

allow →OPTIONS, PROPFIND
alternate-protocol →443:quic
cache-control →no-cache, no-store, max-age=0, must-revalidate
content-length →0
content-type →text/plain
date →Thu, 12 Jun 2014 14:21:20 GMT
dav →1, calendar-access, calendar-schedule, calendar-auto-schedule, calendar-proxy
expires →Fri, 01 Jan 1990 00:00:00 GMT
pragma →no-cache
server →GSE
status →200 OK
version →HTTP/1.1
x-content-type-options →nosniff
x-frame-options →SAMEORIGIN
x-xss-protection →1; mode=block

That being said, not entirely sure how we'd pull webdav sync support out of this. Webdav sync is afaict not implemented over an additional http method but just some additional semantics for doing a REPORT with a DAV:sync-collection xml element in the request body.
Target Milestone: 2.0 S4 (20june) → 2.0 S5 (4july)
Depends on: 1023527
So this is now implemented in https://github.com/gaye/dav, but we need to downstream that library into gaia so keeping open and blocking on 1023527.
Target Milestone: 2.0 S5 (4july) → 2.0 S6 (18july)
blocking-b2g: - → backlog
Target Milestone: 2.0 S6 (18july) → ---
blocking-b2g: backlog → ---
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.