[#3965] Track the Organizer of events
Summary Track the Organizer of events
Queue Kronolith
Queue Version Git master
Type Enhancement
State Resolved
Priority 2. Medium
Owners Horde Developers, mrubinsk@horde.org, lang@b1-systems.de
Requester manoli.cano@upcnet.es
Created 2006-05-22 (5161 days ago)
Due 02/14/2015 (1971 days ago)
Updated 2019-07-16 (358 days ago)
Assigned
Resolved 2015-12-18 (1664 days ago)
Milestone
Patch No

Comments
manoli.cano@upcnet.es 2006-05-22 12:58:25
The field owner are set to 'me'  when, in my calendar I display events 
not created by my.  I can't see who created the event, so, if I want 
to send a mail or contact whit the real owner I can't because I don't 
remember who vas him.

Thanks in advance.

Chuck Hagenbuch <chuck@horde.org> 2006-05-22 15:44:29
If I understand correctly, you want the event owner to be displayed in 
the event details screen?

manoli.cano@upcnet.es 2006-05-23 07:52:11
Yes, I want to see the real owner in the detail of the event (events 
not created by my). Now, the owner are 'me' .

Chuck Hagenbuch <chuck@horde.org> 2006-05-23 15:48:01
I can't reproduce this. Furthermore the only place I see "me" for my 
own events is in the tooltips on event summaries. The event details 
page always has the full name.

manoli.cano@upcnet.es 2006-05-24 07:10:52
Hello, I try to explain me better: the problem happends when I display 
a event not created by my in my calendar, then, the owner is my name 
(Manoli Cano) not the real person that creates the event. So, If I 
want to say anything to him I can't because I don't know who invites 
me to the meeting.

I hope this clarify you the problem.



Thanks in advance.

Jan Schneider <jan@horde.org> 2006-05-24 09:31:27
I can't reproduce this either. Are you sure the other user is not 
delegating an event to you?

manoli.cano@upcnet.es 2006-05-24 11:59:00
Hello, I attach you a screen with the display of an event (not created 
by me) from my calendar.

I don't know how delegate and event. Where I can do it? or where I can 
find information about this issue?.



Thanks in advance.

Chuck Hagenbuch <chuck@horde.org> 2006-05-24 13:59:10
That's not a screenshot...



Event delegation is when you create an event _as_ someone else. Is the 
event in question on your calendar, or on a shared calendar?

manoli.cano@upcnet.es 2006-05-25 08:47:57
Sorry, I attach you now the screenshot.

The events are created in my calendar, not in a shared calendar. Two 
other people have permission to 'show' and 'read' my calendar, but the 
problem appears when anyone invites me to a event and I accept it.



Thanks in advance

Chuck Hagenbuch <chuck@horde.org> 2006-05-26 03:33:14
AH. I understand now. The crucial piece of information was that the 
events were from iCal invitations, not from someone creating the event 
on a Kronolith shared calendar. Very important.

Michael Rubinsky <mrubinsk@horde.org> 2009-10-14 17:32:33
See also Ticket: 6269 for how this relates to syncing.

nino@promedia-sds.de 2014-10-10 23:29:57
I am also facing this bug. If I receive an invitation via an *.ics
file the organizer is not taken over/displayed in kronolith. E.g.
Lightning then assumes myself as organizer and this results in sending
myself a confirmation for an event organized by someone else. The
legit organizer however doesn't receive a confirmation.

Is there a fix planned?

Michael Rubinsky <mrubinsk@horde.org> 2014-10-11 18:47:21

> Is there a fix planned?

It's planned in so much as there is an open enhancement request for 
it. What we lack is developer time. If it's of great importance to 
you, you should consider sponsoring the development.

willem.verbruggen@anagky.be 2014-11-05 10:22:13
See ticket 13664 as it might be related.

geiger@b1-systems.de 2015-01-08 12:06:35
Seems to be related to #13790, too. Besides, I don't think that this 
is a low priority bug since it's kind of embarrassing when you'll make 
yourself the organizer of a event with many invitees just because of a 
bug. Every other attendee will then receive an email with another 
invitation to an already processed event:

(copy&paste from #13790)
HOW TO REPRODUCE:
1. Get an invitation to an appointment where your email is set as attendee.
2. Accept the invitation using Outlook or Lightning (not the links in
the email but the buttons above).
3. Save the event to a calendar which is synchronized using Horde Kronolith.
4. Send out confirmation email.
5. The initial organizer will receive two mails. Note that the
organizer now isn't the initial creator, it will be you.

EXPECTED BEHAVIOUR:
The event will be accepted and the organizer won't change.

CURRENT BEHAVIOUR:
The event will be recreated with you as the organizer.

"Ralf Lang (B1 Systems GmbH)" <lang@b1-systems.de> 2015-01-08 18:33:48
I think I will have a look into this, as use cases pile up where it's 
really annoying.
I'll do it as a pull request though because of the review workflow. 
I'm not sure how "core" I am these days.

Things to touch:

- Enhance db schema to include an organizer field
- Use the organizer field in Kronolith::sendItipNotification instead 
of the creator field
- Use the organizer field in Event::toiCalendar, Fall back to creator 
when no organizer value is present
- Use the organizer field in Event::fromiCalendar, leave blank if non set.
- Use the organizer field in Event::fromHash, leave blank if non set.
Open question: Set or don't set organizer field, if organizer is the 
current user?
- Use the organizer field in Event::toASAppointment, fall back to 
creator otherwise.

Open question: Do we need to handle this for Resources, app-generated 
content and Kolab as well?

lang@b1-systems.de 2015-01-10 10:19:29
https://github.com/horde/horde/pull/118

I have a solution which sort of works for my scenario:

Google calendar invites horde user, horde user accepts via 
thunderbird, thunderbird uses horde as caldav backend.

Previously, Horde dropped the ORGANIZER and used the CREATOR (the 
accepting user) as the ORGANIZER when re-exporting the event to Caldav 
-> thunderbird.
Also exports the ORGANIZER when exporting the event to ICS via 
Kronolith Dynamic UI.

SHOULD also work for ActiveSync, but I have not done much testing on this.

The ORGANIZER attribute is currently not exposed in toJSON and it's 
not displayed anywhere.

Please review.

ActiveSync users: Please test.

Michael Rubinsky <mrubinsk@horde.org> 2015-01-10 15:18:26
We should probably also add logic to prevent sending updates to any 
attendees when $organizer != $_creator while still allowing changes in 
acceptance status to be emailed back to the $organizer. Also, do we 
want to disallow any changes to an accepted invitation's details? For 
me, if we disallow sending updates/cancellations this is enough, but 
some calendar clients (especially on mobile) completely lock the event 
(other than deleting it completely) when the current user is not the 
organizer.

> ActiveSync users: Please test.

I'll take care of the testing, though obviously others feel free to 
test as well. I've already got a fairly large number of ready-to-go 
EAS testing setups :)

Once this is fully tested I can start looking at/testing turning on 
allowing access to shared calendars for ALL EAS clients and not just 
those that support multiple calendar collections.


lang@b1-systems.de 2015-01-10 17:21:55
> We should probably also add logic to prevent sending updates to any 
> attendees when $organizer != $_creator while still allowing changes 
> in acceptance status to be emailed back to the $organizer. Also, do 
> we want to disallow any changes to an accepted invitation's details?

Yes, I think we still need to prevent mails to anybody but the organizer.
But how do other attendees notice that you have accepted the 
invitation? Is this the organizer's (tool's) task?

Google Calendar has two checkbox options to a) allow attendees to add 
new attendees and b) edit the event.
Don't know the mechanics behind this. Normally I would assume if I 
edit my local copy of an event, that these are my notes on the event 
and the changes should not be shared with everybody else.

> For me, if we disallow sending updates/cancellations this is enough, 
> but some calendar clients (especially on mobile) completely lock the 
> event (other than deleting it completely) when the current user is 
> not the organizer.

I think this is overkill. You should be able to at least edit the 
"description" part. If this is too tricky, locking might be an option.

>> ActiveSync users: Please test.
>
> I'll take care of the testing, though obviously others feel free to 
> test as well. I've already got a fairly large number of ready-to-go 
> EAS testing setups :)
>
> Once this is fully tested I can start looking at/testing turning on 
> allowing access to shared calendars for ALL EAS clients and not just 
> those that support multiple calendar collections.
>

I will add some code to Kronolith::sendITipNotifications to guard 
against mails to anybody but the organizer. Due by Sunday night.

Jan Schneider <jan@horde.org> 2015-01-12 11:54:52
> Open question: Set or don't set organizer field, if organizer is the 
> current user?
Depends. If this is an external event, set, because the current user 
may have different email addresses, and we should stick to the 
original one. Internally created events shouldn't set, as long as we 
don't have the option to pick an identity when creating an event.
> Open question: Do we need to handle this for Resources, 
> app-generated content and Kolab as well?
For Kolab definitely, and basically for any driver that has a backend 
that supports organizers.

