Integration with syncevolution

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Integration with syncevolution

Hamzeh Nasajpour
Hi,

> libsyncevolution can be used in simple applications without the dependency on any kind of IPC mechanism

I want to integrate my C++ applications with syncevolution via `libsyncevolution` or `eds`?
Is there any document about them? How to? Where? Example? 

Regards
Hamzeh

_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: Integration with syncevolution

Gnome Evolution - General mailing list
On Thu, 2020-04-16 at 08:34 +0430, [hidden email] wrote:
> I want to integrate my C++ applications with syncevolution via
> `libsyncevolution` or `eds`?

        Hi,
what do you mean with 'integrate', please? That's important, because
syncevolution synchronizes remote data to local store, which is way
different from accessing the data it synchronized.

> Is there any document about them? How to? Where? Example?

Again, it depends on your use case. What kind of data do you want to
access? Being it calendar related or address book related? Apart of
reading developer documentation for EBookClient and/or ECalClient, you
may find these links eventually helpful too:

https://wiki.gnome.org/Apps/Evolution/#Reference_Manuals (not that
fresh as the developer documentation generated from the sources)

https://gitlab.gnome.org/GNOME/evolution-data-server/-/tree/master/src%2Fexamples

https://gitlab.gnome.org/GNOME/evolution-data-server/-/tree/master/tests

        Bye,
        Milan

_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: Integration with syncevolution

Hamzeh Nasajpour
Hi Milan,

Thank you for your quick reply.

In fact, I want to sync my online contacts (ex: Gmail contacts or ...) to local. Then I want to access to the local store for add/remove/edit/get contacts in local and again sync them. I need to do these acts (add/remove/edit/get) in my C++ applications.

So my components:
* syncevolution for syncing the remote data to the local store
* A middle layer for access to the local store (ex: read/write contacts)
* C++ Applications: they have access via this middle layer.

And now: what's the middle layer? evolution-data-service? `libsyncevolution`? or any other library for access to local store?

Regards.
Hamzeh


On Thu, Apr 16, 2020, at 11:00 AM, Milan Crha via evolution-list wrote:

> On Thu, 2020-04-16 at 08:34 +0430, [hidden email] wrote:
> > I want to integrate my C++ applications with syncevolution via
> > `libsyncevolution` or `eds`?
>
> Hi,
> what do you mean with 'integrate', please? That's important, because
> syncevolution synchronizes remote data to local store, which is way
> different from accessing the data it synchronized.
>
> > Is there any document about them? How to? Where? Example?
>
> Again, it depends on your use case. What kind of data do you want to
> access? Being it calendar related or address book related? Apart of
> reading developer documentation for EBookClient and/or ECalClient, you
> may find these links eventually helpful too:
>
> https://wiki.gnome.org/Apps/Evolution/#Reference_Manuals (not that
> fresh as the developer documentation generated from the sources)
>
> https://gitlab.gnome.org/GNOME/evolution-data-server/-/tree/master/src%2Fexamples
>
> https://gitlab.gnome.org/GNOME/evolution-data-server/-/tree/master/tests
>
> Bye,
> Milan
>
> _______________________________________________
> evolution-list mailing list
> [hidden email]
> To change your list options or unsubscribe, visit ...
> https://mail.gnome.org/mailman/listinfo/evolution-list
>
_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: Integration with syncevolution

Gnome Evolution - General mailing list
On Thu, 2020-04-16 at 11:11 +0430, Hamzeh Nasajpour wrote:
> In fact, I want to sync my online contacts (ex: Gmail contacts or
> ...) to local. Then I want to access to the local store for
> add/remove/edit/get contacts in local and again sync them. I need to
> do these acts (add/remove/edit/get) in my C++ applications.

        Hi,
being this about Google services, you can avoid all of that and use
libgdata to access Google data directly.

You can also avoid syncevolution (it's an unnecessary overhead in your
case, from my point of view), simply configure Google account either
directly in Evolution, or in GNOME Online Accounts (where you can
select what data should be synchronized). With that you can access the
data using EBookClient, eventually ECalClient, as mentioned earlier,
because, in both cases, you'll see your calendars/books/... in anything
what accesses the data using evolution-data-server API.
        Bye,
        Milan

