Radicale icon indicating copy to clipboard operation
Radicale copied to clipboard

Server side meeting invitations

Open konmax opened this issue 10 years ago • 26 comments

Hi,

I would like to see the following new feature in Radicale:

Ability to handle server side meeting invitations (mail with ics attachment).

Some clients like Thunderbird/Lightning or most web clients can handle meeting invitations by themselves. But other clients like smart phones (e. g. Windows Phone or Android devices) are not able to send such invitations. It is possible to add persons to an event and the client (phone) does show a message that an invitation has been send but in reality no such mail was send out. This is very critical as the users thinks that all persons have been notified but this is not the case.

That is why I would like to see this feature in Radicale. It should be configurable in a way that it can be turned on/off in general, maybe even better per user and/or per client (e. g. do not send such invitations if the user is Jeff or if the client is Thunderbird but do send it out if the client is an Android device).

Konrad

konmax avatar Jan 14 '15 18:01 konmax

There's a thread in the mailing about server-side invitations: http://librelist.com/browser//radicale/2014/4/8/meeting-invitations/.

liZe avatar Jan 15 '15 17:01 liZe

What does milestone 2.0 mean? Does it mean that this might be part of Radicale v2.0? If so, this sounds like it will not be implemented in the next 10 years or so?!

Please do not get me wrong, but we are at 0.10 at the moment.

Thanks Konrad

konmax avatar Jan 17 '15 18:01 konmax

I am not sure any "normal" CardDAV/CalDAV server implements this, so asking it from a supposed-to-be-lightweight server like Radicale is a bit much.

untitaker avatar Jan 17 '15 20:01 untitaker

In the end it should not be more than sending out a mail using an and available external mail server with the meeting ics as an attachment, right? Guillaume himself said that this could be easily implemented in the attached mail thread.

Konrad

konmax avatar Jan 17 '15 20:01 konmax

Setting a milestone for a certain features reflects its priority for the core developer team, in this case for the main developer. So, if you're waiting to get this implemented by Guillaume, you're probably right with your 10 years estimation. But, if YOU or someone else really needs this feature, why not start coding it by yourself NOW? This is how open source works. I'm quite sure a clean, tested and working solution will make its way into the main branch much earlier than 10 years. :)

mrgrain avatar Jan 17 '15 22:01 mrgrain

Hmm, I'm in fact a developer, but I have never touched python so far and also not the caldav protocol. So it would better if someone with a bit more experience would implement this ;-)

Konrad

konmax avatar Jan 17 '15 23:01 konmax

sorry to post this link in two issues, but I think example code from a project which already implements most of this is much easier to understand than a collection of RFC's:

https://github.com/fruux/sabre-dav/tree/master/lib/CalDAV/Schedule

srepmub avatar Sep 18 '17 11:09 srepmub

Hey everyone? Are there any news regarding this topic? I really would love to send invites when i add some attendees to an appointment. Android does not send them... Clients like outlook or thunderbird do...

nlincke avatar Dec 13 '17 10:12 nlincke

some more comments here (after which I kind of lost interest in using radicale for my project, since it would need to support the apple stuff):

https://github.com/Kozea/Radicale/issues/34

srepmub avatar Dec 13 '17 11:12 srepmub

Thanks @srepmub . May I ask you what you have used insted? I realy like radicale but this is quite a drawback...

nlincke avatar Dec 13 '17 11:12 nlincke

we are looking into sabredav atm, but I'm not sure what the status there is, as I was only investigating radicale as an alternative.

srepmub avatar Dec 13 '17 11:12 srepmub

Thanks for the INFO. I would realy appreciate that at least invites are send... Can some one give me a hint where inside the code is a good way to implement it? Just to speed up this... If i find time i would have a look...

nlincke avatar Dec 17 '17 00:12 nlincke

Is there any update on this? I believe the simple solution is for each user to be able to add their SMTP server credentials and email account from which they want the invitations to be sent from and Radicale could do the sending through that configured SMTP. Of course technically, to be non-blocking Radicalle would have to send to a local MTA that then relays to the user's specific SMTP. I think the solution is pretty simple so not sure why it hasn't been addressed so far. I mean if you are using your own CalDAV server, chances are you are running your own SMTP or at least well-versed enough to configure it. From Radicale's perspective the change to support this is really simple so not sure why this hasn't been done to date (may it has?).