And of course we need an UI for managing the organizer.

Jan Schneider <jan@horde.org> 2015-01-12 11:59:19
> Also, do we want to disallow any changes to an accepted invitation's details?

No, users should be able to customize accepted invitations.

> For me, if we disallow sending updates/cancellations this is enough
Agreed.

Jan Schneider <jan@horde.org> 2015-01-12 12:03:11
> But how do other attendees notice that you have accepted the 
> invitation? Is this the organizer's (tool's) task?

Yes, he can send event updates as he sees fit.

> Google Calendar has two checkbox options to a) allow attendees to 
> add new attendees and b) edit the event.
> Don't know the mechanics behind this. Normally I would assume if I 
> edit my local copy of an event, that these are my notes on the event 
> and the changes should not be shared with everybody else.

Agreed.

"Ralf Lang (B1 Systems GmbH)" <lang@b1-systems.de> 2015-01-18 18:29:45
Editing an event with an external organizer now does not send Itip Requests.

When you choose to send Itips, you actually send Itip Reply messages 
regarding your attendance. You can change your attendance through a 
new dropdown only shown when organizer is not creator.

"Ralf Lang (B1 Systems GmbH)" <lang@b1-systems.de> 2015-02-26 07:33:17
> Editing an event with an external organizer now does not send Itip Requests.
>
> When you choose to send Itips, you actually send Itip Reply messages 
> regarding your attendance. You can change your attendance through a 
> new dropdown only shown when organizer is not creator.

Hi Jan, as far as I can tell the PR is ready. From Friday on, I will 
be out of office for 3 weeks. Shall I wrap all the stuff into a 
consolidated 1-commit PR for review or would you like to review the PR 
as-is?

I'd like to make any final changes by end of march so the feature can 
be merged into the master branch.
Are there any written-down CODING_STANDARDS regarding the javascript 
side of things? I tried to follow existing code as close as possible.

Michael Rubinsky <mrubinsk@horde.org> 2015-02-27 18:50:13

> Hi Jan, as far as I can tell the PR is ready. From Friday on, I will 
> be out of office for 3 weeks. Shall I wrap all the stuff into a 
> consolidated 1-commit PR for review or would you like to review the 
> PR as-is?

Wrapping it up into a single commit would be great, at least for me.

> I'd like to make any final changes by end of march so the feature 
> can be merged into the master branch.
> Are there any written-down CODING_STANDARDS regarding the javascript 
> side of things? I tried to follow existing code as close as possible.

I don't think we have ever formalized a specific js standards.

kevin@kevin-online.com 2015-07-03 11:56:46
What is the status of this ticket? I think the related PR is 
https://github.com/horde/horde/pull/127 which has only few comments. 
The last comment however "What I'm still misssing from this patch is 
one of the key points of the original request: the attendees aren't 
imported if I save a copy of this event.". First I couldn't find this 
request in this ticket, secondly and most important, in the current 
stable version of kronolith, the attendees are stored when copying the 
event and also when importing it from an invitation in imp.

Why I ask: saving the attendees when adding an event from imp seems to 
have been added within the last year. What seems to be an improvement 
on the first glance, leads to a lot of trouble: accepting an event 
makes me owner of that event. So if I change the event, I need to be 
careful not sending an update. Or worse, if the actual organizer of 
the event sends me an update on the event, and I accept that update, 
all other attendees will receive an email from me, as I was the 
organizer. Even worse, some colleagues use CalDAV with an external 
calendar tool: if they disable the event's notification, the CalDAV 
sync again leads to outgoing email notifications (no need to say, they 
already ask for alternatives to Horde).

