-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BLUE-BAR: handle changes suggested by the participants #1255
Comments
According to the specs, when the organizer receives a COUNTER event schedule, they can accept or reject (no maybe)
The forwarding of the ICS is already possible through some mailet chaining, see calendarEventReply.adoc. However, I can't tell if it will work or not. It looks like OpenPaas is treating |
@HoussemNasri using your Linagora account could you document the curl commends for doing so using CalDav? With that and a bit of Sabre impersonation we could have a JMAP method doing just that: accept counters |
ContextRescheduling events is automatically detected by the CalDAV server when it receives a On the TMail side, the event organizer receives an email containing the
Workflow: Rescheduling Events with CalDavInput: The ICS file received in the email containing the counter schedule. A blog post by atmail mentions using Step 1: Query OpenPaaS for User IdCommand: curl --user '{{email}}:{{password}}' -sD /dev/stderr -X GET -H "Content-Type: application/json" https://openpaas.linagora.com/api/user | python -m json.tool Step 2: Query all calendars accessible to the userInputs:
Output:
Example response: <d:response>
<d:href>/calendars/{{USER_ID}}/0b4e80d7-7337-458f-852d-7ae8d72a74b2 <!-- CALENDAR_ID -->
... Command: curl --user 'email:password' \
-s -X PROPFIND \
-H "Content-Type: application/xml" \
-H "Depth: infinity" \
-sD /dev/stderr https://dav.linagora.com:443/calendars/{{USER_ID}} | xmllint -format - Step 3: Query each calendar by VEVENT UUID of the COUNTER ICSInputs:
Example response: <d:response>
<d:href>/calendars/66e95872cf2c37001f0d2a09/0b4e80d7-7337-458f-852d-7ae8d72a74b2/sabredav-a9d8ac5e-deeb-4a71-9ee5-17bea30ddcc8.ics <!-- ICS_PATH_ON_SERVER -->
<d:propstat>
<d:prop>
...
</d:propstat>
</d:response> Command curl --user 'email:password' \
-sD /dev/stderr \
-X REPORT \
-H "Content-Type: application/xml" \
-H "Depth: 1" \
--data '<C:calendar-query xmlns:C="urn:ietf:params:xml:ns:caldav">
<D:prop xmlns:D="DAV:">
<D:getetag/>
<C:calendar-data/>
</D:prop>
<C:filter>
<C:comp-filter name="VCALENDAR">
<C:comp-filter name="VEVENT">
<C:prop-filter name="UID">
<C:text-match collation="i;octet">{{VEVENT_UUID}}</C:text-match>
</C:prop-filter>
</C:comp-filter>
</C:comp-filter>
</C:filter>
</C:calendar-query>' \
https://dav.linagora.com:443/calendars/{{USER_ID}}/{{CALENDAR_ID}} | xmllint -format -
Step 4: Update the ICS file on the server with the counter scheduleInput:
Once the ICS file is located, update it with the counter schedule using a PUT request. Assuming the counter schedule is stored locally as Command: curl -X PUT https://dav.linagora.com:443/calendars/{{ICS_PATH_ON_SERVER}} \
--user 'email:password' \
--header "Content-Type: text/calendar; charset=utf-8" \
--data-binary @counter_event.ics References |
Step 1: Query all calendars accessible to the user - HOW do we get the one interesting us? IMO let's query OpenPaas to get the user id then we can use Isn't it the best way to find the principal? Step 2: We need to account for one principal to have several calendars Is
okay? |
Please :
|
Description
Given Anne Sophie suggest changes to Benoit Event
And Benoit Opens the suggested changes
When Accepting Anne sophie proposal
Then the meeting is updated
Actual behavious
The event is rejected as we miss the REQUEST method
Expected behviour
(hoping that accepting the ICS and forwarding it to OpenPaaS is enough)
Accepting METHOD:COUNTER for CalendarEvent/accept ?
Related materials
meeting.ics.txt
mail.eml.txt
Definition of done
VERIFY FIRST THAT ACCEPTING the ICS is ENOUGH - Rogue deploy of a patched image onto imap.linagora.com to this end is acceptable: Receive a counter, accept it, and see if the event is correctly updated....
Then simply commit the changes and open a PR... (no integration test needed for cross product integration with OpenPaaS).
The text was updated successfully, but these errors were encountered: