Share events between Cozy


#1

The Cozy sharing has arrived!

This post explains how to share a calendar event to your Cozy’s contacts.

TL;DR

How to share an event:

  • Click on ‘Add guest’ from the event to share.
  • Type the guest’s Cozy - the autocomplete is available if the URL has previously been added in the contact form, via a ‘Cozy Cloud’ field.
  • Create the event, and wait for the recipients to accept the sharing.

Concept

First, 2 things must be dissociated:

  • The sharing protocol, of which a first draft is available here.
  • The applications using the sharing APIs.

The protocol allows to share any kind of document between Cozy servers.
In order to have a 1st simple use case using this protocol, we focused on the event sharing from the Calendar application.

Here are the steps to achieve this:

Prerequisites

  • Make sure your Cozy and your recipients’ are up-to-date. At this point, the stack versions are:
    • Data-system : 2.5.10
    • Proxy : 2.5.10
    • Home : 2.5.15
  • You also need the Calendar and Contacts apps:
    • Calendar : 1.0.40
    • Contacts : 2.1.12
  • Make sure a username is defined in your Cozy’s settings: it will be used to notify the recipients.

Add the contacts’ URLs

Type your recipient’s URL in his contact form: from the Contact application, select the ‘Cozy Cloud’ field after having clicked on ‘Add field’ at the bottom. You must then enter the complete Cozy address, e.g. https://cozyurl.cozycloud.cc

Share an event

From the Calendar app, click on ‘Add guest’ when you create the event you want to share. The search bar allows to easily find the contact URL thanks to the autocomplete, from his name, mail, or URL.
Notice that if you just have created this contact, it might be necessary to refresh the page in order to let it appear in the search.
You can also directly type the full URL and press ‘Enter’.

The contact address is then displayed in the guest list. The cloud icon shows that it concerns a Cozy sharing. If the mail was specified in the contact form, it is possible to click on the enveloppe, if you prefer your contact to receive a mail invitation. In this case, he will not receive the event in his Cozy.

Once the even is created, a sharing request is sent to all the recipients. A status icon on the left of each guest indicates if he has answered or not to the request: blue if it’s pending, green if it’s accepted, red if not.

Answer a share request

When someone shares with you, a notification is created in your Cozy, to warn you about the sharing request.
From the Calendar app, a button shows the pending shares. For each of them, it is possible to accept or deny. If you do accept, the event is sent on your Cozy and appears in your calendar!

From then, any modification done by the sharer will be automatically propagated to all the recipients that have accepted. A notification is created as well, to let them know about the changes.
For now, the recipients cannot modify the received events: it is read-only.

What is not possible yet

Here is a list of the not yet supported features we would like to see in Cozy:

  • Share dynamic set of documents : calendars, directories, etc.
  • Share binaries.
  • Grant the recipients the right to modify shared documents.
  • Share with platforms different from Cozy (ownCloud, nextCloud, Pydio, etc).

What is already possible

As a user, you feedback is welcome! The sharing is still in beta, and definitely improvable.

As a developer, you can integrate the sharing in your apps! The documentation describe the APIs. Warning, this is not finished, and could evolve in the next weeks.

Paul


News from the Cloud : event sharing - Node 4 migration