CalDAV demo

681 views
Skip to first unread message

Evert

unread,
Apr 12, 2010, 4:11:59 AM4/12/10
to SabreDAV Discussion
If you're interested in checking out how CalDAV works, you can now try
it out on the demo site.

username: testuser
password: test

In iCal you must use this url to connect:
http://demo.sabredav.org/principals/testuser/

Most other clients need a direct url to the calendar:
http://demo.sabredav.org/calendars/testuser/1581C434-3ED4-429A-A4D7-7C35839479A8/

Evert

Dick Balaska

unread,
May 3, 2010, 11:38:10 PM5/3/10
to SabreDAV Discussion
Hi ho.
I am trying out your SabreDAV CalDAV implementation. My goal is to
use it as a subsystem for Webcalendar,
http://www.k5n.us/webcalendar.php

I followed your instructions here,
http://code.google.com/p/sabredav/wiki/CalDAV
and I get an error. Interestingly, it is the same error as your demo
http://demo.sabredav.org/principals/testuser/default

I tried manually including (before the autoloader) 'lib/Sabre/DAV/Auth/
Principal.php';
but that just led to a bigger can of worms (Sabre_DAV_Node not
defined)

Help?

dik
> Most other clients need a direct url to the calendar:http://demo.sabredav.org/calendars/testuser/1581C434-3ED4-429A-A4D7-7...
>
> Evert

--
You received this message because you are subscribed to the Google Groups "SabreDAV Discussion" group.
To post to this group, send email to sabredav...@googlegroups.com.
To unsubscribe from this group, send email to sabredav-discu...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sabredav-discuss?hl=en.

Evert

unread,
May 3, 2010, 11:54:06 PM5/3/10
to SabreDAV Discussion

On May 4, 12:38 pm, Dick Balaska <d...@buckosoft.com> wrote:
> Hi ho.
> I am trying out your SabreDAV CalDAV implementation.  My goal is to
> use it as a subsystem for Webcalendar,http://www.k5n.us/webcalendar.php
>
> I followed your instructions here,http://code.google.com/p/sabredav/wiki/CalDAV
> and I get an error.  Interestingly, it is the same error as your demohttp://demo.sabredav.org/principals/testuser/default
>
> I tried manually including (before the autoloader) 'lib/Sabre/DAV/Auth/
> Principal.php';
> but that just led to a bigger can of worms (Sabre_DAV_Node not
> defined)
>
> Help?
>
> dik


Hi Dik,

How did you end up with :
http://demo.sabredav.org/principals/testuser/default

The error message is not very descriptive, I should probably do
something about that, but it should throw a 404.

The principal can be found at:
http://demo.sabredav.org/principals/testuser

it's calendars can be found at:
http://demo.sabredav.org/calendars/testuser

There's no calendar named 'default'. In order to find the list of
calendars for a user request the {caldav}user-calendars-home-set
property on the user.

Dick Balaska

unread,
May 4, 2010, 12:22:23 AM5/4/10
to sabredav...@googlegroups.com
Am 5/3/2010 11:54 PM, also sprach Evert:
> Hi Dik,
>
> How did you end up with :
> http://demo.sabredav.org/principals/testuser/default
>
> The error message is not very descriptive, I should probably do
> something about that, but it should throw a 404.
>
> The principal can be found at:
> http://demo.sabredav.org/principals/testuser
>
> it's calendars can be found at:
> http://demo.sabredav.org/calendars/testuser
>
> There's no calendar named 'default'. In order to find the list of
> calendars for a user request the {caldav}user-calendars-home-set
> property on the user.
>
> Evert
>
>

I ended up with that by assuming that you had created a default calendar
like what you have in your tutorial/example.
I guess that means I have a 404 in my setup. I checked to see that the
sql looked ok.
sqlite> select * from calendars;
1|principals/admin|default calendar|default||||||

If I browse to http://localhost/webcal-caldav/calendars/admin , I see
the line that says:
default <http://localhost/webcal-caldav/calendars/admin/default>
{urn:ietf:params:xml:ns:caldav}calendar, {DAV:}collection

Sunbird shows me the generic MODIFICATION_FAILED. This will need some
wiresharking I think.

Your example instructions says to use ./principals/admin/default and I
think you mean ./calendars/admin/default .
At least, the latter gets me further along. The former gives me the 404
error (cleverly disguised as a missing Class) I mentioned.

dik

Evert Pot

unread,
May 4, 2010, 12:35:51 AM5/4/10
to sabredav...@googlegroups.com

On 2010-05-04, at 1:22 PM, Dick Balaska wrote:

> Am 5/3/2010 11:54 PM, also sprach Evert:
>> Hi Dik,
>>
>> How did you end up with :
>> http://demo.sabredav.org/principals/testuser/default
>>
>> The error message is not very descriptive, I should probably do
>> something about that, but it should throw a 404.
>>
>> The principal can be found at:
>> http://demo.sabredav.org/principals/testuser
>>
>> it's calendars can be found at:
>> http://demo.sabredav.org/calendars/testuser
>>
>> There's no calendar named 'default'. In order to find the list of
>> calendars for a user request the {caldav}user-calendars-home-set
>> property on the user.
>>
>> Evert
>>
>>
>
> I ended up with that by assuming that you had created a default calendar like what you have in your tutorial/example.
> I guess that means I have a 404 in my setup. I checked to see that the sql looked ok.
> sqlite> select * from calendars;
> 1|principals/admin|default calendar|default||||||
>
> If I browse to http://localhost/webcal-caldav/calendars/admin , I see the line that says:
> default <http://localhost/webcal-caldav/calendars/admin/default> {urn:ietf:params:xml:ns:caldav}calendar, {DAV:}collection
>
> Sunbird shows me the generic MODIFICATION_FAILED. This will need some wiresharking I think.
>
> Your example instructions says to use ./principals/admin/default and I think you mean ./calendars/admin/default .
> At least, the latter gets me further along. The former gives me the 404 error (cleverly disguised as a missing Class) I mentioned.

