calendar icon indicating copy to clipboard operation
calendar copied to clipboard

Does this support Availability ?

Open signalarun opened this issue 7 years ago • 13 comments

When I tried Availability on Baikel server with the docker image it gives operation not supported error.

signalarun avatar Nov 23 '18 06:11 signalarun

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

pr3d4t0r avatar Nov 23 '18 06:11 pr3d4t0r

I used Caldav4j library to access the Baikal docker.

signalarun avatar Nov 23 '18 06:11 signalarun

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.

pr3d4t0r avatar Nov 23 '18 06:11 pr3d4t0r

@signalarun - Is there an exception that you could show me too? Thanks!

pr3d4t0r avatar Nov 23 '18 06:11 pr3d4t0r

Exception in thread "main" java.io.IOException: Error executing method: org.osaf.caldav4j.methods.PutMethod@139ad8e HTTP response code: 409

signalarun avatar Nov 27 '18 05:11 signalarun

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!

pr3d4t0r avatar Nov 27 '18 05:11 pr3d4t0r

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!

pr3d4t0r avatar Nov 27 '18 05:11 pr3d4t0r

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

signalarun avatar Nov 27 '18 10:11 signalarun

Hola.

Two possibilities:

  1. 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
  2. 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!

pr3d4t0r avatar Nov 29 '18 00:11 pr3d4t0r

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.

signalarun avatar Dec 06 '18 06:12 signalarun

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.

pr3d4t0r avatar Dec 06 '18 07:12 pr3d4t0r

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.

signalarun avatar Dec 07 '18 05:12 signalarun

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.

pr3d4t0r avatar Dec 07 '18 06:12 pr3d4t0r