Page MenuHomePhorge

Wrong message displayed, if user tries to delete an appointment on a shared calendar.
Closed, ResolvedPublic

Description

User1 is sharing his calendar with User2. As a substitute of User1, User2 has to cancel an appointment on the calendar of User1.
The appointment was created by User1 (organiser).

If User2 tries to delete the appointment, a confirmation dialog pop up with a wrong and confusing messages.

02_löschen.jpg (669×1 px, 123 KB)

"Changes will affect only the personal calendar and will not be forwarded to the organiser of the appointment."

But finaly the appointment will be removed from the calendar and even attendes will be informed. Everything is ok.

Our expecation is that no message (hint) will be displayed.

Details

Ticket Type
Task

Event Timeline

Is there delegation involved, i.e. User2 has addresses of User1 defined in his identities or the folder is just shared?

Confirmed. I see this message is used sometimes when moving/resizing/deleting an event. However, I'm not really convinced about usefulness of such a message. I don't see a code that would "copy" the event to personal calendar, so it does not make sense at all.

Either you have rights to modify the event and operation will be successful or you have no rights and you'll not be able to hit this action.

I'd just get rid of such a message. I'll consult this with the author of this code.

So, we have two issues here:

  1. In described case informing attendees (by sending iTip messages) should not happen. In other words, if user is not the organizer of the event, but has write access to the calendar folder he should be able to do anything with the event, but this action should not send any "updates" to attendees nor the organizer.

Well, this could happen, but only with calendar_allow_invite_shared=true, which is not the default. By default only organizer can send invitations/updates.

  1. The warning is not clear. The only intention of the warning is to make sure user is aware of the fact that no invitations/notification will be send to attendees/organizer. So, instead "Changes will affect only the personal calendar and will not be forwarded to the organiser of the appointment." should be maybe replaced with "Your changes will not be forwarded to the organiser nor attendees of the event."

What do you think?

I would suggest to consider sending out the notifications of the changes as user2, in that this is rendered quite dysfunctional practically, should no notifications be sent out at all.

However, this may be completely out of spec altogether, and could potentially go treated in a way that does not yield the desired result.

We also have to question why anybody would allow another user write access to a calendar (if not intending a sort of delegation scenario).

An alternative is to not allow user2 to modify any event in user1's calendar that requires third parties to receive a notification.

I'm not able to reproduce the notification issue. I.e. when I delete or move or edit such an event iTip notifications are not being send. Which would mean that the only problem really is misleading wording of the warning text.

Sending invitations for events organized by another user is described in "Spoofing the Organizer" section of RFC 5546 (https://tools.ietf.org/html/rfc5546#section-6.1.1). There's however no suggestion about how to handle this.

Ok, more testing. I see now where the problem is. I think I misunderstood the problem description as there was no word "delegation" ;)

If there's delegation involved I can confirm that the warning is still displayed. Which is wrong, but I noticed it does not happen if you first open the event dialog.

machniak claimed this task.

I was able to fix the issue on moving/resizing the event, but I wasn't able to reproduce the issue on event delete. I'm closing the ticket now. Please, reopen if the issue still exist after aplying my change.

Tested it with Rouundcube Plugins 3.2.15-4.1.el6.kolab_14.

Problem is still existing. I try to describe it again:

  1. UserA creates a new appointment on his calendar called "Termin1"
  2. UserA shares his calendar folder with UserB (full permissions).
  3. UserB subsribes the calendar folder of UserA
  4. UserB opens the calendar of UserA and opens "Termin1"
  5. UserB clicks on delete button
  6. UserB receives a popup window with the message that the changes affects only the the personal calendar and not the organizer of the appointment.

574.png (509×1 px, 37 KB)

So in this case UserA is also the organizer of the appointment.

Finaly the appointment will be removed from the calendar of the organiser and even attendes will be informed. So it works as expected.

Our expectation is that no message (hint) will be displayed because it is wrong and confusing for the user.

