Does this support Availability ?
When I tried Availability on Baikel server with the docker image it gives operation not supported error.
Hi @signalarun!
Yes, it supports the Availability feature as long as both the user making the event and the invited users all are in the same server. Here's an example:
!(Availability example)[http://i.imgur.com/06LNPEq.png]
- The green outline shows the available times for the user making the request
- The solid green block is the time for the event being booked
- The grey blocks are times when either user is unavailable
This snapshot was taken from the macOS Calendar.app while booking a sample event tomorrow, Friday 23.Nov.2018.
I've tested this with Baïkal + Calendar.app, and with Baïkal with Thunderbolt + Lightning.
Please expand details on your request so I can help you figure out what's happening with your set up. Which calendar software do you use?
Cheers!
pr3d
I used Caldav4j library to access the Baikal docker.
Ah, got it -- no idea. Do you have the server logs? They are in /var/log/nginx.
Not sure about that Java library - I haven't used it. But I'm 100% sure that Baïkal reports the availability for all users registered in it.
@signalarun - Is there an exception that you could show me too? Thanks!
Exception in thread "main" java.io.IOException: Error executing method: org.osaf.caldav4j.methods.PutMethod@139ad8e HTTP response code: 409
OKi - does the response body have anything in it? This issue is on the CalDAV side, not the Docker side, happy to help if I can. Logs and the full response body, if available.
I suggest that you try some interactive way of testing the responses after authenticating.
Here's a great tool for checking what's happening during the exchanges:
https://github.com/asciimoo/wuzz
Cheers!
One more thing: paste here the full HTTP request that your tool sends to the server. This error may be caused by an incorrect path. The full path should be something like:
http://yourserver.whatever/dav.php/principals/accountname
Headers would be helpful too. Use wuzz to generate the requests so we can see what the server does. SoapUI might also be useful, but I prefer wuzz for expediency.
Cheers!
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"> <s:sabredav-version>3.1.3</s:sabredav-version> <s:exception>Sabre\DAVACL\Exception\NeedPrivileges</s:exception> <s:message>User did not have the required privileges ({DAV:}write-content) for path "principals/jeena"</s:message> <d:need-privileges> <d:resource> <d:href>/baikal/html/cal.php/principals/jeena</d:href> <d:privilege> <d:write-content/> </d:privilege> </d:resource> </d:need-privileges> </d:error>
Hola.
Two possibilities:
- You need to specify which calendar corresponding to user jeena you want. I have to do that when connecting from the macOS calendar, like this:
https://mydomain.com/cal.php/principals/work - User jeena isn't defined OR is defined but using the default calendar (in which case you must specify
default) OR it's only using the address book
Check this out: http://sabre.io/dav/acl/ -- this explains how the ACLs work for SabreDAV (and for Baïkal since it leverages it).
Where are you with the wuzz dump? That'll be even more helpful for troubleshooting.
Cheers!
The above two possibilities also not working. Can you give the link of working Baikal docker image that you use, so that I can try with that.
The issues that you describe aren't caused by Baïkal. The client is providing wrong or incomplete data to the Sabre/CalDAV/Baïkal server. That's why I keep asking for logs or other diagnostic information.
The Docker image you want for testing is pr3d4t0r/sabre.io - pull that. Read this too: https://ciurana.eu/entry/improved-baikal-sabredav-calendar-in-less-than-10-minutes - please let me know if you have further questions/comments.
The above two possibilities also not working. Can you give the link of working Baikal docker image that you use, so that I can try with that.
I did in my previous entry. From Docker Hub: pr3d4t0r/sabre.io, and read the blog entry https://ciurana.eu/entry/improved-baikal-sabredav-calendar-in-less-than-10-minutes - this is my exact "production" set up, except for that my Baïkal server is behind an Nginx reverse proxy for SSL termination.