eGW 1.8; Webinterface does not display events sync'd using CalDav

Hello everyone,

I have installed eGw 1.8 (community edition) to allow employees to sync their calendar’s from Thunderbird and Kontact. Using Cal- and GroupDav, that part is working fine.

However the events synchronized using CalDav to not show up in the WebInterface. Adding a new event using the Webinterface however creates a new entry in clients using CalDav to download the events.

Using cadaver I can list the http://server.domain/egroupware/groupdav.php/calendar directory and see the ical entries made by both the webinterface and the CalDav clients.

The obvious question: Why can’t I see the events entered using CalDav in the Webinterface?

Kind regards,

Crypto

Hello Again,

I have spent the last few hours researching this bug and found what caused it. I exported a visible event from eGroupware and created an identical with Kontact (save for the ID), then I started matching and reimporting them until eGroupware showed the event.

The problem of invisible events in eGroupware’s Webinterface is caused by the following line:
ATTENDEE;CN="";RSVP=FALSE;PARTSTAT=ACCEPTED; ROLE=REQ-PARTICIPANT:mailto:

Once the line is deleted from the VEVENT, it is shown in eGroupware. Kontact adds this line by default when creating a new event. When re-editing the event with Kontact the attendee is not shown, since it is assumed that I will attend my own event.

I suppose this is a fixable problem by editing the calendar.calendar_uiviews.php? Could someone please point me to the correct SQL-Query to modify?

Thanks,

crypto

Hi Chris,

if something is not display in the web interface, it could also be
caused by some filter in the UI. You might want to check that first.

Hello Again,

I have spent the last few hours researching this bug and found what
caused it. I exported a visible event from eGroupware and created an
identical with Kontact (save for the ID), then I started matching and
reimporting them until eGroupware showed the event.

The problem of invisible events in eGroupware’s Webinterface is caused
by the following line:
ATTENDEE;CN="";RSVP=FALSE;PARTSTAT=ACCEPTED;
ROLE=REQ-PARTICIPANT:mailto:

Have a look in the egw_cal table and identify the row containing your
new event (eg. by searching for the UID / cal_ui column).
Then post the rows from all egw_cal* tables with cal_id=

Once the line is deleted from the VEVENT, it is shown in eGroupware.
Kontact adds this line by default when creating a new event. When
re-editing the event with Kontact the attendee is not shown, since it is
assumed that I will attend my own event.

I suppose this is a fixable problem by editing the
calendar.calendar_uiviews.php? Could someone please point me to the
correct SQL-Query to modify?

All SQL is in calendar/inc/class.calendar_so.inc.php (so means storage
object).

Ralf

Ralf Becker
Director Software Development

Stylite GmbH
[open style of IT]

Morschheimer Strasse 15
67292 Kirchheimbolanden

fon +49 (0) 6352 70629-0
fax +49 (0) 6352 70629-30
mailto: rb@stylite.de

www.stylite.de
www.egroupware.org


Geschäftsführer Andre Keller, Ralf Becker
Registergericht Kaiserslautern HRB 30575
Umsatzsteuer-Id / VAT-Id: DE214280951


Enable your software for Intel® Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel® vPro ™ technology - will your software
be a part of the solution? Download the Intel® Manageability Checker
today! http://p.sf.net/sfu/intel-dev2devmar


eGroupWare-users mailing list
eGroupWare-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/egroupware-users

Hello everybody,
I can confirm this issue with kontact. If the event is created in
thunderbird-lightning it shows up. I also suspected the Identity
(kontact uses my standard email Identity) because it is different from
the egroupware identity…
I also hope this can be fixed!
Best regards,
Raphael

Hello Again,

I have spent the last few hours researching this bug and found what caused
it. I exported a visible event from eGroupware and created an identical with
Kontact (save for the ID), then I started matching and reimporting them
until eGroupware showed the event.

The problem of invisible events in eGroupware’s Webinterface is caused by
the following line:
ATTENDEE;CN="";RSVP=FALSE;PARTSTAT=ACCEPTED; ROLE=REQ-PARTICIPANT:mailto:

Once the line is deleted from the VEVENT, it is shown in eGroupware. Kontact
adds this line by default when creating a new event. When re-editing the
event with Kontact the attendee is not shown, since it is assumed that I
will attend my own event.

I suppose this is a fixable problem by editing the
calendar.calendar_uiviews.php? Could someone please point me to the correct
SQL-Query to modify?

Thanks,

crypto

–
View this message in context: http://egroupware.219119.n3.nabble.com/eGW-1-8-Webinterface-does-not-display-events-sync-d-using-CalDav-tp2723327p2723973.html
Sent from the egroupware-users mailing list archive at Nabble.com.