@Robert_Selk are you using delegation feature or simple ACL modification? Or in other words, does UserB have identities with UserA's addresses? I'm asking just to be sure I test the same scenario.

@machniak I am not using identities or delegation, it just a simple shared folder.

I didn't test yet, but then I think the described behaviour is not exactly as expected. I.e. if UserB is not the organizer I do not expect attendees (nor organizer) to be informed. We should not send cancellation emails with UserB's as a sender. Or maybe we should? That's problematic.

I think the intention of this warning was to not notify attendees and that maybe was the initial behaviour that broke in time. So, rather than removing the warning I would fix it by not sending cancellation emails in this case. I'll check what iTip standard says about this, but I don't expect to find anything there on this subject.

Actually RFC5546 specifies a special case of acting on behalf of an organizer. So, I suppose we could assume that having write rights to calendar is such a case. Can't we?

See 2.1.3, 3.2.2.5 and 6.1 of https://tools.ietf.org/html/rfc5546.

Thank you for the information. We will review it and dig a little deeper into this issue (shared folder vs. delegation).

Played around with Delegation and Shared Folder to test the behaviour of both functions.

Please see the results below:

Shared Folder:
UserA is the organizer, UserB has write permission on UserA calendar, UserC is attendee

UserB cancels the appointment on the calendar of UserA:

  • UserB receives the mentioned message
  • UserC receives an email from UserA that the appointment was canceled
  • UserA receives an emal from UserB that the appointment was canceled.
  • The mail UserA receives is different that the email of UserB, but at least the mail is completely translated.
  • The mail of UserC is not completely translated.

Mail to UserA (organizer):

Abgesagt:
Test4

Datum
17.11.2016 13:00 - 15:00

Status
Abgesagt

Der Termin auf den sich diese Nachricht bezieht, wurde in Ihrem Kalender nicht gefunden.

*Test4*

Wann: 17.11.2016 13:00 - 15:00 (Europe/Berlin)

Teilnehmer: Kontact Test1 <kontact.test1@muenchen.de>,
Abbas Unterrainer <abbas.unterrainer@muenchen.de>

Der Termin wurde von Abbas Guggi abgesagt.
Im Anhang finden Sie eine iCalendar-Datei mit den Termindaten.

Mail to UserC (attendee):

"Test4" wurde abgesagt

Der Termin 'Test4' am/um 2016-11-17 13:00 (CET) wurde von Kontact Test1 abgesagt. The copy in your calendar has been removed accordingly.

  • Dies ist eine automatisierte Nachricht. Bitte antworten Sie nicht. ***

Delegation:
UserA is the organizer, UserB is assigned as delegate of UserA, UserC is attendee

UserB cancels the appointment on the calendar of UserA:

  • UserB don´t receive the message anymore
  • UserC receives an email from UserA that the appointment was canceled
  • UserA don´t receive a mail that the appointment was canceled
  • The mail of UserC is not completely translated.

Mail to UserC (attendee):

Test6" wurde abgesagt

Der Termin 'Termin6' am/um 2016-11-17 16:00 (CET) wurde von Kontact Test1 abgesagt. The copy in your calendar has been removed accordingly.

  • Dies ist eine automatisierte Nachricht. Bitte antworten Sie nicht. ***

I think it would be the best solution to remove the warning message and to keep the cancellation mails. So finally we will get the same behaviour as for delegation. And please translate the missing part of the text.

Maybe the email sent to the organizer is not really needed, what do you think.

These "untranslated" messages come form wallace. We need to take care the solution works also for environments where invitation policy is not used at all or is used in various other modes.

@vanmeeuwen, So we have a case with no delegation, but with a shared folder where user (with write rights) deletes an event. Considering my comment here https://git.kolab.org/T1357#27566 and the next one, what would you propose? Note that we first have to solve this independently from what wallace does, i.e. define what iTip messages are sent and when, should we use SENT-BY field, etc. Then how wallace would handle that is another story.

Fixed in dfacbe01bca [master] and acc49b51fff [roundcubemail-plugins-kolab-3.2].