I recently accepted events scheduled for next week, which have more 
than 40 attendees of different business partners. I don't dare to 
touch that event even a little. If something goes wrong and everybody 
receives an email, that for sure wont be a good advertisement for Horde.


Jan Schneider <jan@horde.org> 2015-12-10 16:05:48
https://github.com/horde/horde/pull/167 has a patch for adding 
organizers to events. Please try everyone if that patch works as 
advertised and doesn't break anything else. Any testing and feedback 
welcome. Please add your feedback to the pull request.

bjoernv@arcor.de 2015-12-12 22:11:28
> https://github.com/horde/horde/pull/167 has a patch for adding 
> organizers to events. Please try everyone if that patch works as 
> advertised and doesn't break anything else. Any testing and feedback 
> welcome. Please add your feedback to the pull request.

Does anyone already tested the patch in FRAMEWORK_5_2 branch. The 
patch shows some "Hunk #? FAILED at ???" messages, but it should not 
to be hard to fix the patch for FRAMEWORK_5_2.

After testing I may want to revert the patch. Is it enough to revert 
the patch and to remove event_organizer from table kronolith_events 
(from kronolith/migration/26_kronolith_remote_organizer.php)?

Michael Rubinsky <mrubinsk@horde.org> 2015-12-13 04:28:01

> Does anyone already tested the patch in FRAMEWORK_5_2 branch. The 
> patch shows some "Hunk #? FAILED at ???" messages, but it should not 
> to be hard to fix the patch for FRAMEWORK_5_2.

No. It won't be back-ported to FW_5_2.  Since this is new 
functionality, it won't be available in a stable release until Horde 6.

> After testing I may want to revert the patch. Is it enough to revert 
> the patch and to remove event_organizer from table kronolith_events 
> (from kronolith/migration/26_kronolith_remote_organizer.php)?

You should use the horde-db-migration script to migrate down to 25.

michael@brohl.net 2015-12-16 14:11:59
I won't classify this as new functionality, it's a serious bug and 
very annoying.
Customers already started to apply filter rules to sort out false event mails.

I would very much appreciate a bugfix / patch for the 5.2 Releases.

>
>> Does anyone already tested the patch in FRAMEWORK_5_2 branch. The
>> patch shows some "Hunk #? FAILED at ???" messages, but it should not
>> to be hard to fix the patch for FRAMEWORK_5_2.
>
> No. It won't be back-ported to FW_5_2.  Since this is new 
> functionality, it won't be available in a stable release until Horde 
> 6.
>
>> After testing I may want to revert the patch. Is it enough to revert
>> the patch and to remove event_organizer from table kronolith_events
>> (from kronolith/migration/26_kronolith_remote_organizer.php)?
>
> You should use the horde-db-migration script to migrate down to 25.


Michael Rubinsky <mrubinsk@horde.org> 2015-12-18 21:24:14
I made changes/fixes to the PR and merged into master. Testing still 
welcome, though this seems to function well. Tested with meeting 
requests from both external and local users using dynamic interface 
and using ActiveSync. Could still use testing for the DAV 
functionality, but it looks pretty straightforward.

Also, some minor changes to ActiveSync code to fix handling of the 
response type values was done.

michael@brohl.net 2016-02-09 00:01:20
Hi,

any plans when this is going to be released? This bugfix is much appreciated.

Thanks and regards,

Michael


> I made changes/fixes to the PR and merged into master. Testing still 
> welcome, though this seems to function well. Tested with meeting 
> requests from both external and local users using dynamic interface 
> and using ActiveSync. Could still use testing for the DAV 
> functionality, but it looks pretty straightforward.
>
> Also, some minor changes to ActiveSync code to fix handling of the 
> response type values was done.


Michael Rubinsky <mrubinsk@horde.org> 2016-02-09 03:21:24
> Hi,
>
> any plans when this is going to be released? This bugfix is much appreciated.

It will be released with the next major release cycle - Horde 6. No 
set release date yet, but hopefully this year.



michael@brohl.net 2016-02-09 07:52:05
>> Hi,
>>
>> any plans when this is going to be released? This bugfix is much 
>> appreciated.
>
> It will be released with the next major release cycle - Horde 6. No 
> set release date yet, but hopefully this year.