Enable your software for Intel® Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel® vPro ™ technology - will your software
be a part of the solution? Download the Intel® Manageability Checker
today! http://p.sf.net/sfu/intel-dev2devmar


eGroupWare-users mailing list
eGroupWare-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/egroupware-users

–
WINDnovation Engineering Solutions GmbH
Stralauer Platz 33-34
10243 Berlin
Germany
Phone: +49 30 547195 34
Fax: +49 30 547195 39
Managing directors:
Dr.-Ing. Roland Stoer, Dipl.-Ing. Albrecht Kantelberg
Registered at Amtsgericht Charlottenburg, HRB 110081 B

www.windnovation.com


Enable your software for Intel® Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel® vPro ™ technology - will your software
be a part of the solution? Download the Intel® Manageability Checker
today! http://p.sf.net/sfu/intel-dev2devmar


eGroupWare-users mailing list
eGroupWare-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/egroupware-users

Hello Mr. Becker,

the filters are set to “All categories” and “All, incl. rejected”, hence I don’t see how that might be the cause of the trouble. The KDE/Kontact events also don’t show up when I search for ‘*’ in the list view (all others do).

The affected row in the SQL Database is:

+--------+-----------------------+-----------+--------------+--------------+--------------+------------+
| cal_id | cal_uid               | cal_owner | cal_category | cal_modified | cal_priority | cal_public |
+--------+-----------------------+-----------+--------------+--------------+--------------+------------+
|    190 | libkcal-250455422.521 |        13 |              |   1300952412 |            2 |          1 |
+--------+-----------------------+-----------+--------------+--------------+--------------+------------+

+---------------------------------+-----------------+--------------+---------------+--------------+
| cal_title                       | cal_description | cal_location | cal_reference | cal_modifier |
+---------------------------------+-----------------+--------------+---------------+--------------+
| Kontact-only eGroupware testing | NULL            | NULL         |             0 |           13 |
+---------------------------------+-----------------+--------------+---------------+--------------+

+------------------+-------------+----------+-------------+-------------+----------------+-------+
| cal_non_blocking | cal_special | cal_etag | cal_creator | cal_created | cal_recurrence | tz_id |
+------------------+-------------+----------+-------------+-------------+----------------+-------+
|                0 |           0 |        0 |          13 |  1300952412 |              0 |   303 |
+------------------+-------------+----------+-------------+-------------+----------------+-------+

For comparison, here is a visible item:

+--------+-----------------------+-----------+--------------+--------------+--------------+------------+
| cal_id | cal_uid               | cal_owner | cal_category | cal_modified | cal_priority | cal_public |
+--------+-----------------------+-----------+--------------+--------------+--------------+------------+
|    189 | libkcal-904930660.705 |        13 |              |   1300950566 |            2 |          1 |
+--------+-----------------------+-----------+--------------+--------------+--------------+------------+

+---------------------------------+-----------------+--------------+---------------+--------------+
| cal_title                       | cal_description | cal_location | cal_reference | cal_modifier |
+---------------------------------+-----------------+--------------+---------------+--------------+
| eGroupWare Testing              | NULL            | NULL         |             0 |           13 |
+---------------------------------+-----------------+--------------+---------------+--------------+

+------------------+-------------+----------+-------------+-------------+----------------+-------+
| cal_non_blocking | cal_special | cal_etag | cal_creator | cal_created | cal_recurrence | tz_id |
+------------------+-------------+----------+-------------+-------------+----------------+-------+
|                0 |           0 |        0 |          13 |  1300950566 |              0 |   303 |
+------------------+-------------+----------+-------------+-------------+----------------+-------+

Except for the ID and the date these entries are identical. Yes the “Kontact-only eGroupware testing” is only visible to Kontact and Thunderbird/Lightning. The eGroupware Webinterface does not display the entry.

The only difference I can find is that Kontact adds the creator as ‘REQ-PARTICIPANT’, while Thunderbird adds him as ‘CHAIR’. The relevant entry is in egw_cal_users:

Event not showing in eGroupware Webinterface:
+--------+----------------+---------------+-------------+------------+--------------+-----------------+---------------------+
| cal_id | cal_recur_date | cal_user_type | cal_user_id | cal_status | cal_quantity | cal_role        | cal_user_modified   |
+--------+----------------+---------------+-------------+------------+--------------+-----------------+---------------------+
|    190 |              0 | u             | 3           | A          |            1 | REQ-PARTICIPANT | 2011-03-24 08:40:12 |
+--------+----------------+---------------+-------------+------------+--------------+-----------------+---------------------+
<raw>

