etesync-dav icon indicating copy to clipboard operation
etesync-dav copied to clipboard

GNOME integration

Open rugk opened this issue 8 years ago • 20 comments

Probably you know GNOME's nice integration of "online accounts". So one can e.g. use Nextcloud for contact sync, see image below. However, as far as I see, this is not yet possible with EteSync.

gnomeonlineaccounts

So maybe with the help of this desktop client or maybe the CLI tool, such integration is possible? Or maybe try to send patches/pursue GNOME to add it as an official version? (and allow self-hosted versions, of course). Or integration into GNOME calendar, which AFAIK can also be achieved separately to whole GNOME integration. (although the latter is, of course, better, as it also syncs contacts then)

rugk avatar Feb 04 '18 16:02 rugk

Oh sweet! I'll try to get to it soon, though admittedly, I'm not a GNOME user (I use i3), so not sure how soon that will be. Happy to support anyone who wants to undertake this task. Since gnome shell is very JS heavy, I assume this would be written in JS (correct?). This is great, because there's already a JS etesync implementation (inside etesync-web, but well split from everything else), so all one would need is to write the glue code!

More info on online accounts: https://wiki.gnome.org/Projects/GnomeOnlineAccounts

tasn avatar Feb 05 '18 10:02 tasn

Any movement on this?

60Eight avatar Feb 22 '19 01:02 60Eight

Sorry, not yet. An iOS client is a higher priority and I'm working on that at the moment. There are a few other things that will come before this, especially since there's already a solution, just run etesync-dav locally and connect Gnome to it.

tasn avatar Feb 22 '19 07:02 tasn

Running etesync-dav isn't that smooth. I don't have much knowledge regarding docker and such. Would've been easier if it could be distributed as a package.

60Eight avatar Feb 25 '19 08:02 60Eight

I completely agree it's not ideal. There's already an Arch package (well, AUR), and I'll happily include links to packages for other distros. I also want to setup something like AppImage so it'll be easy to just ship binaries too, but it's a matter of getting to do it, which I can't at the moment (again, iOS is a higher priority). Happy to support whatever efforts anyone is taking to do any of the above.

tasn avatar Feb 25 '19 08:02 tasn

I'm also very interested, like lot of ubuntu user, i'm using Gnome 3 & Gnome-calendar integrated into evolution mail.

reyman avatar Aug 29 '19 15:08 reyman

@tasn Only the gnome-shell is JS, most of gnome is written in C as is gnome online accounts.

The gnome online accounts code is found here: https://gitlab.gnome.org/GNOME/gnome-online-accounts/

And while I understand that there are more important things (also agree with IOS client having higher priority aso), setting up the etesync-dav is a little fiddly. I just did a "docker pull" and then it started to complain about "Failed to load htpasswd" and stopped working. So I then trew out docker and decided to run it directly, which means setting up systemd integration and resolving selinux issues. Which this is still a fairly technical way of running things, having it integrated in online accounts would improve the user experience a lot. Maybe working with the Gnome community and running this as a summer of code kind of thing?

snaggen avatar Sep 04 '19 07:09 snaggen

@snaggen, I completely agree with you that a proper integration is better. Though having to implement the whole EteSync protocol in C (even though it's not that big!) is going to be time consuming. Do you know if they have any plans on supporting backends in higher level languages? We already have Python, Go, JavaScript, Java and Kotlin implementations. I guess I could just write a small C wrapper around one of the other implementations, though that would be a bit ugly. :)

Do you know anyone relevant from the GNOME community that may be able to help? Summer of code is already over for this year unfortunately, but it's definitely something to keep in mind for next year.

tasn avatar Sep 04 '19 07:09 tasn

@tasn Unfortunately my GNOME related development was a long time ago, now a days I'm mostly a user. However, I don't think the integration would need to be that complicated since they already support the Dav protocols required. So, I would assume you could just write the online account integration as a wrapper that configures and setup the existing etesync-dav. Well, in the end it will probably require a lot of struggling on the way, but that is where I would start looking.

snaggen avatar Sep 04 '19 13:09 snaggen

Ah, so your idea is to keep etesync-dav, and just launch it automatically in the background. I was thinking more of a real integration. Interesting thought.

tasn avatar Sep 04 '19 13:09 tasn

Together with a native support of EteSync in EDS I find this issue very exciting! What does it take from developers or from the EteSync community to solve this issue?

4jNsY6fCVqZv avatar Apr 20 '20 08:04 4jNsY6fCVqZv

This is really just pending on EDS support. The moment that's there it should be trivial to add it to GNOME.

tasn avatar Apr 20 '20 11:04 tasn

Confirmed for Google Summer of Code 2020: https://summerofcode.withgoogle.com/projects/#5162094988623872

christianfl avatar May 06 '20 22:05 christianfl

Now that EDS support is here, what is needed to have this integrated into Gnome Online Accounts? I just started using the Etesync EDS plugin and it works perfectly so far. I see the Calendar and Contacts in the respective Gnome apps, just as when I added Google via Gnome Online Accounts. So it really just is a UI thing left to be done?

Edit: EDS: Evolution Data Server

jonas-hagen avatar Oct 29 '20 14:10 jonas-hagen

Just the UI, yeah. The UI in Gnome Online Accounts is hard-coded to only allow certain resources, so need to send them a patch. Issued I opened on the EDS module: https://gitlab.gnome.org/GNOME/evolution-etesync/-/issues/2 Maybe someone could also open one on the GNOME online accounts repo: https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/issues/

Maybe also mention the evolution issue I mentioned above.

tasn avatar Oct 29 '20 14:10 tasn

What exactly is EDS?

rugk avatar Oct 29 '20 17:10 rugk

Evolution Data Server - it's the GNOME personal information backend.

tasn avatar Oct 30 '20 06:10 tasn

Okay opened an issue there: https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/issues/152

Though I could not comment/add any technical details. Please add them by yourself, if you want.

rugk avatar Oct 30 '20 19:10 rugk

Great, thanks for the update!

tasn avatar Nov 01 '20 09:11 tasn

Did anyone try the GOA integration with EteSync from one of the linked MRs? I am curious what is the best workflow to add an EteSync account with the Librem 5 as Evolution does not scale that well.

christianfl avatar Mar 04 '23 01:03 christianfl