iMIP replies and Lighning interoperability
Hello! I'm trying to configure DCS on openSUSE 10.3 for a mixed Linux/MacOS environment using XML file authentication. There is few information available about DCS / Lightning interoperability. It seems Lightning does not processing scheduling requests in the scheduling inbox on the server, and does not send invitations through DCS either. Was someone sucessful in getting that working, or is that not yet supported in Lighning? I got the iMIP scheduling in DCS only partially working: Known users are asked internally (for iCal, see above), and external users get an invitation email. Problems arise when DCS tries interpreting and injecting email replies. I use the builtin mail templates and have enabled plus-addressing on the mail server. I've added an entry to the XML file for the com.apple.calendarserver and the respective GUID to the »principals with "DAV:all" access«. Depending on the client (both most recent version) I use to create the reply email I get the following errors: Reply created by iCal and sent through Mail: 2009-04-19 10:45:32+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/scheduling/ processing.py", line 144, in doImplicitOrganizer 2009-04-19 10:45:32+0200 [-] [caldav-8081] result = (yield self.doImplicitOrganizerUpdate()) 2009-04-19 10:45:32+0200 [-] [caldav-8081] exceptions.AssertionError: There must be one and only one ATTENDEE property in a REPLY Reply created by Lightning and sent through Thunderbird: 2009-04-19 10:48:33+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/method/ put_common.py", line 1085, in run 2009-04-19 10:48:33+0200 [-] [caldav-8081] raise err 2009-04-19 10:48:33+0200 [-] [caldav-8081] exceptions.AttributeError: 'DirectoryPrincipalResource' object has no attribute 'calendarUserAddresses' After adding an cuaddr to the calender user entry, I also got errors when trying to schedule an event. 2009-04-19 10:58:58+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/directory/ directory.py", line 298, in __init__ 2009-04-19 10:58:58+0200 [-] [caldav-8081] assert len(calendarUserAddresses) == 0 2009-04-19 10:58:58+0200 [-] [caldav-8081] exceptions.AssertionError: And for interpreting Lightning/Thunderbird replies the error changes to: 2009-04-19 11:06:13+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/mail.py", line 259, in http_POST 2009-04-19 11:06:13+0200 [-] [caldav-8081] yield self.authorize(request, (caldavxml.ScheduleDeliver(),)) 2009-04-19 11:06:13+0200 [-] [caldav-8081] exceptions.AssertionError: Best regards, Markus
After some more web searches and experiments… CALDAV support in Lightning 0.9 is quite incomplete. Lightning 1.0pre is slightly better, but still not complete and quite unstable. So internal inbox/outbox scheduling should not be expected to work for now. For iCal I noticed that it 1) uses SOME email account for sending replies, but not the one the invitation was sent from 2) uses the email address given in the Addressbook, not of the invited attendee After getting that as desired, also iCal reply end up with
exceptions.AttributeError: 'DirectoryPrincipalResource' object has no attribute 'calendarUserAddresses'
I'd really like to know if others have the same error message or if iMIP is working for them without problems. Regards, Markus Am 19.04.2009 um 13:02 schrieb Markus Stürmer:
Hello!
I'm trying to configure DCS on openSUSE 10.3 for a mixed Linux/MacOS environment using XML file authentication.
There is few information available about DCS / Lightning interoperability. It seems Lightning does not processing scheduling requests in the scheduling inbox on the server, and does not send invitations through DCS either. Was someone sucessful in getting that working, or is that not yet supported in Lighning?
I got the iMIP scheduling in DCS only partially working: Known users are asked internally (for iCal, see above), and external users get an invitation email. Problems arise when DCS tries interpreting and injecting email replies. I use the builtin mail templates and have enabled plus-addressing on the mail server. I've added an entry to the XML file for the com.apple.calendarserver and the respective GUID to the »principals with "DAV:all" access«.
Depending on the client (both most recent version) I use to create the reply email I get the following errors:
Reply created by iCal and sent through Mail: 2009-04-19 10:45:32+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/scheduling/ processing.py", line 144, in doImplicitOrganizer 2009-04-19 10:45:32+0200 [-] [caldav-8081] result = (yield self.doImplicitOrganizerUpdate()) 2009-04-19 10:45:32+0200 [-] [caldav-8081] exceptions.AssertionError: There must be one and only one ATTENDEE property in a REPLY
Reply created by Lightning and sent through Thunderbird: 2009-04-19 10:48:33+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/method/ put_common.py", line 1085, in run 2009-04-19 10:48:33+0200 [-] [caldav-8081] raise err 2009-04-19 10:48:33+0200 [-] [caldav-8081] exceptions.AttributeError: 'DirectoryPrincipalResource' object has no attribute 'calendarUserAddresses'
After adding an cuaddr to the calender user entry, I also got errors when trying to schedule an event. 2009-04-19 10:58:58+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/directory/ directory.py", line 298, in __init__ 2009-04-19 10:58:58+0200 [-] [caldav-8081] assert len(calendarUserAddresses) == 0 2009-04-19 10:58:58+0200 [-] [caldav-8081] exceptions.AssertionError:
And for interpreting Lightning/Thunderbird replies the error changes to: 2009-04-19 11:06:13+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/mail.py", line 259, in http_POST 2009-04-19 11:06:13+0200 [-] [caldav-8081] yield self.authorize(request, (caldavxml.ScheduleDeliver(),)) 2009-04-19 11:06:13+0200 [-] [caldav-8081] exceptions.AssertionError:
Best regards, Markus _______________________________________________ calendarserver-users mailing list calendarserver-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users
After spending some more time I was able to identify the problem. The error emerges from file CalendarServer/twistedcaldav/scheduling/implicit.py class ImplicitScheduler's member function def extractCalendarData(self) in line 306 for item in self.originatorPrincipal.calendarUserAddresses(): To be honest, I do not fully understand the interdependencies in DCS. But from what I understand the problem arises in that line: 303 self.originatorPrincipal = (yield self.request.locateResource(originatorPrincipalURL)) If I schedule an event, locateResource usually returns an object of type "DirectoryCalendarPrincipalResource" describing the originator==organizer of the event. I did not verify that, but from what I've read every DirectoryCalendarPrincipalResource should have at least some urn / guid - type cuaddr-esses and possibly email addresses. But during imip mail injection, an object of type "DirectoryPrincipalResource" is returned which lacks the "calenderUserAddresses()" member function (although it is refers to the iMIP injection user). So my workaround was to change 304 if self.originatorPrincipal: into 304 if self.originatorPrincipal and hasattr(self.originatorPrincipal,'calendarUserAddresses'): That way mail injection works, *BUT* I am not sure which problems could arise later if self.originator (self is an ImplicitScheduler) remains "" as initialized in line 298. Regards, Markus Am 21.04.2009 um 11:00 schrieb Markus Stürmer:
After some more web searches and experiments…
CALDAV support in Lightning 0.9 is quite incomplete. Lightning 1.0pre is slightly better, but still not complete and quite unstable. So internal inbox/outbox scheduling should not be expected to work for now.
For iCal I noticed that it 1) uses SOME email account for sending replies, but not the one the invitation was sent from 2) uses the email address given in the Addressbook, not of the invited attendee
After getting that as desired, also iCal reply end up with
exceptions.AttributeError: 'DirectoryPrincipalResource' object has no attribute 'calendarUserAddresses'
I'd really like to know if others have the same error message or if iMIP is working for them without problems.
Regards, Markus
Am 19.04.2009 um 13:02 schrieb Markus Stürmer:
Hello!
I'm trying to configure DCS on openSUSE 10.3 for a mixed Linux/ MacOS environment using XML file authentication.
There is few information available about DCS / Lightning interoperability. It seems Lightning does not processing scheduling requests in the scheduling inbox on the server, and does not send invitations through DCS either. Was someone sucessful in getting that working, or is that not yet supported in Lighning?
I got the iMIP scheduling in DCS only partially working: Known users are asked internally (for iCal, see above), and external users get an invitation email. Problems arise when DCS tries interpreting and injecting email replies. I use the builtin mail templates and have enabled plus-addressing on the mail server. I've added an entry to the XML file for the com.apple.calendarserver and the respective GUID to the »principals with "DAV:all" access«.
Depending on the client (both most recent version) I use to create the reply email I get the following errors:
Reply created by iCal and sent through Mail: 2009-04-19 10:45:32+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/scheduling/ processing.py", line 144, in doImplicitOrganizer 2009-04-19 10:45:32+0200 [-] [caldav-8081] result = (yield self.doImplicitOrganizerUpdate()) 2009-04-19 10:45:32+0200 [-] [caldav-8081] exceptions.AssertionError: There must be one and only one ATTENDEE property in a REPLY
Reply created by Lightning and sent through Thunderbird: 2009-04-19 10:48:33+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/method/ put_common.py", line 1085, in run 2009-04-19 10:48:33+0200 [-] [caldav-8081] raise err 2009-04-19 10:48:33+0200 [-] [caldav-8081] exceptions.AttributeError: 'DirectoryPrincipalResource' object has no attribute 'calendarUserAddresses'
After adding an cuaddr to the calender user entry, I also got errors when trying to schedule an event. 2009-04-19 10:58:58+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/directory/ directory.py", line 298, in __init__ 2009-04-19 10:58:58+0200 [-] [caldav-8081] assert len(calendarUserAddresses) == 0 2009-04-19 10:58:58+0200 [-] [caldav-8081] exceptions.AssertionError:
And for interpreting Lightning/Thunderbird replies the error changes to: 2009-04-19 11:06:13+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/mail.py", line 259, in http_POST 2009-04-19 11:06:13+0200 [-] [caldav-8081] yield self.authorize(request, (caldavxml.ScheduleDeliver(),)) 2009-04-19 11:06:13+0200 [-] [caldav-8081] exceptions.AssertionError:
Best regards, Markus _______________________________________________ calendarserver-users mailing list calendarserver-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users
_______________________________________________ calendarserver-users mailing list calendarserver-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users
Finally, I gave up for the moment. It seems scheduling with DCS +Lightning just does not work as it should. As long as Lightning is used by the organized of an event, everything works nicely (after enabling caldav scheduling). But when getting an invitation, Lightning is just not able to recognize the user in the attendee list. This seems to be due to the urn-Scheme used by DCS, because hacking the ics-file in the attendees inbox can fix that. (There has also been a discussion on the dev-list - most caldav servers seem to use email addresses instead of urn-s). Although mentioning only Lightning, I also tried Sunbird (latest release and nightly builds). After all it seems this is more a client- side problem. Are there any Linux clients that work with DCS and also support scheduling at all? Regards, Markus Am 21.04.2009 um 11:00 schrieb Markus Stürmer:
After some more web searches and experiments…
CALDAV support in Lightning 0.9 is quite incomplete. Lightning 1.0pre is slightly better, but still not complete and quite unstable. So internal inbox/outbox scheduling should not be expected to work for now.
For iCal I noticed that it 1) uses SOME email account for sending replies, but not the one the invitation was sent from 2) uses the email address given in the Addressbook, not of the invited attendee
After getting that as desired, also iCal reply end up with
exceptions.AttributeError: 'DirectoryPrincipalResource' object has no attribute 'calendarUserAddresses'
I'd really like to know if others have the same error message or if iMIP is working for them without problems.
Regards, Markus
Am 19.04.2009 um 13:02 schrieb Markus Stürmer:
Hello!
I'm trying to configure DCS on openSUSE 10.3 for a mixed Linux/ MacOS environment using XML file authentication.
There is few information available about DCS / Lightning interoperability. It seems Lightning does not processing scheduling requests in the scheduling inbox on the server, and does not send invitations through DCS either. Was someone sucessful in getting that working, or is that not yet supported in Lighning?
I got the iMIP scheduling in DCS only partially working: Known users are asked internally (for iCal, see above), and external users get an invitation email. Problems arise when DCS tries interpreting and injecting email replies. I use the builtin mail templates and have enabled plus-addressing on the mail server. I've added an entry to the XML file for the com.apple.calendarserver and the respective GUID to the »principals with "DAV:all" access«.
Depending on the client (both most recent version) I use to create the reply email I get the following errors:
Reply created by iCal and sent through Mail: 2009-04-19 10:45:32+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/scheduling/ processing.py", line 144, in doImplicitOrganizer 2009-04-19 10:45:32+0200 [-] [caldav-8081] result = (yield self.doImplicitOrganizerUpdate()) 2009-04-19 10:45:32+0200 [-] [caldav-8081] exceptions.AssertionError: There must be one and only one ATTENDEE property in a REPLY
Reply created by Lightning and sent through Thunderbird: 2009-04-19 10:48:33+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/method/ put_common.py", line 1085, in run 2009-04-19 10:48:33+0200 [-] [caldav-8081] raise err 2009-04-19 10:48:33+0200 [-] [caldav-8081] exceptions.AttributeError: 'DirectoryPrincipalResource' object has no attribute 'calendarUserAddresses'
After adding an cuaddr to the calender user entry, I also got errors when trying to schedule an event. 2009-04-19 10:58:58+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/directory/ directory.py", line 298, in __init__ 2009-04-19 10:58:58+0200 [-] [caldav-8081] assert len(calendarUserAddresses) == 0 2009-04-19 10:58:58+0200 [-] [caldav-8081] exceptions.AssertionError:
And for interpreting Lightning/Thunderbird replies the error changes to: 2009-04-19 11:06:13+0200 [-] [caldav-8081] File "/srv/ CalendarServer/vdisk/CalendarServer/twistedcaldav/mail.py", line 259, in http_POST 2009-04-19 11:06:13+0200 [-] [caldav-8081] yield self.authorize(request, (caldavxml.ScheduleDeliver(),)) 2009-04-19 11:06:13+0200 [-] [caldav-8081] exceptions.AssertionError:
Best regards, Markus _______________________________________________ calendarserver-users mailing list calendarserver-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users
_______________________________________________ calendarserver-users mailing list calendarserver-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users
On 15.05.2009, at 10:40, Markus Stürmer wrote:
Finally, I gave up for the moment. It seems scheduling with DCS +Lightning just does not work as it should.
As long as Lightning is used by the organized of an event, everything works nicely (after enabling caldav scheduling). But when getting an invitation, Lightning is just not able to recognize the user in the attendee list. This seems to be due to the urn-Scheme used by DCS, because hacking the ics-file in the attendees inbox can fix that. (There has also been a discussion on the dev-list - most caldav servers seem to use email addresses instead of urn-s).
Although mentioning only Lightning, I also tried Sunbird (latest release and nightly builds). After all it seems this is more a client-side problem.
Are there any Linux clients that work with DCS and also support scheduling at all?
No, there are none. I tried to raise the issue over here: http://www.nabble.com/UIDs-as-ATTENDEE-IDs,-please-fix-that-td23334605.html Thanks, Helge
Hi Helge! Yes, basically it was your thread I was talking about, although it might not have come clear. Both parties had good arguments there, I think. Why changing a standard-compliant implementation, only because others don't implement it correctly? Why porting software to Linux and insisting on a certain approach when there is no client supporting it? CalDAV may just be too complicated… By the way, a workaround could be to disable CalDAV scheduling via inbox altogether, and make DCS use iMiP also for known local users. iMiP seems to work fine in both, iCal and Lightning. Is there a way of doing that? Unfortunately I also don't expect sunbird/lighning to support DCS's urn schemes soon. It is just not common enough, and they are already short on developers. :-( Regards, Markus Am 15.05.2009 um 22:20 schrieb Helge Heß:
On 15.05.2009, at 10:40, Markus Stürmer wrote:
Finally, I gave up for the moment. It seems scheduling with DCS +Lightning just does not work as it should.
As long as Lightning is used by the organized of an event, everything works nicely (after enabling caldav scheduling). But when getting an invitation, Lightning is just not able to recognize the user in the attendee list. This seems to be due to the urn- Scheme used by DCS, because hacking the ics-file in the attendees inbox can fix that. (There has also been a discussion on the dev- list - most caldav servers seem to use email addresses instead of urn-s).
Although mentioning only Lightning, I also tried Sunbird (latest release and nightly builds). After all it seems this is more a client-side problem.
Are there any Linux clients that work with DCS and also support scheduling at all?
No, there are none. I tried to raise the issue over here:
http://www.nabble.com/UIDs-as-ATTENDEE-IDs,-please-fix-that-td23334605.html
Thanks, Helge
Hi, On 15.05.2009, at 23:08, Markus Stürmer wrote:
Both parties had good arguments there, I think.
well, I have not heard any good (actually none at all) arguments pro- UUID, contra X-UUID yet.
Why changing a standard-compliant implementation, only because others don't implement it correctly? Why porting software to Linux and insisting on a certain approach when there is no client supporting it?
Apple does not port the software to Linux :-)
CalDAV may just be too complicated…
No. CalDAV does not enforce uuid's. Thats a very special thing of the Apple server. Both, server and client need to deal with any iCal ATTENDEE ID. Can be UUID, mailto, tel, anything.
iMiP seems to work fine in both, iCal and Lightning. Is there a way of doing that?
Unfortunately I also don't expect sunbird/lighning to support DCS's urn schemes soon. It is just not common enough, and they are already short on developers. :-(
As of now, there is no way to resolve UUID ATTENDEEs. Its plain impossible for a client to remap incoming iMIP messages (a UUID is completely opaque to the client). Helge -- Helge Hess http://helgehess.eu/
participants (3)
-
Helge Heß
-
Markus Stürmer
-
Markus Stürmer