<raw>
Event visible in eGroupware Webinterface:
+--------+----------------+---------------+-------------+------------+--------------+----------+---------------------+
| cal_id | cal_recur_date | cal_user_type | cal_user_id | cal_status | cal_quantity | cal_role | cal_user_modified   |
+--------+----------------+---------------+-------------+------------+--------------+----------+---------------------+
|    189 |              0 | u             | 13          | A          |            1 | CHAIR    | 2011-03-24 08:09:26 |
+--------+----------------+---------------+-------------+------------+--------------+----------+---------------------+

So I suppose that somewhere in class.calendar_so.inc.php there is a line searching for CHAIR only. Adding an ‘or REQ-PARTICIPANT’ would hopefully solve it perhaps?

EDIT: Simply setting the ‘REQ-PARTICIPANT’ to ‘CHAIR’ had no effect on the problem. The entry is still not visible in the webinterface.

Thank you for your assistance,

Chris

Hello again,

this is so obvious that I really should have noticed earlier (not enough coffee…):

+--------+----------------+---------------+-------------+------------+--------------+-----------------+---------------------+
| cal_id | cal_recur_date | cal_user_type | cal_user_id | cal_status | cal_quantity | cal_role        | cal_user_modified   |
+--------+----------------+---------------+-------------+------------+--------------+-----------------+---------------------+
|    190 |              0 | u             | 3           | A          |            1 | REQ-PARTICIPANT | 2011-03-24 08:40:12 |
+--------+----------------+---------------+-------------+------------+--------------+-----------------+---------------------+

Event visible in eGroupware Webinterface:
+--------+----------------+---------------+-------------+------------+--------------+----------+---------------------+
| cal_id | cal_recur_date | cal_user_type | cal_user_id | cal_status | cal_quantity | cal_role | cal_user_modified   |
+--------+----------------+---------------+-------------+------------+--------------+----------+---------------------+
|    189 |              0 | u             | 13          | A          |            1 | CHAIR    | 2011-03-24 08:09:26 |
+--------+----------------+---------------+-------------+------------+--------------+----------+---------------------+

The cal_user_id is different. 13 is my regular uid… I have no idea what 3 is and why my events get it assigned. Running ‘UPDATE egw_cal_user SET cal_user_id=13 WHERE cal_user_id=3;’ turns the problem around and fixes it - after that the events show up in Kontact, Thunderbird and eGroupware as they should.

This is not explicitly a Kontact issue - I had a colleague test it with his KDE setup and eGroupware set the cal_user_id (in his case 25) correctly.

However the question remains: Why does eGroupware turn my cal_user_id to 3? I tried clearing all cookies on my client, deleting tmp directory contents and reboot the server; just in case there was a faulty cookie related to the GroupDAV login. Nothing helped. I even tested it from another workstation: eGroupware keeps assigning my KDE/Kontact events cal_user_id 3 (instead of 13, which is my user id according to egw_accounts). The problem is definetely on the serverside.

Further more: Why would eGroupware correctly assign me cal_user_id 13 when I delete myself as attendee from the event prior to saving the calendar via GroupDAV?

Regards,

Chris

Hello again,

this is so obvious that I really should have noticed earlier (not enough
coffee…):

±-------±---------------±--------------±------------±-----------±-------------±----------------±--------------------+

cal_id | cal_recur_date | cal_user_type | cal_user_id | cal_status |
cal_quantity | cal_role | cal_user_modified |
±-------±---------------±--------------±------------±-----------±-------------±----------------±--------------------+
190 | 0 | u | 3 | A |
1 | REQ-PARTICIPANT | 2011-03-24 08:40:12 |
±-------±---------------±--------------±------------±-----------±-------------±----------------±--------------------+

Event visible in eGroupware Webinterface:
±-------±---------------±--------------±------------±-----------±-------------±---------±--------------------+

cal_id | cal_recur_date | cal_user_type | cal_user_id | cal_status |
cal_quantity | cal_role | cal_user_modified |
±-------±---------------±--------------±------------±-----------±-------------±---------±--------------------+
189 | 0 | u | 13 | A |
1 | CHAIR | 2011-03-24 08:09:26 |
±-------±---------------±--------------±------------±-----------±-------------±---------±--------------------+

The cal_user_id is different. 13 is my regular uid… I have no idea what 3
is and why my events get it assigned. Running ‘UPDATE egw_cal_user SET
cal_user_id=13 WHERE cal_user_id=3;’ turns the problem around and fixes it -
after that the events show up in Kontact, Thunderbird and eGroupware as they
should.

