← Back to team overview

ubuntu-phone team mailing list archive

Re: ownCloud app.

 

Resurrecting this old thread with some updates:

On 11/12/2014 09:33 AM, Alberto Mardegan wrote:
[...]
> I will help in the project, in my spare time. I actually plan to modify
> SyncEvolution to make it support retrieving username and password from
> Online Accounts. This is a work which could bring benefit to other sync
> providers as well.

I submitted a set of patches to SyncEvolution in order to have it use OA
for owncloud. The patches can be found here:

https://bugs.freedesktop.org/show_bug.cgi?id=86824

Alternatively, one can build SyncEvolution from this git repository,
which already contains these patches:
https://gitlab.com/mardy/syncevolution/commits/split-signon
(note that if you checkout the repository, you *have* to checkout the
"split-signon" branch; you won't find these change in the "master" branch!)

Here are the steps on how to test it on the desktop

Build SyncEvolution:

  ./configure --with-synthesis-src=none --prefix=/usr \
    --sysconfdir=/etc \
    --libexecdir=/usr/lib/x86_64-linux-gnu/syncevolution --enable-gui \
    --enable-dav --enable-uoa --libdir=/usr/lib/x86_64-linux-gnu
  make && sudo make install

Install the account plugin:

  bzr branch lp:~mardy/owncloud-app/test-se
  cd test-se && click build .
  sudo click install --user=<your-user> --allow-unauthenticated \
    ./com.ubuntu.developer.danielholm.owncloud-app_0.1_all.click

Then copy these two additional files:

  cp plugin/data/owncloud-{contacts,calendar}.service \
    ~/.local/share/accounts/services

Then, start "system-settings" (make sure you have the
ubuntu-system-settings-online-accounts package installed), go to
Accounts, and create your owncloud account.
Then run

  account-console list

and see what's the numeric ID of the owncloud account. Let's call it XX.
Then, configure evolution like this:

  syncevolution --configure --template webdav \
    username=uoa:XX,owncloud-contacts \
    syncURL=https://server/path/ \
    target-config@owncloud

and (note, replace <user> with your username)

  syncevolution --configure \

database=https://server/path/remote.php/carddav/addressbooks/<user>/contacts/
\
    backend=carddav target-config@owncloud mycontacts

Finally, you can test retrieving your contacts with:

  syncevolution --print-items target-config@owncloud mycontacts

If everything worked fine, you'll see a list of vcf being printed in the
standard output.

The next step is to modify sync-monitor to watch for owncloud accounts
and configure syncevolution for you.

Ciao,
  Alberto


References