iMIP replies and Lighning interoperability

View: New views
7 Messages — Rating Filter:   Alert me  

iMIP replies and Lighning interoperability

by Markus Stürmer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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@...
http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users

iMIP replies and Lighning interoperability (Update)

by Markus Stürmer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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@...
> http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users
>
>

_______________________________________________
calendarserver-users mailing list
calendarserver-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users

Re: iMIP replies… (hack solution)

by Markus Stürmer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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@...
>> http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users
>>
>>
>
> _______________________________________________
> calendarserver-users mailing list
> calendarserver-users@...
> http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users
>
>

_______________________________________________
calendarserver-users mailing list
calendarserver-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users

Re: iMIP replies and Lighning interoperability (Update)

by Markus Stürmer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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@...
http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users



_______________________________________________
calendarserver-users mailing list
calendarserver-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users




_______________________________________________
calendarserver-users mailing list
calendarserver-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users

Re: iMIP replies and Lighning interoperability (Update)

by Helge Heß :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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

_______________________________________________
calendarserver-users mailing list
calendarserver-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users

Re: iMIP replies and Lighning interoperability (Update)

by Markus Stürmer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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
>
>

_______________________________________________
calendarserver-users mailing list
calendarserver-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users

Re: iMIP replies and Lighning interoperability (Update)

by Helge Heß :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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/
_______________________________________________
calendarserver-users mailing list
calendarserver-users@...
http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-users