-
Notifications
You must be signed in to change notification settings - Fork 419
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support free-busy-related requests #34
Comments
+1 |
For future reference: http://tools.ietf.org/html/rfc4791#section-6.1.1 I am very new to the CalDAV protocol, but it looks like it could be something that can be dealt with in the rights management: you'd have R access, W access, and free-busy access. Apparently it's a privilege that allows reading on some fields. |
@mike-perdide is right, free-busy access level isn't implemented, but it seems that the report isn't implemented either: I'm getting a 500 even with rw access. Here's my test script (the request is literally copy-pasted from rfc4791#7.10.1):
Output:
Server log:
|
The report method is implemented, I tried your script with an http connection and default authorization (none) and the method executed. |
@hobarrera A basic report method is implemented in init.py. It is able to query the VEVENT. The filters for free-busy query is not implemented yet is my guess. I can work on this, but need some guidance as I am new to python. Anyone? |
@Jaikant: That's exactly what I originally said, and the almost opposite of what you replied:
Strictly speaking, yes. The script runs. It'll always run if you have python installed. I meant the script did not run successfully. The method did execute, but returned 500. I think my original point was clear enough, especially with all the included output: The script does not run successfully, and the server did not return the expected response. However, the free-busy report is not implemented, which is what matters. |
@hobarrera I got a 200 OK with the script. As I said there is an implementation for the report method. Look at the end of the xmlutils.py file for the details of what is implemented. And like I said earlier, maybe I was not clear. the implementation does not cover the full rfc. |
The free-busy report is not implemented. other reports are implemented, but that's really out-of-scope in this discussing. Stop trying to confuse people! This is not being productive at all, and is merely adding noise to this issue. |
I think it was your test report which was incorrect. Glad to know that you realize what is and is not more clearly now. You want to help getting the free-busy implemented? |
Having some busy time with exams, and a few other things, but when time allows, I'd be willing to jump in on this (probably in two or three weeks time). I actually really need this feature. :) |
The Davical wiki states that free-busy-query is not supported by any client. "Scheduling Extensions to CalDAV" seems to be the favoured method. The relevant RFC are 6638 and 5546. For support for scheduling across different servers 6047 is also required. Additional a mapping between users and email addresses would be required in Radicale. Scheduling messages are addressed by email. |
That's huge. Let's keep this feature for later then… |
does radicale support free-busy feature now. Thanks in advance |
No. |
hi, I've been reading a bit into this, and I'm not sure that it would require a huge effort, really.. the sabredav implementation here seems to be only about 840 SLOC: https://github.com/fruux/sabre-dav/tree/master/lib/CalDAV/Schedule most is in Plugin.php, so that's for both the scheduling and freebusy stuff. I'm tempted to try and add this myself, though I'm sure one of you guys could do a much better/faster job. |
As mentioned before, this is not (widely) supported by clients. |
for us at least (kopano.com), Apple iCalendar is an important client, and it seems to require this as of Yosemite.. |
What doesn't work with iCalendar? |
as of yosemite, it seems to assume that RFC6638 is in place, whether or not 'calendar-auto-schedule' is supported by the server: https://discussions.apple.com/thread/6663683?start=0&tstart=0 |
I think that RFC 6638 is out of scope. It seems like a major hassle for little gain. |
+1 |
The python-caldav project support free-busy request and as i'm porting this project into aiohttp for async support: aiocaldav, i'm interrested in adding this feature to radicale. I think we can add the feature without a lot of pain: without RFC 6638 (which I agree is out of scope), i think free/busy is kind of a subset of the calendar-query REPORT with only some changes in the query and return values. If you're ok, i'll look into this. |
@ThomasChiroux I have been trying to make a free-busy request with python-caldav unsuccessfully. Have you been able to successfully make make a free-busy request with python-caldav? |
I've not tried extensively python-caldav before porting it to asyncio. |
@ThomasChiroux Thanks, I took a look. I'm not sure why, but I keep getting the following error when trying to use python-caldav's freebusy_request() method:
I know it's not permission based because I am able to successfully get a response when manually making an HTTPSConnection request using an xml free-busy-query payload.
I guess I will continue to construct these freebusy requests myself for now. I've opened an issue in the python-caldav project but don't have time to troubleshoot the library myself. |
Any news on this? |
What is the issue number? I must have overlooked that one (I'm the primary maintainer of the library). The RFC states that free-busy requests MUST be supported by the server, yet the caldav client library test fails at several servers. I've always thought it was a problem at the server side, but I should probably look more into it. EDIT: found it - python-caldav/caldav#31 - closed due to lack of feedback. I will reopen it. |
Radicale 3.0.6 is in use, so the newest released version. Here is from the debug logs (I realize I should put some efforts into better debugging output from caldav):
There is an example at https://tools.ietf.org/html/rfc4791#section-7.10.1 ... my request is quite similar to the example code there. The response is quite far off from the example (the response should be icalendar, not xml). It seems to me radicale is recognizing the request not as a freebusy-request, but as a report-request towards the calendar. The RFC states ...
I'm doing a REPORT towards a calendar collection here, so it seems correct to me. The RFC states ...
And the response from Radicale clearly breaks with that. So it seems to me that Radicale is doing something wrong while I'm doing something right. I actually hope that I'm wrong - because support for free-busy-requests is mandatory according to the RFC, but freebusy-requests sent through my library works towards quite few calendar implementations. It would be nice if I could just fix the bug on my side, rather than realizing that very few caldav-servers supports the caldav-standard... |
Very anxious to get this working, too. :) |
No description provided.
The text was updated successfully, but these errors were encountered: