nextcloud / nextcloud/calendar

Share with non-Nextcloud user via Email Address (allow write permissions)

Open
#3,941 1 comment 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop enhancement feature: caldav Feature: Sharing
Dominant language
JavaScript
Stars
1.2k
Forks
332
Avg merge
16h 13m
Merged PRs (30d)
137

Description

Is your feature request related to a problem? Please describe.

I'd love to share some of my calendars with external, non-nextcloud users and allow them to make modifications to my calendar (share the calendar with read/write permissions). I did not find a way to accomplish this with the builtin features of the Nextcloud Calendar App:

  • Using the builtin share-link method does not work in this scenario, because in this case the calendar is treated as read-only once added to a device such as iOS (WebCal)
  • Using the builtin share-with-user method does not work, because the users in question don't have a Nextcloud account (whether on this instance, nor on anyone else)

Describe the solution you'd like

I'd love to be able to share one or more calendars with an external email address. The process which I do have in mind works something like this:

  1. In the Nextcloud Calendar web application, I click on the share icon
  2. Then I'm entering the email address I'd live to share the Calendar with
  3. Once the email address is valid, the text of the button below the input field turns into something like "Share with Email Address"
  4. I click the button and Nextcloud Calendar sends an invitation link via mail
  5. The recipient opens the invitation link and if no password is set yet, the recipient chooses a password for his "External User" account
  6. The "External User" account's email address and password combination is saved to the Nextcloud database and assigned to my Nextcloud user (to allow the same email address to get access to multiple shared Calendars amongst Nextcloud users of the same instance)
  7. The "External User" is now able to add the shared Calendar to any device they want to by simply adding a regular CalDAV account with the email address as username and the chosen password

Describe alternatives you've considered

Of course I could simply create a Nextcloud account for the external user to accomplish this - but on a shared Nextcloud instance this is usually not possible without requiring the external user to create a paid subscription by themselves which is a bit much to ask for in terms of a simple Calendar sharing with write permissions.

Additional context

Here's a rough sketch of how the web interface can allow to invite an external mail address:

Nextcloud-Share-with-Email-Address

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names the Nextcloud Calendar web application's sharing flow but no files, tests, or entry points. Start by tracing the existing calendar share-link and share-with-user flows; done would require an external email invitation, an external account with credentials, and writable calendar access through CalDAV.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
authentication, authorization, full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.