<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi,</div><div><br></div><div>Thanks for posting this information. As you mentioned, the Playbook cannot find the calendar by itself. I succeeded by patching the code like this:</div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(102, 102, 102); font-family: Arial; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 15px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 204); ">/3rdparty/Sabre/CalDAV/XMLUtil.php line 77</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(102, 102, 102); font-family: Arial; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 15px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 204); ">Change: </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(102, 102, 102); font-family: Arial; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 15px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 204); ">if (!is_null($start) && !is_null($end) && $end <= $start) {</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(102, 102, 102); font-family: Arial; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 15px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 204); ">to:</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(102, 102, 102); font-family: Arial; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 15px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 204); ">if (!is_null($start) && !is_null($end) && $end < $start) {</div></div><div><br></div><div>Reference:</div><div><a href="http://supportforums.blackberry.com/t5/BlackBerry-PlayBook/OwnCloud-Carddav-amp-Caldav/m-p/1590131#M28070">http://supportforums.blackberry.com/t5/BlackBerry-PlayBook/OwnCloud-Carddav-amp-Caldav/m-p/1590131#M28070</a></div><div><br></div><div>That post hints that this may only be necessary at validation time, when you create the account on the Playbook, but I have not tried reverting the code yet after setting up the account.</div><div><br></div><div>The Playbook then needs the entire URL to the calendar (including it's name). In my case:</div><div><br></div><div>cloud.domain.tld/apps/calendar/caldav.php/calendars/<username>/<calendarname></div><div><br></div><div>It will use https by default. For one account, I had the "default calendar", which I entered as "default%20calendar" and the application was able to load it.</div><div><br></div><div>Hope this is useful to someone!</div><div><br></div><div>Laurent</div><br><div><div>Le 2012-03-10 à 04:35, Nicolas a écrit :</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Hi,<br><br>I try to synchronize my PlayBook with OwnCloud addressbook & calendar<br>services.<br><br>For the playbook, and I think others embedded devices, it's easier to<br>use short URL. So I have patched my owncloud to do :<br><br>diff --git a/.htaccess b/.htaccess<br>index ebb28b0..f314e9f 100644<br>--- a/.htaccess<br>+++ b/.htaccess<br>@@ -9,6 +9,17 @@ php_value memory_limit 512M<br> </IfModule><br> <IfModule mod_rewrite.c><br> RewriteEngine on<br>-RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last]<br>+RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]<br>+<br>+#RewriteCond %{REQUEST_METHOD} ^PROPFIND$<br>+<br>+RewriteCond %{HTTP_HOST} ^carddav<br>+RewriteCond %{REQUEST_URI} !^/apps<br>+RewriteRule .* /apps/contacts/carddav.php/$1 [L]<br>+<br>+RewriteCond %{HTTP_HOST} ^caldav<br>+RewriteCond %{REQUEST_URI} !^/apps<br>+RewriteRule .* /apps/calendar/caldav.php/$1 [L]<br> </IfModule><br> Options -Indexes<br>+#MultiviewsMatch Any<br><br><br>and<br><br><br>diff --git a/apps/calendar/caldav.php b/apps/calendar/caldav.php<br>index b710b99..c389188 100644<br>--- a/apps/calendar/caldav.php<br>+++ b/apps/calendar/caldav.php<br>@@ -25,7 +25,8 @@ $nodes = array(<br><br> // Fire up server<br> $server = new Sabre_DAV_Server($nodes);<br>-$server->setBaseUri(OC::$APPSWEBROOT.'/apps/calendar/caldav.php');<br>+//$server->setBaseUri(OC::$APPSWEBROOT.'/apps/calendar/caldav.php');<br>+$server->setBaseUri(OC::$APPSWEBROOT.'/');<br> // Add plugins<br> $server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend,'ownCloud'));<br> $server->addPlugin(new Sabre_CalDAV_Plugin());<br><br><br>and<br><br><br>diff --git a/apps/contacts/carddav.php b/apps/contacts/carddav.php<br>index 654aeb6..0792d62 100644<br>--- a/apps/contacts/carddav.php<br>+++ b/apps/contacts/carddav.php<br>@@ -39,7 +49,8 @@ $nodes = array(<br><br> // Fire up server<br> $server = new Sabre_DAV_Server($nodes);<br>-$server->setBaseUri(OC::$APPSWEBROOT.'/apps/contacts/carddav.php');<br>+//$server->setBaseUri(OC::$APPSWEBROOT.'/apps/contacts/carddav.php');<br>+$server->setBaseUri(OC::$APPSWEBROOT.'/');<br> // Add plugins<br> $server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend,'ownCloud'));<br> $server->addPlugin(new Sabre_CardDAV_Plugin());<br><br><br>So now, I can use the url :<br>carddav.domain.tld<br>or<br>caldav.domain.tld<br><br><br>I do better later...<br><br><br>For CardDAV, it works well with PlayBook device (and Gnome Evolution<br>3.2.2)<br><br><br>For CalDAV, it works well with Evolution ; but not at all with PlayBook.<br><br><br>I don't really how to debug and dump stream. I have patched owncloud to<br>dump the stream between the client & the server into a file. But maybe,<br>there is a better way ?<br><br><br>For PlayBook, it missing info in DAV communication :<br><br>Indeed, in the ressourceType into the XML answer, there is no the<br>"calendar" information. If I add "dirty"... :<br>case '{DAV:}resourcetype' :<br>$newProperties[200]['{DAV:}resourcetype']->add('{urn:ietf:params:xml:ns:caldav}calendar');<br>in the getPropertiesForPath (3rdparty/Sabre/DAV/Server.php)<br>the information.<br>it works better.<br><br><br>I seek to add this field, I don't think that we have to modify SabreDAV<br>itself, but the owncloud sabre connector.<br><br><br>Regards,<br><br>Nicolas<br><br><br>_______________________________________________<br>Owncloud mailing list<br><a href="mailto:Owncloud@kde.org">Owncloud@kde.org</a><br>https://mail.kde.org/mailman/listinfo/owncloud<br></div></blockquote></div><br></body></html>