Add operation “Convert ORGANIZER to CONTACT/ATTENDEE”
In the iCalendar/iTIP model one person (ORGANIZER) composes events data and sends them to other persons (e.g. ATTENDEES for METHOD:REQUEST, or just mail recipient for METHOD:PUBLISH). These distributed events always have an ORGANIZER. Having an event/task with ORGANIZER, that is not the recipient, means that the recipients can insert the event in their calendars, but cannot modify anyhow the event, for whatever reason.
For many people, the most convenient way to send an event to a person, is to use an online service to create the event and then just add the right ATTENDEE.
I have this workflow in mind:
Anybody creates events (iCalendar files) in whatever application, then these events are sent to a “distributor”. The distributor adds the events to a public calendar, and then all subscribers of the public calendars receive the events. Adding the “distributor” as ATTENDEE in any of the published events, will lead to confusion. On the other side, creating event in whatever online service is used, adding the distributor as attendee and submitting this way the event (invitation) to the distributor is very convenient submission mechanism, that many people can understand with ease. The role of the distributor in this case will be to remove itself as ATTENDEE from the event, and publish the event (do PUT over CalDAV to a calendar). Moreover, the distributor shall be able at the time of publishing and at any later time to modify the event, e.g. do grammatical corrections.
Two things come to my mind:
- to have an operation, that removes the attendee of the original invitation (the distributor), and converts the ORGANIZER to ATTENDEE, leaving the iCalendar object without ORGANIZER. This object is then editable. I have never seen this form, but I cannot think on any problems of it, apart that doing METHOD:PUBLISH on such events (with ATTENDEES without ORGANIZER) would be “illegal”.
- to have an operation, that strips the ATTENDEE and either converts from ORGANIZER (structured data) to CONTACT (unstructured data), or discards the ORGANIZER
Provided that the distributor uses Evolution, to manage the workflow, please add operations for a stored event and for an invitation, that is not yet in calendar (or just for stored events):
- remove ORGANIZER and ATTENDEEs
- remove the ATTENDEEs and convert the ORGANIZER to ATTENDEE or to CONTACT