Scheduling question

59 views
Skip to first unread message

Peter Koch

unread,
Jan 22, 2017, 8:08:50 AM1/22/17
to SabreDAV Discussion
Dear SabreDAV experts:

I'm using SabreDAV 3.2.0-beta1 and scheduling does not work as expected.

Here's the relevant part from my server.php:

$pdo=new \PDO("mysql:dbname=sabredav;host=localhost", "root", "mysql-password");
$ora=db_logon('pass',$sid,$kuerzel,'NAV1','naev$ro','oracle-password');

$authBackend      = new \Sabre\DAV\Auth\Backend\naevAuth($ora);
$principalBackend = new \Sabre\DAVACL\PrincipalBackend\naevPrincipal($pdo, $ora, $authBackend);
$carddavBackend   = new \Sabre\CardDAV\Backend\naevAddressBook($pdo);
$caldavBackend    = new \Sabre\CalDAV\Backend\naevCalendar($pdo, $authBackend);

$nodes = [
  new \Sabre\CalDAV\Principal\Collection($principalBackend),
  new \Sabre\CalDAV\CalendarRoot($principalBackend, $caldavBackend),
  new \Sabre\CardDAV\AddressBookRoot($principalBackend, $carddavBackend),
];

$server = new \Sabre\DAV\Server($nodes);
$server->setBaseUri("/dav/server.php");

$server->addPlugin(new \Sabre\DAV\Auth\Plugin($authBackend));
$server->addPlugin(new \Sabre\DAV\Browser\Plugin());
$server->addPlugin(new \Sabre\CalDAV\Plugin());
$server->addPlugin(new \Sabre\CalDAV\Schedule\Plugin());
$server->addPlugin(new \Sabre\CalDAV\Schedule\IMipPlugin('Kalender-ServerATnaevDOTde'));
$server->addPlugin(new \Sabre\CalDAV\ICSExportPlugin());
$server->addPlugin(new \Sabre\CardDAV\Plugin());
$server->addPlugin(new \Sabre\DAVACL\Plugin());
$server->addPlugin(new \Sabre\DAV\Sync\Plugin());
$server->exec();

Our authBackend make use of our single sign on system and our
principalBackend uses our central user management. Both
caldavBackend and carddavBackend are copies of sabredavs
PDO-backends with some additional logging-commands,

Our users have multiple email addresses and the
naevPrincipal::findByUri() method will ask our mailserver to resolve
email addresses into mailbox names which can be transformed into
pricipals by prefixing "principal/".

Now if user cottin creates an event on his iPhone and invites
email address P.KochATnaevDOTde, sabredav will do the following:

1) create an entry in calendarobjects for the attendee, i.e.:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Sabre//Sabre VObject 4.1.0//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE...END:VTIMEZONE
BEGIN:VEVENT
ATTENDEE;CN=Dr. Ludwig Cottin;CUTYPE=INDIVIDUAL;EMAIL=Ludwig.CottinATnaevDOTde;PARTSTAT=ACCEPTED:mailto:Ludwig.CottinATnaevDOTde
ATTENDEE;CN=p.kochATnaevDOTde;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:p.kochATnaevDOTde
CREATED:20170122T093159Z
DTEND;TZID=Europe/Berlin:20170122T160000
DTSTAMP:20170122T093201Z
DTSTART;TZID=Europe/Berlin:20170122T150000
LAST-MODIFIED:20170122T093159Z
ORGANIZER;CN=Dr. Ludwig Cottin;EMAIL=Ludwig.CottinATnaevDOTde:mailto:Ludwig.CottinATnaevDOTde
SEQUENCE:0
SUMMARY:Ereignis
TRANSP:OPAQUE
UID:5BD81035-72B4-440B-84B1-C7AF60016581
END:VEVENT
END:VCALENDAR

2) create an entry in calendarobjects for the organizer, i.e.:
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
PRODID:-//Apple Inc.//iOS 9.3.5//EN
BEGIN:VTIMEZONE...END:VTIMEZONE
BEGIN:VEVENT
ATTENDEE;CN=Dr. Ludwig Cottin;CUTYPE=INDIVIDUAL;EMAIL=Ludwig.CottinATnaevDOTde;PARTSTAT=ACCEPTED:mailto:Ludwig.CottinATnaevDOTde
ATTENDEE;CN=p.kochATnaevDOTde;CUTYPE=INDIVIDUAL;SCHEDULE-STATUS=1.1:mailto:p.kochATnaevDOTde
CREATED:20170122T093159Z
DTEND;TZID=Europe/Berlin:20170122T160000
DTSTAMP:20170122T093201Z
DTSTART;TZID=Europe/Berlin:20170122T150000
LAST-MODIFIED:20170122T093159Z
ORGANIZER;CN=Dr. Ludwig Cottin;EMAIL=Ludwig.CottinATnaevDOTde:mailto:Ludwig.CottinATnaevDOTde
SEQUENCE:0
SUMMARY:Ereignis
TRANSP:OPAQUE
UID:5BD81035-72B4-440B-84B1-C7AF60016581
END:VEVENT
END:VCALENDAR

3) sent an email to P.KochATnaevDOTde with an ICS-attachement
that is identical to the record that was created in calendarobjects.

Now if I accept the invitation, the partstat in my calendarentry will change from
ATTENDEE;CN=p.kochATnaevDOTde;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:p.kochATnaevDOTde
to
ATTENDEE;CN=p.kochATnaevDOTde;CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:p.kochATnaevDOTde

But sabredav will not sent an email-response to the organizer nor does it
change the organizers entry in calendarobjects.

Any ideas how I might change this behaviour?

Kind regards

Peter


--
Dr. Peter Koch                          Tel.: +49 211 4302-1389
Nordrheinische Ärzteversorgung          Fax.: +49 211 4302-1426
EDV-Abteilung
Tersteegenstrasse 9
40474 Düsseldorf
Reply all
Reply to author
Forward
0 new messages