Improve smartness of handling public and internal links
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
We've discussed improving sharing for a long while - the multiple types of share links are confusing, you can enter a name but people don't see the input box and so on. I know fully fixing this is hard, but there's a relatively quick thing that will help a lot to make public links work better.
The most common mistake is mistaking a public link for an internal link. So what if Nextcloud would act like this:
- if you open a public link and are not logged in, you see what you see now
- if you are the user who created the public link, you see the public link as you see it now (to check how it looks for others - people test the links often)
- if you open the public link and you are logged in into that same Nextcloud and have access to the file, it acts as an internal link
- if you open the public link and you are logged in into that same Nextcloud and do not have access to the file, the file is shared with you and then loads it, acting as an internal link
We could alternatively add a big, obvious button that does some or all of these things, for cases where for example somebody else who is logged in wants to check out what the public link looks like. But I would vote for 'just working'.
this isn't a full fix of the link confusion issue, but it would be a 60% solution... In the future, we could eliminate internal links, and have only 'public' links that have a switch - "external" on or off, a bit like Talk rooms can be configured to let guests in or not.
It would make the checking of a public link by a colleague a bit harder (they would have to log out or use a anonymous window). I dunno if this really is an issue - with Google and Microsoft you can't do this either.
Discussed with @jancborchardt and @nimishavijay
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by tracing how Nextcloud distinguishes public-link access from internal-link access and how permissions are checked, then verify the four logged-in and anonymous behaviors described in the issue without losing the creator's current public-link view.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- authorization, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100