Hi,
Good afternoon,
We have installed Egroupware v.16.1.20161208, running on Ubuntu Server
16.04.While checking the calendar module we noticed one problem. We have a
php file which retrieves calendar events from a webpage and store them into
a ics file (Format is compliant and working perfectly with other
applications). This ics file stores events from the previous, the current
and the next month, which implies that every single event will be imported
repeteadly several times. We have tried scheduling this ics file import in
eGroupware using the GUI Wizard, and we found out that all those events are
being duplicated.
Taking a look at the records created on DDBB’s it seems that they’re created
with the same “cal_uid” and “caldav_name”, but with a different “cal_id”. We
understand that when importing an event from a ics file, it should check the
UID field and, in case it already exists on the DDBB, it should be ignored
(unless end /start time ie. has changed), please feel free to correct me if
i’m wrong. We’ve event tried to set “caldav_name” field as Unique, but it
only makes the insert fail and none entries are updated.
Recurrences share the UID with the master in CalDAV.
EGroupware database model stores recurrence-exceptions as own rows in
the database.
So in general it is ok to have multiple rows with the same UID, thought
there should be only one master (cal_reference=0) and
recurrence-exceptions should have a cal_reference of the masters cal_id.
I’m not sure our ics import checks the UID and the above logic, to
correctly update for multiple imports of identical events, like the
scenario you described above. I CC’ed Nathan who wrote that part, he
should be able to answer that.
Ralf
Could you please help me understand this behaviour and how to pass throught
it? If there’s any information that I can provide to help to identify it,
please let me know.
Thanks in advance!
Regards,
–
Ralf Becker
EGroupware GmbH [www.egroupware.org]
Handelsregister HRB Kaiserslautern 3587
Geschäftsführer Birgit und Ralf Becker
Leibnizstr. 17, 67663 Kaiserslautern, Germany
Telefon +49 631 31657-0