Thank you for the information. Is there any chance to get this in the 
5.x releases or would it be possible for me to patch our current 
installation? It's a real pain with Horde taking over the ownership of 
foreign events.


Michael Rubinsky <mrubinsk@horde.org> 2016-02-09 14:47:22
>>> Hi,
>>>
>>> any plans when this is going to be released? This bugfix is much
>>> appreciated.
>>
>> It will be released with the next major release cycle - Horde 6. No
>> set release date yet, but hopefully this year.
>
> Thank you for the information. Is there any chance to get this in 
> the 5.x releases

Not officially, no.

  or would it be possible for me to patch our current
> installation?

You are, of course, free to attempt this yourself though there are a 
lot of other changes in master that you will need to cherry pick 
through. You will also run into issues with the database migrations 
when it's time to actually upgrade in the future.

> It's a real pain with Horde taking over the ownership of foreign events.

Agreed.


michael@brohl.net 2017-01-20 11:04:24
> It will be released with the next major release cycle - Horde 6. No 
> set release date yet, but hopefully this year.

How are the plans for a Horde 6 release?
The above was almost 1 year ago.

Thanks for your time,
Michael

michael@brohl.net 2017-02-09 19:40:28
>> It will be released with the next major release cycle - Horde 6. No
>> set release date yet, but hopefully this year.
>
> How are the plans for a Horde 6 release?
> The above was almost 1 year ago.
>
> Thanks for your time,
> Michael


michael@brohl.net 2017-02-09 19:42:04
Any plans to make this available?

Thanks and regards,
Michael


Michael Rubinsky <mrubinsk@horde.org> 2017-02-09 19:48:34
> Any plans to make this available?

It is already available via Git. It will be in the Horde 6 release.



michael@brohl.net 2017-02-09 19:53:58
>> Any plans to make this available?
>
> It is already available via Git. It will be in the Horde 6 release.

When will the Horde 6 release be available?

Michael Rubinsky <mrubinsk@horde.org> 2017-02-09 20:02:10
>>> Any plans to make this available?
>>
>> It is already available via Git. It will be in the Horde 6 release.
>
> When will the Horde 6 release be available?

We have no official release date yet, but are actively working on the 
issues that have been holding it up.


alberto.garciasola@seap.minhap.es 2017-03-31 10:05:02
But, is it good to install in our servers for production from source?

>>>> Any plans to make this available?
>>>
>>> It is already available via Git. It will be in the Horde 6 release.
>>
>> When will the Horde 6 release be available?
>
> We have no official release date yet, but are actively working on 
> the issues that have been holding it up.
>


albert.solana@upcnet.es 2017-04-06 11:53:06
We are awaiting the Horde 6 release with great interest, too.
Do you have some scheduled date to release it ?

The changing events owner kronolith bug is our main headache and new 
version solves it.

>>
>> When will the Horde 6 release be available?
>
> We have no official release date yet, but are actively working on 
> the issues that have been holding it up.
>


paco.orozco@upcnet.es 2017-08-01 15:59:28
Hiya,

As we've seen on H5 master CHANGES [1], this bug has been solved, but 
it has not been released yet. Have you thought about releasing this 
version soon? It would be very interesting for us to have the 
resolution of this bug in a stable version.

Thanks in advance!

[1] https://github.com/horde/horde/blob/master/kronolith/docs/CHANGES

Jan Schneider <jan@horde.org> 2017-08-01 16:10:18
This will of course be release, though not as H5 but as H6. Since this 
is a new major version and includes changes to both our development 
and release tools, we are not yet in the shape to make a release.

fabiojsousa@gmail.com 2019-07-05 10:11:53
Can I put this fix directly to my code? I have my entire company 
prevented from using the calendar activity...

> This will of course be release, though not as H5 but as H6. Since 
> this is a new major version and includes changes to both our 
> development and release tools, we are not yet in the shape to make a 
> release.


fabiojsousa@gmail.com 2019-07-16 14:34:47
Like I said on ticket 13664 I 've to leave the Horde Groupware Webmail 
Edition solution because
this problem :(

I've approximately 300 users and this bug cause some spam issues with
the invites duplication.