This is not explicitly a Kontact issue - I had a colleague test it with his
KDE setup and eGroupware set the cal_user_id (in his case 25) correctly.

However the question remains: Why does eGroupware turn my cal_user_id to 3?

That’s a question only you or database can answer!

Have a look if you have an other account with account_id=3 and probably
your EMail address.

Ralf

I tried clearing all cookies on my client, deleting tmp directory contents
and reboot the server; just in case there was a faulty cookie related to the
GroupDAV login. Nothing helped. I even tested it from another workstation:
eGroupware keeps assigning my KDE/Kontact events cal_user_id 3 (instead of
13, which is my user id according to egw_accounts). The problem is
definetely on the serverside.

Further more: Why would eGroupware correctly assign me cal_user_id 13 when I
delete myself as attendee from the event prior to saving the calendar via
GroupDAV?

Regards,

Chris

–
View this message in context: http://egroupware.219119.n3.nabble.com/eGW-1-8-Webinterface-does-not-display-events-sync-d-using-CalDav-tp2723327p2725271.html
Sent from the egroupware-users mailing list archive at Nabble.com.


Enable your software for Intel® Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel® vPro ™ technology - will your software
be a part of the solution? Download the Intel® Manageability Checker
today! http://p.sf.net/sfu/intel-dev2devmar


eGroupWare-users mailing list
eGroupWare-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/egroupware-users

–
Ralf Becker
Director Software Development

Stylite GmbH
[open style of IT]

Morschheimer Strasse 15
67292 Kirchheimbolanden

fon +49 (0) 6352 70629-0
fax +49 (0) 6352 70629-30
mailto: rb@stylite.de

www.stylite.de
www.egroupware.org


Geschäftsführer Andre Keller, Ralf Becker
Registergericht Kaiserslautern HRB 30575
Umsatzsteuer-Id / VAT-Id: DE214280951


Enable your software for Intel® Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel® vPro ™ technology - will your software
be a part of the solution? Download the Intel® Manageability Checker
today! http://p.sf.net/sfu/intel-dev2devmar


eGroupWare-users mailing list
eGroupWare-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/egroupware-users

Hello Mr. Becker,

I indeed found an entry in egw_felamimail_accounts that linked my email (previously also assigned to the admin account) to the uid 3. Removing that solved the problem. Thank you for your help.

However from this misconfiguration I derive the following: If two users end up having the same email address, their accounts get partially merged by the database? In theory, if I could change my email to that of another user, I would be able to access his DAV shares, even though the user accounts are clearly distinct? Doesn’t that imply a security issue?

Kind regards,

Chris

Hi Chris,

Hello Mr. Becker,

I indeed found an entry in egw_felamimail_accounts that linked my email
(previously also assigned to the admin account) to the uid 3. Removing that
solved the problem. Thank you for your help.

However from this misconfiguration I derive the following: If two users end
up having the same email address, their accounts get partially merged by the
database? In theory, if I could change my email to that of another user, I
would be able to access his DAV shares, even though the user accounts are
clearly distinct? Doesn’t that imply a security issue?

Nope, but lets start a little earlier …

iCal knows only one way to express a user identity, that is it’s email
address. CalDAV can additionally us a principal URL, which is unique
independent of the chosen email address, but not all CalDAV clients use
that.

So it’s up to the admin, users can NOT change there email address, to
set up correct and unique email addresses!

It is not a (solvable) security problem, as the only thing that happens,
is you create a invitation for the wrong user. EGroupware distincts
between between the owner of an events and participants. In standard
configuration everyone can invite everyone else to an event. Your
problem is that you dont see the event, because you are no participant
of it and probably dont have read rights for the other users calendar.
To see the events you can use the filter “owner too”, which allows you
to additionally see events owned by you, in which you are not participating.

Ralf

Ralf Becker
Director Software Development

Stylite GmbH
[open style of IT]

Morschheimer Strasse 15
67292 Kirchheimbolanden

fon +49 (0) 6352 70629-0
fax +49 (0) 6352 70629-30
mailto: rb@stylite.de

www.stylite.de
www.egroupware.org


Geschäftsführer Andre Keller, Ralf Becker
Registergericht Kaiserslautern HRB 30575
Umsatzsteuer-Id / VAT-Id: DE214280951


Enable your software for Intel® Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel® vPro ™ technology - will your software
be a part of the solution? Download the Intel® Manageability Checker
today! http://p.sf.net/sfu/intel-dev2devmar


eGroupWare-users mailing list
eGroupWare-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/egroupware-users