nextcloud / calendar

📆 Calendar app for Nextcloud
https://apps.nextcloud.com/apps/calendar
GNU Affero General Public License v3.0
952 stars 235 forks source link

(Microsoft) Exchange ActiveSync Protocol for calendar. #2320

Closed maxwowpow closed 4 years ago

maxwowpow commented 4 years ago
**Is your feature request related to a problem? Please describe.** "I'm always frustrated when" browser updates to my calendar appear "very slowly" on my iPhone. I never had the "fetch" option activated on my iPhone and use only Mail-Apps directly. For Google-Calendar I use a custom "microsoft exchange" option (ADDITIONALLY TO GoogleCalendar CalDAV). **Describe the solution you'd like** Adding [Microsoft] Exchange Protocol / functionality / ActiveSync / PUSH. If I understand it correctly events' updates (addition/updating/removal) are propagated more quick than a manual update. [stackexchange overview for google exchange on iphone](https://apple.stackexchange.com/questions/216032/how-to-sync-all-my-google-calendars-to-iphone-with-exchange) **Describe alternatives you've considered** Spontaneously found a fresh post in the Nextcloud Community proposing a `z-sync`. [zsync](https://z-push.org/) Steps for configuring it with Nextcloud [here.](https://pawelgorny.com/using-nextcloud-owncloud-with-z-push-for-caldav-and-carddav/) Either A. try that and make a nice official article, that this is theoretically supported. B. Ask guys with more background in Nextcloud/Backend, whether `z-sync` could be considered as an addon and ported/ask the dev of the `z-sync` to help work on the extension. C. Doability of integrating a `z-sync` directly into the calendar/contacts extension. **Additional context** The feedback is welcome. Heard that the "Exchange is an obsolete protocol", but never found an alternative even for/from Google. I'm not willing to change my behavior and switch the option for the iOS to "fetch" my/new events with a predefined periods of time. This is not an option in question. I'll be poking with z-sync more eventually.
georgehrke commented 4 years ago

We had this discussion already in the past and decided against providing ActiveSync support. There is native CalDAV support / there are CalDAV adapters for all major platforms.

A. try that and make a nice official article, that this is theoretically supported.

I'm not sure this is a good idea, because it will suggest that it is officially supported. Nonetheless, if you found that guide helpful, feel free to share it with other users on our forums: http://help.nextcloud.com

B. Ask guys with more background in Nextcloud/Backend, whether z-sync could be considered as an addon and ported/ask the dev of the z-sync to help work on the extension.

Again, we do not want to officially integrate it. However, the strength of Nextcloud is its extensibility. It should be possible for an app to natively integrate Z-Sync. I would recommend posting your idea in our app idea sub-forum and connect to people from our Community that might be interested in developing such an app: https://help.nextcloud.com/c/feature/app-ideas/21

C. Doability of integrating a z-sync directly into the calendar/contacts extension.

If you build it as an app, as suggested for (B), it should be able to work on the same data set that our CalDAV implementation uses (with some API modifications that we planned for the next Server release). It wouldn't keep its own calendar-data, but just provide a different representation of it. Hence, the Calendar app, which is using CalDAV, would always hold the same data as any device connected via ActiveSync.

maxwowpow commented 4 years ago

Ok, to summarize:

If you change your event (doesn't matter where and how) - changes will never be synchronized with clients using CalDAV (without passive updates).

I'm not happy with this, but thank you for the understandable explanation THAT it WON'T BE DONE (decided against).

I didn't get WHY though (that's what's normally matters when you're an engineer.) Was it an external discussion and the reasoning was mostly based on benefits-vs-codedebt-plus-complexity-of-support or priorities and alike?

georgehrke commented 4 years ago

Adding support would add a hell lot of complexity and does not provide real benefits, as, like I said above, there is native Caldav support / there are Caldav adapters in all important platforms.

fabiodepin commented 1 year ago

Hello,

See that for this task we could use the Syncroton library (https://github.com/tine20/syncroton). In my view, this library could easily be used for this ActiveSync communication, only needing to implement the calls and data returns that concern Nextcloud itself.

See that this same library is already used in Kolab and Tine20, and it works very well.

It's worth checking out and thinking about.

BloodyIron commented 8 months ago

CalDAV has way less universal support than EAS (Exchange ActiveSync). It's expected that modern E-Mail ecosystems (providing Calendars, Contacts, etc) provide EAS connectability. It is substantially more ubiquitous than CalDAV or any of the DAVs for this function. While I take no issue with CalDAV being an available option, I do take issue with the rationale that CalDAV is more worthwhile in this case than EAS, because it actually is not. With EAS interfacing (as a client, nextCloud being the client) you would with that one protocol be able to sync E-Mail, Calendar, and Contacts as a minimum (plus a few others in some cases). CalDAV is just the Calendar (last I checked).

I'm senior in IT, DevSecOps Manager most recent title, and I've never actually seen anyone ask for CalDAV connectivity, but EAS connectivity, in contrast, is generally expected as a bare minimum. Whether it's from MS Exchange, Hosted MS E-Mail, Outlook.com/related, gmail.com, ISP E-Mail providers, or anything like that. EAS is ALWAYS provided (or there's an option), and quite frankly, nobody cares about the DAVs.

So, if we could please get EAS re-opened as a request, I really do think that would be a productive avenue to go down (but also IMO to expand beyond just Calendar, get it all!).

fabiodepin commented 8 months ago

One option is to use z-push, it works perfectly with Nextcloud, thus making activesync available via davs communication. https://github.com/Z-Hub/Z-Push

BloodyIron commented 8 months ago

I want nextCloud to be the CLIENT for EAS, as my provider already uses Z-Push. I don't want to faff about setting up Z-Push on both ends, that's ridiculous and not what I was asking for at all.

BloodyIron commented 2 months ago

Seriously, can we PLEASE get ActiveSync support in the MAIL app? It's literally the most widely used protocol and is preferable to IMAP and POP3.