The documentation on:
http://code.google.com/p/sabredav/wiki/CalDAV

mentions:
http://www.example.org/~every/sabredav/calendarserver.php/calendars/admin/default

I opened a bug for the incorrect error though:
http://code.google.com/p/sabredav/issues/detail?id=46

I'm going to have a look at sunbird. Are you running a recent version? The last version is beta1.

Evert

Evert

unread,
May 4, 2010, 1:50:14 AM5/4/10
to SabreDAV Discussion
> I'm going to have a look at sunbird. Are you running a recent version? The last version is beta1.

I've just tried sunbird on the demo server, and didn't seem to get any
issues. I'm curious to hear what the cause of your problem was.

Dick Balaska

unread,
May 4, 2010, 7:21:07 AM5/4/10
to sabredav...@googlegroups.com
Am 5/4/2010 1:50 AM, also sprach Evert:
>> I'm going to have a look at sunbird. Are you running a recent version? The last version is beta1.
>>
>
> I've just tried sunbird on the demo server, and didn't seem to get any
> issues. I'm curious to hear what the cause of your problem was.
>
> Evert
>

I just upgraded to Sunbird beta1. I get the same error. The only
diagnostic I have so far is the web log:

127.0.0.1 - - [04/May/2010:07:13:11 -0400] "PUT
/webcal-caldav/calendars/admin/default/405023d9-5a75
-4dd7-8452-27c4e292d0b8.ics HTTP/1.1" 412 302 "Mozilla/5.0 (Windows; U;
Windows NT 6.0; en-US; rv:1.
9.1.5) Gecko/20091211 Sunbird/1.0b1"

Evert Pot

unread,
May 4, 2010, 7:56:25 AM5/4/10
to sabredav...@googlegroups.com

On 2010-05-04, at 8:21 PM, Dick Balaska wrote:

> Am 5/4/2010 1:50 AM, also sprach Evert:
>>> I'm going to have a look at sunbird. Are you running a recent version? The last version is beta1.
>>>
>>
>> I've just tried sunbird on the demo server, and didn't seem to get any
>> issues. I'm curious to hear what the cause of your problem was.
>>
>> Evert
>>
>
> I just upgraded to Sunbird beta1. I get the same error. The only diagnostic I have so far is the web log:
>
> 127.0.0.1 - - [04/May/2010:07:13:11 -0400] "PUT /webcal-caldav/calendars/admin/default/405023d9-5a75
> -4dd7-8452-27c4e292d0b8.ics HTTP/1.1" 412 302 "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.
> 9.1.5) Gecko/20091211 Sunbird/1.0b1"

I'd definitely need the full request/response to figure out what this could be.

HTTP 412 is precondition failed, which, in, general is a deliberate response.

if you need me to, I can analyze your wireshark session. Charles HTTP proxy is also a good tool for this, because it allows you to setup a HTTP reverse proxy as well.

Evert

Dick Balaska

unread,
May 4, 2010, 10:30:38 PM5/4/10
to sabredav...@googlegroups.com
Am 5/4/2010 7:21 AM, also sprach Dick Balaska:
>
> 127.0.0.1 - - [04/May/2010:07:13:11 -0400] "PUT
> /webcal-caldav/calendars/admin/default/405023d9-5a75
> -4dd7-8452-27c4e292d0b8.ics HTTP/1.1" 412 302 "Mozilla/5.0 (Windows;
> U; Windows NT 6.0; en-US; rv:1.
> 9.1.5) Gecko/20091211 Sunbird/1.0b1"
>

which translates to:
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">

<s:exception>Sabre_CalDAV_Exception_InvalidICalendarObject</s:exception>
<s:message>VEVENT is not allowed in this calendar.</s:message>
<s:sabredav-version>1.2.0beta1</s:sabredav-version>
</d:error>

I could not have got this without the Charles Proxy hint. wireshark
doesn't like to do localhost->localhost. Thanks

dik

Evert Pot

unread,
May 4, 2010, 10:35:32 PM5/4/10
to sabredav...@googlegroups.com

On 2010-05-05, at 11:30 AM, Dick Balaska wrote:

> Am 5/4/2010 7:21 AM, also sprach Dick Balaska:
>>
>> 127.0.0.1 - - [04/May/2010:07:13:11 -0400] "PUT /webcal-caldav/calendars/admin/default/405023d9-5a75
>> -4dd7-8452-27c4e292d0b8.ics HTTP/1.1" 412 302 "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.
>> 9.1.5) Gecko/20091211 Sunbird/1.0b1"
>>
>
> which translates to:
> <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
> <s:exception>Sabre_CalDAV_Exception_InvalidICalendarObject</s:exception>
> <s:message>VEVENT is not allowed in this calendar.</s:message>
> <s:sabredav-version>1.2.0beta1</s:sabredav-version>
> </d:error>
>

Open your database and run:

UPDATE calendars SET components = 'VEVENT,VTODO' ;

It looks like this wasn't added to the caldav docs. Sorry for this.

Evert

Dick Balaska

unread,
May 4, 2010, 10:46:56 PM5/4/10
to sabredav...@googlegroups.com
Am 5/4/2010 10:35 PM, also sprach Evert Pot:
> UPDATE calendars SET components = 'VEVENT,VTODO' ;
>
To infinity and beyond!

dik
Reply all
Reply to author
Forward
0 new messages