aimass avatar Aug 24 '19 01:08 aimass

https://github.com/sabre-io/Baikal/pull/787

They updated Baikal whit Enable invitation plugin.

Tntdruid avatar Aug 24 '19 05:08 Tntdruid

@Tntdruid I have tried Fruux and they seem to only be able to send email from their server directly, so the email is not from the user's domain but rather from fruux cloud or whatever. What I'm proposing is that it would be so simple for each user to provide their "from" email and corresponding SMTP so that if configured, Radicale could send out the invitations, updates and cancellations. Fruux (sabre.io) does this but only from a single SMTP account. Anyway, there is no well-though CalDAV product out there to integrate seamlessly with Apple iCal, and Apple's iCloud implementation does not send email outside of the iCloud ecosystem. Having researched this for my own company, I haven't been able to find a CalDAV service that can send email using the user's domain. I think it's valuable feature and for some reason it's still under the Really bad Idea category in this project.

aimass avatar Aug 24 '19 17:08 aimass

@aimass Baikal i running on your server.

Tntdruid avatar Aug 24 '19 17:08 Tntdruid

i agree this is very important. and like @aimass suggested this could simply be an email sent by the local smtp server. maybe i'll work on this and open a PR.

choucavalier avatar Apr 29 '20 10:04 choucavalier

Hi - just wondering if anyone has made progress on this yet? Seems like a really important feature as the mobile clients tend to depend on server-side for sending invitations.

technicalciso avatar Apr 23 '21 07:04 technicalciso

@technicalciso Did not have the time to work on that, sadly, as I'm finishing my PhD, which means lots of work.

This is clearly a feature I'm still interested in developing, but that won't happen before a few months.

choucavalier avatar Apr 23 '21 09:04 choucavalier

I might take a stab at this. Some initial thoughts based on glancing at the codebase:

  1. It looks like rights will have to be extended to ~~allow read permissions (DAV:read) on a given resource~~ (I am clearly a WebDAV n00b. Statement makes no sense but I am working on something here), so that invitees can see acceptance/decline status for other invitees. Based on a quick look it seems like this only implemented at the collection and calendar levels currently.
  2. Will need to add config options to enable server side meeting invites. If that config option is enabled, it will need to come along with configuration for smtp and imap credentials (pop a better fit, given that this is essentially a queue?).
  3. I believe the cleanest way to do this is to assume a dedicated inbox exists on some external imap (or pop) server so that Radicale can ingest invite responses and record the responses received in the VCALENDAR entry. If pop is used, the message will be deleted for free. If imap, it would probably be desirable to immediately delete the message after processing it into Radicale.
  4. Attendee invitations would be sent through an external smtp server by Radicale. That seems like the easiest part.

mkeen avatar Aug 16 '21 03:08 mkeen

Sounds great @mkeen Would be happy to beta-test it on my server!

choucavalier avatar Aug 16 '21 09:08 choucavalier

@mkeen i think there is less of a need for shared calendar status and many email clients can handle meeting responses their own (the client updates the vcalendar entry and uploads to the caldav server) - maybe start with simple construction of a properly formatted invitation that is sent outbound to recipients though an smtp server? PS also happy to beta test

technicalciso avatar Aug 19 '21 11:08 technicalciso

I also would love to help testing 🤞

th0th avatar Sep 22 '21 15:09 th0th

According to the main page radicale has reached 3.0.0 :) Do we have ServerSide Invetations then? Has anyone tested this feature...

nlincke avatar Jun 09 '22 07:06 nlincke

I just installed radicale and found this major shortcoming. I wish it was more widely documented.

Are there any solutions for Android/iOS clients? If not what other CalDAV servers are people using which support server side scheduling?

WiredWonder avatar Jan 07 '24 10:01 WiredWonder

Well I have a Nextcloud installation for this... But I would switch back in an instance... If they ever get this feature up and running...

nlincke avatar Jan 07 '24 12:01 nlincke

this can be somehow tricky regarding SPF and DKIM/DMARC, especially related to bounce handling

pbiering avatar Mar 03 '24 08:03 pbiering