Ok, I've updated the script per Mohit's suggestion. It now appears to do the right thing with events that aren't repeating (haven't looked at repeating events). However, some of the time when I run it, SOGo hangs with 100% CPU usage. Unfortunately, it doesn't seem to be entirely consistent, which makes tracking it down harder. When it does cause this behavior, I get the right emails about events accepted/declined and the calendars look fine. Restarting sogo fixes the problem until I look at the resource calendar. So I think that's where the problem is.
The sogo log shows:
2011-03-08 19:09:31.835 sogod[21898] WARNING(-[NSNull(misc) length]):
called NSNull -length (returns 0) !!!
2011-03-08 19:09:31.835 sogod[21898] WARNING(-[NSNull(misc) length]):
called NSNull -length (returns 0) !!!
2011-03-08 19:09:31.835 sogod[21898] WARNING(-[NSNull(misc) length]):
called NSNull -length (returns 0) !!!
(and some postgres warning about escape characters that I think I can
ignore)
And here's what I see in the database for c_content of the added entry
that is giving me problems:
BEGIN:VCALENDAR
PRODID:-//Inverse inc./SOGo
1.0//EN
VERSION:2.0
BEGIN:VEVENT
ATTENDEE;CN=nothing;PARTSTAT=REJECTED;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto
[email protected]
CREATED:20110309T015944Z
DTEND;TZID=/inverse.ca/20101018_1/America/Denver:20110309T183000
DTSTAMP:20110309T015944Z
DTSTART;TZID=/inverse.ca/20101018_1/America/Denver:20110309T170000
LAST-MODIFIED:20110309T020304Z
ORGANIZER;CN=Ben:mailto:[email protected]
SEQUENCE:1
SUMMARY:Test
45
TRANSP:OPAQUE
UID:4608-4D76DF00-D-1191FAC0
END:VEVENT
BEGIN:VTIMEZONE
TZID:/inverse.ca/20101018_1/America/Denver
X-LIC-LOCATION:America/Denver
BEGIN:DAYLIGHT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
TZNAME:MDT
TZOFFSETFROM:-0700
TZOFFSETTO:-0600
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
TZNAME:MST
TZOFFSETFROM:-0600
TZOFFSETTO:-0700
END:STANDARD
END:VTIMEZONE
END:VCALENDAR
Anyway, I've attached both the ics file that I push to SOGo via HTTP-DAV
and the newer version of my script if anyone wants to take a look (but
be careful).
Ben
--
[email protected]
https://inverse.ca/sogo/listsBEGIN:VCALENDAR PRODID:-//Inverse inc./SOGo 1.0//EN VERSION:2.0 BEGIN:VEVENT ATTENDEE;CN=nothing;PARTSTAT=REJECTED;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto :[email protected] CREATED:20110309T015944Z DTEND;TZID=/inverse.ca/20101018_1/America/Denver:20110309T183000 DTSTAMP:20110309T015944Z DTSTART;TZID=/inverse.ca/20101018_1/America/Denver:20110309T170000 LAST-MODIFIED:20110309T020304Z ORGANIZER;CN=Ben:mailto:[email protected] SEQUENCE:1 SUMMARY:Test 45 TRANSP:OPAQUE UID:4608-4D76DF00-D-1191FAC0 END:VEVENT BEGIN:VTIMEZONE TZID:/inverse.ca/20101018_1/America/Denver X-LIC-LOCATION:America/Denver BEGIN:DAYLIGHT DTSTART:19700308T020000 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU TZNAME:MDT TZOFFSETFROM:-0700 TZOFFSETTO:-0600 END:DAYLIGHT BEGIN:STANDARD DTSTART:19701101T020000 RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU TZNAME:MST TZOFFSETFROM:-0600 TZOFFSETTO:-0700 END:STANDARD END:VTIMEZONE END:VCALENDAR
Accept-ben.pl
Description: Perl program
