2016-04-05 13 views
0

Ich benutze einen Saber-CalDAV-Server und verwende iCal auf Yosemite als Client. Jetzt erstelle ich ein ganztägig wiederkehrendes Ereignis in iCal und verwende den Charles Proxy, um den Inhalt der Anfrage zu prüfen, die von iCal gesendet wird. Erstellen der Veranstaltung sendet sie korrekte Daten:Änderungen an wiederkehrenden Allday-Ereignissen, die nicht von iCal gesendet wurden

BEGIN:VCALENDAR 
VERSION:2.0 
PRODID:-//Apple Inc.//Mac OS X 10.10.1//EN 
CALSCALE:GREGORIAN 
BEGIN:VEVENT 
CREATED:20160404T203206Z 
UID:14C144D6-A872-4D24-91C0-783A9979BB9E 
RRULE:FREQ=WEEKLY;INTERVAL=1;COUNT=1 
DTEND;VALUE=DATE:20160409 
TRANSP:TRANSPARENT 
SUMMARY:Repeat 
DTSTART;VALUE=DATE:20160404 
DTSTAMP:20160404T203206Z 
SEQUENCE:0 
BEGIN:VALARM 
X-WR-ALARMUID:A807798B-DE16-4E62-86E9-C204A2B80F76 
UID:A807798B-DE16-4E62-86E9-C204A2B80F76 
TRIGGER;VALUE=DATE-TIME:19760401T005545Z 
ACTION:NONE 
END:VALARM 
END:VEVENT 
END:VCALENDAR 

Die Antwort:

HTTP/1.1 201 Created 
Date: Mon, 04 Apr 2016 20:32:19 GMT 
Server: Apache/2.4.10 (Unix) OpenSSL/1.0.1j PHP/5.6.3 mod_perl/2.0.8-dev Perl/v5.16.3 
X-Powered-By: PHP/5.6.3 
X-Sabre-Version: 3.0.8 
Content-Length: 0 
ETag: "55c6a353f278653fdd61387395c274df" 
Keep-Alive: timeout=5, max=100 
Connection: Keep-Alive 
Content-Type: text/html; charset=UTF-8 

Aber wenn ich ein einzelnes Auftreten des wiederkehrenden Ereignisses ändern und nur die Änderungen in diesem Vorkommen gelten, iCal sendet die alte Kalenderdaten zurück zum Server ohne Änderungen. Wenn ich die Änderungen auf alle Vorkommen anwende, werden die korrekten Daten gesendet. Wenn ich die Änderungen nur auf zukünftige Ereignisse anwenden möchte, wird das alte Ereignis korrekt geändert und ein neues Ereignis für die zukünftigen Ereignisse erstellt. Aber auch hier werden keine Änderungen an einem einzelnen Ereignis an den Server gesendet.

Dies ist nur für Allday-Events. Zeitgesteuerte Ereignisse funktionieren gut. Es spielt auch keine Rolle, ob ich die Rulle mit "count" oder "bis" erzeuge.

Wenn ich ein einzelnes Auftreten ändern und meinen Kalender exportieren aus iCal ich auch die richtigen Kalender-Daten erhalten, auch wenn diese Daten nicht an den Server (anderes Ereignis) gesendet wird:

BEGIN:VCALENDAR 
METHOD:PUBLISH 
VERSION:2.0 
X-WR-CALNAME:XXX 
X-WR-CALDESC: 
X-APPLE-CALENDAR-COLOR:#FF9500 
X-WR-TIMEZONE:Europe/Berlin 
CALSCALE:GREGORIAN 
BEGIN:VEVENT 
CREATED:20160405T063102Z 
UID:68C23C1E-371C-4799-9139-04F0F8FE6F88 
RRULE:FREQ=WEEKLY;INTERVAL=1;COUNT=4 
DTEND;VALUE=DATE:20160409 
TRANSP:TRANSPARENTSUMMARY:hhhhh 
DTSTART;VALUE=DATE:20160404 
DTSTAMP:20160405T063102Z 
SEQUENCE:0 
END:VEVENT 
BEGIN:VEVENT 
CREATED:20160405T063102Z 
UID:68C23C1E-371C-4799-9139-04F0F8FE6F88 
DTEND;VALUE=DATE:20160421 
TRANSP:TRANSPARENT 
SUMMARY:hhhhh 
DTSTART;VALUE=DATE:20160418 
DTSTAMP:20160405T063102Z 
SEQUENCE:0 
RECURRENCE-ID;VALUE=DATE:20160418 
END:VEVENT 
END:VCALENDAR 

Dort kann ich Sehen Sie das Vevent schließlich mit einer korrekten Wiederholungs-ID.

Irgendwelche Ideen? War sonst noch jemand mit einem ähnlichen Problem konfrontiert? Ich habe keine Ahnung, was das verursachen könnte ...

Vielen Dank im Voraus!

Antwort

0

Okay, das muss ein Kalenderfehler gewesen sein. Nach dem Aktivieren des Debugging fand ich diesen Fehler:

Apr 6 12:20:11 XXX.local CalendarAgent[229]: [com.apple.calendar.store.log.ICS] [CaliCalTranslator: Event 97323C3B-753D-46E5-830E-E182BEAA5E0D has invalid instance on date 2016-04-11 00:00:00 +0000. Filtering] 

I aktualisierten Kalender ab Version 8.0 (2026) auf Version 8.0 (2034,9) und jetzt alles funktioniert wie erwartet.