_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: Integration with syncevolution

Hamzeh Nasajpour

> being this about Google services, you can avoid all of that and use
> libgdata to access Google data directly.

Google was only an example, maybe fastmail or any other online provider.

> You can also avoid syncevolution (it's an unnecessary overhead in your
> case, from my point of view), simply configure Google account either
> directly in Evolution, or in GNOME Online Accounts (where you can
> select what data should be synchronized).

Generally, I have some limitations that I don't want to use `Evolution` or `GOA`.

As a result:
* I should install `syncevolution` and `evolution-data-service`.
* set-up it for synchronization - my Online account and local store.
* Access to the local store (Data: contact, calendar and ...) with APIs of `evolution-data-service` (`ECalClient`, `EBookClient`).

Right?


_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: Integration with syncevolution

Gnome Evolution - General mailing list
        Hi,

On Thu, 2020-04-16 at 12:21 +0430, Hamzeh Nasajpour wrote:
> As a result:
> * I should install `syncevolution` and `evolution-data-service`.
> * set-up it for synchronization - my Online account and local store.
> * Access to the local store (Data: contact, calendar and ...) with
> APIs of `evolution-data-service` (`ECalClient`, `EBookClient`).
>
> Right?

Right. :) (only it's "evolution-data-server", not "service", but it's
just a typo).

        Bye,
        Milan


_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: Integration with syncevolution

Hamzeh Nasajpour
> only it's "evolution-data-server", not "service", but it's just a typo

Yes, you're right. ;)

As the last questions:
1. The `syncevolution` is two-way synchronizing tools? I mean always we synchronize two things with each other. Remote to Local and Local to Remote. I want to say if I change the local store (ex: Write to locale store contact), so these changes will be applied to the remote?
 
2. As I said I have some C++ applications that should be able to working with the local store via APIs of `evolution-data-server`. In addition I should run some CLI commands for `configure`, `sync` and so on with `syncevolution` cli app. Is there any library for these acts that I can use them instead of running the CLI commands?


Regards,
Hamzeh
_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: Integration with syncevolution

Gnome Evolution - General mailing list
On Thu, 2020-04-16 at 12:52 +0430, Hamzeh Nasajpour wrote:
> 1. The `syncevolution` is two-way synchronizing tools?

        Hi,
I suppose so, but I do not know for sure. I do not use syncevolution,
it is not managed here, it's a standalone project (
https://www.syncevolution.org).

> 2. As I said I have some C++ applications that should be able to
> working with the local store via APIs of `evolution-data-server`. In
> addition I should run some CLI commands for `configure`, `sync` and
> so on with `syncevolution` cli app. Is there any library for these
> acts that I can use them instead of running the CLI commands?

Again, it's a question for the syncevolution developers, not here.

As I said, the syncevolution is an unneeded overhead from my point of
view. You can configure most things directly in Evolution (or by using
evolution-data-server API) and use those ESource-s instead.
        Bye,
        Milan

_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list
Reply | Threaded
Open this post in threaded view
|

Re: Integration with syncevolution

Adam Tauno Williams
In reply to this post by Hamzeh Nasajpour
On Thu, 2020-04-16 at 08:34 +0430, [hidden email] wrote:
> Hi,
> > libsyncevolution can be used in simple applications without the
> dependency on any kind of IPC mechanism
> I want to integrate my C++ applications with syncevolution via
> `libsyncevolution` or `eds`?
> Is there any document about them? How to? Where? Example?

I would start by looking at the Folks library/API - which is what GNOME
Contacts uses
https://wiki.gnome.org/Projects/Folks
https://wiki.gnome.org/Apps/Contacts

--
Adam Tauno Williams <mailto:[hidden email]> GPG D95ED383
OpenGroupware Developer <http://www.opengroupware.us/>
_______________________________________________
evolution-list mailing list
[hidden email]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list