nextcloud / nextcloud/server

Share access combination: read-only and upload of new files in same (internal)share or link

Open
#30,102 1 comment 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage enhancement feature: sharing needs review
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

Motivation: Is your feature request related to a problem? Please describe.
nextcloud as family event image sharing platform

event-content-sharing:
Nextcloud is used as a private instance to share family and party photos internally for the family. Every household has it's own account, like grandparents, parents and children. (Some households have their own nextcloud instance connected via federated share, but this should not impact the described use-case here.) Every household has a sync-client on the desktop syncing the "shared-with-me" folder. When family event like a birthday takes place, a lot of different people take photos there. So afterwards a central family member creates a share for the event and shares it with every party attended household. The sync-client creates automatically the folder for everyone receiving this share and everyone who did take a pictures is able to place its own photos there, as well as looking for the images of the others.

The problem there is, that we need access right combination in a single share of:

  • read-only access to existing files
  • upload capability for new files
  • forbidden delete existing files
  • forbidden overwrite or modification of existing files

So this comes down to access rights of read-only with upload capability.

For now this can be achieved by providing two different shares to the same folder, one as upload-only and one as read-only. But this is too complex to explain and maintain, especially for not technical advanced people like grandparents. So this is a crucial feature here for this use-case to keep it simple for the share-receiving party, providing data safety against erroneous file- overwrites, deletes, moves etc.

Describe the solution you'd like
The solution in my eyes would be to make it possible to combine the read-only and upload share option in the same share, providing read-only access to existing files and possibility to upload new ones, but protect against erroneous file- overwrites, deletes, moves. It is also in my eyes fine, that the uploader has after the upload only read-only access to its own uploaded files. The management access should lie in the ownership of the share, like the user who created the share, or the group-members of the groupfolder where it resides in.

Describe alternatives you've considered
In my eyes also business use-cases can benefit from this option, like the possibility to check days after an upload-only share upload, if the correct files were uploaded. It happens in my eyes also there quite often that a business needs a file-drop from a partner. When later questions arrive and a phone-call is initialized, where both sides need to sync their understanding, if they are talking about the "same" uploaded content. In this case it would be beneficial if also the uploader would be able to look into his own already uploaded file in read-only mode using the same share / link where the upload was done.

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 no files, tests, or entry points. Start by mapping the existing internal-share and link-share permission options, then define and test combined read-only and upload behavior, including protection against overwriting, deleting, and moving existing files.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.