Content
View differences
Updated by Mir Bhatia 5 months ago
**As a** project member invited to a meeting
**I want to** see all invitations to meetings in my personal calendar
**so that** I don't have to manually add them to my calendar.
**Acceptance criteria**
* The email sent out by OpenProject is structured in a way that it can be automatically processed by Open-Xchange. If the meeting has email updates activated, OpenProject should send email notifications for the following events:
* Added as participant
* Removed as participant
* Meeting has been deleted/cancelled
* Meeting has been rescheduled
* Meeting has been renamed (tbd)
* The emails can be automatically processed by the openDesk calendar.
**Out of scope**
* Meetings can only be scheduled in the web-frontend. It is not bi-directional sync from calendar clients (the invited user might only have read access to the meeting).
* Other calendar applications than OX 8.22
* Confirm/reject meetings in the personal calendars (separate work package).
**Current state**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Series</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>One-time</strong></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Meeting created</strong><br>(no notifications by default)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ (expected)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ (expected)</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>(First) Meeting opened</strong><br>##70109</p></td><td class="op-uc-table--cell"><p class="op-uc-p">✅ </p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ </p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Add participant</strong><br>E-Mail to the user being added</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Series - ✅ <br>Occurrence - ✅ </p></td><td class="op-uc-table--cell"><p class="op-uc-p">✅ </p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Remove participant</strong><br>##69744<br>E-Mail to the user being removed</p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ </p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ </p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Remove participant</strong><br>##70320<br>E-Mail participant</strong><br>E-Mail to all other users of the meeting</p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ (expected, tbd)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ (expected, tbd)</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Deleted/Cancelled</strong><br>Occurrence on date XYZ has been cancelled to all particpants<br>ICS entry with status=cancel</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Series - ✅ <br>Occurrence - ✅ </p></td><td class="op-uc-table--cell"><p class="op-uc-p">✅ </p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Re-opening</strong><br>##70113<br>Meeting occurrence was cancelled, you open it again<br>ICS entry with status=open (?)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌</p></td><td class="op-uc-table--cell"><p class="op-uc-p">does not exist</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Rescheduled</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Time - ✅ <br>Duration - ✅ <br>Schedule - ✅ </p></td><td class="op-uc-table--cell"><p class="op-uc-p">Time - ✅ <br>Duration - ✅ </p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Other details changed</strong><br>##70110</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Location - ✅ <br>Name - ✅ </p></td><td class="op-uc-table--cell"><p class="op-uc-p">Location - ✅ <br>Name - ❌ </p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Series ended</strong><br>##70111</p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ </p></td><td class="op-uc-table--cell"><p class="op-uc-p">does not exist</p></td></tr></tbody></table></figure>
**I want to** see all invitations to meetings in my personal calendar
**so that** I don't have to manually add them to my calendar.
**Acceptance criteria**
* The email sent out by OpenProject is structured in a way that it can be automatically processed by Open-Xchange. If the meeting has email updates activated, OpenProject should send email notifications for the following events:
* Added as participant
* Removed as participant
* Meeting has been deleted/cancelled
* Meeting has been rescheduled
* Meeting has been renamed (tbd)
* The emails can be automatically processed by the openDesk calendar.
**Out of scope**
* Meetings can only be scheduled in the web-frontend. It is not bi-directional sync from calendar clients (the invited user might only have read access to the meeting).
* Other calendar applications than OX 8.22
* Confirm/reject meetings in the personal calendars (separate work package).
**Current state**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Series</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>One-time</strong></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Meeting created</strong><br>(no notifications by default)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ (expected)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ (expected)</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>(First) Meeting opened</strong><br>##70109</p></td><td class="op-uc-table--cell"><p class="op-uc-p">✅ </p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ </p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Add participant</strong><br>E-Mail to the user being added</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Series - ✅ <br>Occurrence - ✅ </p></td><td class="op-uc-table--cell"><p class="op-uc-p">✅ </p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Remove participant</strong><br>##69744<br>E-Mail to the user being removed</p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ </p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ </p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Remove participant</strong><br>##70320<br>E-Mail