iCal only working with context path /caldav



  • Hello,

    I was seariching for a while to find the correct paths to get ical working: If you for example use the path https://127.0.0.1/calendar

     curl -X PROPFIND -u "bernhard:password" -H "Content-Type: text/xml" -H "Depth: 1" --data "<?xml version='1.0' encoding='UTF-8' ?><propfind xmlns='DAV:' xmlns:CAL='urn:ietf:params:xml:ns:caldav' xmlns:CARD='urn:ietf:params:xml:ns:carddav'><prop><current-user-principal /></prop></propfind>" "http://127.0.0.1:51001/calendar/bernhard/Tasks" --insecure --verbose
    

    you get

    <?xml version="1.0" encoding="UTF-8"?>
    <C:multistatus xmlns:C="DAV:">
     <C:response>
      <C:href>/calendar/bernhard/Tasks</C:href>
      <C:propstat>
       <C:prop>
        <C:current-user-principal>
         <C:href>/caldav/bernhard/</C:href>
        </C:current-user-principal>
       </C:prop>
       <C:status>HTTP/1.1 200 OK</C:status>
      </C:propstat>
     </C:response>
     <C:response>
      <C:href>/calendar/bernhard/Tasks/040000008200E00074C5B7101A82E008000000008085B553D8A1D401000000000000000001000000A55B16DF1490445DB5233C638C3C0FC2.ics</C:href>
      <C:propstat>
       <C:prop>
        <C:current-user-principal>
         <C:href>/caldav/bernhard/</C:href>
        </C:current-user-principal>
       </C:prop>
       <C:status>HTTP/1.1 200 OK</C:status>
      </C:propstat>
     </C:response>
    
    

    where some hrefs are correct, but the hrefs of the persons are still with /caldav.

    Whene using caldav behind an apache you have to configure it like this:

    <Location /caldav>
      ProxyPass http://127.0.0.1:8080/caldav
      ProxyPassReverse http://127.0.0.1:8080/caldav
    </Location>
    

    At both places the context MUST be caldav. At ProxyPath because otherwise you get different context paths in the response, at Location because the hrefs in the response are not absolute.

    The two working path I found were:

    /caldav/<username>/Calendar
    /caldav/<username>/Tasks
    

    I was not able to access folders inside Tasks in any way (like documented in https://documentation.kopano.io/user_manual_kopanocore/configure_caldav_clients.html)


  • Kopano

    @bmaehr said in iCal only working with context path /caldav:

    I was seariching for a while to find the correct paths to get ical working

    But at the end of your post you link to the manual which tells you, you should use the path /caldav. Or is the intention of you post to request the ability to configure the path for caldav access?

    The two working path I found were:

    /caldav/<username>/Calendar
    /caldav/<username>/Tasks

    That may be implied the manual, but “Calendar” and “Tasks” are the actual names of the folders you want to access. So if you have another calendar called “Holiday”, then this would be accessible from /caldav/<username>/Holiday.

    I was not able to access folders inside Tasks in any way (like documented in https://documentation.kopano.io/user_manual_kopanocore/configure_caldav_clients.html)

    Afair the caldav implementation does not know folder hierarchies, but simply exposes everything with a flat hierarchy. Where in the manual do you read that you can use subfolders by giving their path?



  • The main intention was just to give feedback for other users who try to use iCal. Especially when setting up behind an Apache proxy.

    I realized now, that ical is not the new implementation and the paths at https://forum.kopano.io/topic/1341/request-for-feedback-new-caldav-and-carddav-implementation-for-kopano are for the other version. I will perhaps test that version also.

    A main problem for my first tries to get it working correctly was, that the ical implementation accepts ever context path and is answering on every context path partially correct, but only using the context path /caldav the answer is compleatly correct. This is missleading when trying to setup everything.

    About subfolders: I created a folder “Test” inside the Tasks folder and tried both URLs /caldav/<username>/Test (like written in the manual) and /caldav/<username>/Tasks/Test and neither worked. But this is also nothing I need, I just mention it to document it.

    So no need for any action on your side - just a report in case someone else is trying to setup a similar usecase.


Log in to reply