[caldeveloper-l] Proposed draft: Caldav-scheduling-controls
Bron Gondwana
brong at fastmailteam.com
Thu Jun 7 02:29:40 PDT 2018
Please see attached a very early draft. I'd love feedback (particularly
from those of you at CalConnect right now) on:
* how to tell the client that the server support this? (server-
info?, OPTIONS?)* should this be two separate specs, or together?
* should values for "Scheduling" header be case significant?
Thanks!
Bron.
On Wed, Jun 6, 2018, at 14:37, Bron Gondwana wrote:
>
>
>
> On Wed, Jun 6, 2018, at 08:56, Helge Heß wrote:
>>> # Scheduling-Enabled header
>>
>> I wanted to have that thing for a looong time.
>>
>> I don’t like the header a lot, I’d prefer something like
>>
>> Scheduling: none / internal / all / X-??
>>
>> over
>>
>> Scheduling-Enabled: F
>
> I am happy with either. The default would be "all" of course in your
> example.>
>> I think the reason why people have been reluctant introducing that is
>> that if you have this header, you can’t reliably know anymore whether
>> something was scheduled or not (and a big motivation was that this
>> decision MUST be taken off the client, because unreliable).>
> This has always annoyed me that the client can't even be trusted to
> send a header, particularly since it could have been made compulsory.
> Anyway, water under a bridge. I much prefer explicitly requested side-
> effects over implicit side effects (aka:magic) as a protocol design
> philosophy.>
>> What I don’t remember is how bulk-upload deals with that
>> (https://github.com/evert/calendarserver-extensions/blob/master/calendarserver-bulk-change.txt)
>> . Is that implicitly off, does it explicitly support the
>> functionality?>>
>>
>>> # Schedule-Address header
>>
>> I don’t understand this one. CalDAV does support aliases in the address-
>> set. And when setting an attendee it is the clients choice which
>> address to use (either as the EMAIL attribute or the attendee URI).>
> What does your server do if two of the addresses in address set are
> invited? What do you do if the user has an alias *@example.com but
> there are some carve-out addresses which belong to somebody else?>
> Bron
>
>>
>> hh
>>
>>> On 6. Jun 2018, at 00:40, Bron Gondwana <brong at fastmailteam.com>
>>> wrote:>>>
>>> # Scheduling-Enabled header
>>>
>>> RFC6638 Section 8.1 defines the Schedule-Reply header to suppress
>>> server-sent scheduling messages when removing a resource (e.g. when
>>> cleaning up spam), however there are other situations in which a
>>> client may wish to update the resource stored on a server without
>>> sending scheduling resources, for example:>>>
>>> * Migrating an existing calendar from one server to another (e.g.
>>> changing providers)>>> * Restoring a calendar from backup after data loss
>>> * keeping a synchronised copy of another calendar for backup,
>>> caching or aggregation purposes>>>
>>> Setting schedule-agent to CLIENT is not a good solution, because
>>> other clients will continue to leave the value set to CLIENT and
>>> then scheduling won't work on that event.>>>
>>> So - I propose replacing and/or supplementing "Schedule-Reply: F"
>>> with another header - "Scheduling-Enabled: F" which suppresses all
>>> scheduling actions on the server, and stores the resource as-is.
>>> This is an HTTP header on the PUT action, and the resource can then
>>> be interacted with normally by clients.>>>
>>> # Schedule-Address header
>>>
>>> Email has the concept of aliases, however CalDAV does not. When
>>> storing or updating a resource, the server calculates which of the
>>> ORGANIZER or ATTENDEE properties refers to the acting user by
>>> looking at the calendar-user-address property on the calendar, or by
>>> the username of the authenticated user. This header provides a way
>>> for the client to tell the server "this is the address I am acting
>>> as", overriding those hints.>>>
>>> ====
>>>
>>> With these two headers, it's possible to use CalDAV for all
>>> interactions with the server, without needing a separate protocol
>>> for backup restore or for injecting iMIP messages sent to aliases.
>>> I assume I'd also need a way to define in some server info on the
>>> server that these headers were supported - so I'd love suggestions
>>> there.>>>
>>> I'm happy to write this up as an IETF draft and bring it to calext,
>>> particularly if there's general support of the idea. I'm happy to
>>> consider new names for the headers as well - it's pretty easy to
>>> change on our server and client code at FastMail. Both these
>>> headers are implemented and in production on our systems.>>>
>>> ====
>>>
>>> Cheers,
>>>
>>> Bron.
>>>
>>> --
>>> Bron Gondwana, CEO, FastMail Pty Ltd
>>> brong at fastmailteam.com
>>>
>>>
>>> _________________________________________________
>>> caldeveloper-l mailing list
>>> caldeveloper-l at lists.calconnect.org
>>> http://lists.calconnect.org/listinfo.cgi/caldeveloper-l-calconnect.org>>
>> Email had 1 attachment:
>> * signature.asc 1k (application/pgp-signature)>
> --
> Bron Gondwana, CEO, FastMail Pty Ltd
> brong at fastmailteam.com
>
> _________________________________________________
> caldeveloper-l mailing list
> caldeveloper-l at lists.calconnect.org
> http://lists.calconnect.org/listinfo.cgi/caldeveloper-l-calconnect.org
--
Bron Gondwana, CEO, FastMail Pty Ltd
brong at fastmailteam.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.calconnect.org/pipermail/caldeveloper-l-calconnect.org/attachments/20180607/fdef936e/attachment-0001.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: draft-gondwana-caldav-scheduling-controls.txt
URL: <http://lists.calconnect.org/pipermail/caldeveloper-l-calconnect.org/attachments/20180607/fdef936e/attachment-0001.txt>
More information about the caldeveloper-l
mailing list