Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Public link" share context menu shortcut #6356

Closed
SamuAlfageme opened this issue Feb 12, 2018 · 25 comments
Closed

"Public link" share context menu shortcut #6356

SamuAlfageme opened this issue Feb 12, 2018 · 25 comments
Assignees
Labels
Design & UX Enhancement feature:sharing p2-high Escalation, on top of current planning, release blocker ReadyToTest QA, please validate the fix/enhancement
Milestone

Comments

@SamuAlfageme
Copy link
Contributor

From the user feedback received after the 2.4 release:

It seems like we're missing a direct/quick access option to generate a public link without going into more detail. This was briefly discussed in the past: #5695 (comment)

I think the most common use case for sharing links is to get copied, so a shortcut could also be nice.

We currently follow web UI's workflow and design when it comes to creating a new public link share. However, I reckon the use case on the file explorer might be slightly different; i.e. as a user, I just want to create a public link for a file/folder and get it copied into my clipboard so I can send it via chat/mail client.

This "Generate/Copy public link" entry should create a default share link (same result as when using the "Create new" button with the default name on the "ownCloud > Share... > Public Link" tab = 3 clicks) or re-use the one with the proper permissions (that might be more complicated and require some sort of 'find default link' logic in place).

@michaelstingl
Copy link
Contributor

@felixheidecke @pmaier1 Simplify share link generation in the web UI too? Any plans?

@ckamm
Copy link
Contributor

ckamm commented Feb 15, 2018

@SamuAlfageme Ah, so people assume that "private link" is the same as sharing by creating a publicly accessible link share. I agree adding an option for public links to the context menu might work for making people stop and think about what they want.

Just adding a "Create and copy public link" button is complex though as creating a public link might require setting a password or expiration date. We could send users to the dialog if necessary? And do the same if there is more than one public link share?

@ckamm
Copy link
Contributor

ckamm commented Apr 3, 2018

@SamuAlfageme You mentioned this as important for 2.5: Do you think my suggestion above makes sense?

@SamuAlfageme
Copy link
Contributor Author

@ckamm merely based on the user feedback, I'll at least (until core does something about UX as well) get that, yeah! Let's add an explicit shortcut for the public link tab.

@guruz guruz added the p2-high Escalation, on top of current planning, release blocker label Apr 3, 2018
@ckamm
Copy link
Contributor

ckamm commented Apr 6, 2018

Looking at this in detail I see the following:

  • When the context menu is requested we don't yet know whether any public link shares exist. We don't currently fetch that data in advance and querying it at menu-request time would be bad.
  • We can check whether creating a new public link share would be possible without user interaction (no password or expiry is required)

Thus I'd go for these two options:

  • If a public share can be created: "Copy public link to clipboard". This will create a new "Context menu share" or reuse it if it already exists and not open a dialog.
  • If no public share can be created: "Manage public links..." which simply opens the public link section of the sharing dialog

Question: For private links we have "copy to clipboard" and "email" - do we also have both for public links? Submenus would be neat...

@SamuAlfageme

@SamuAlfageme
Copy link
Contributor Author

@ckamm I like your "Context menu share" approach.

reuse it if it already exists

We need to store this info. (flag w/ location) on the journal for that sake?

Submenus would be neat

Maybe remove all "email" option for the time being (we keep them available on the dialog) and have just "Copy {Public, Private} link". Copying is more useful/used IMO and too many sub-menus might be overkill.

@pmaier1 for input & wording review.

@ckamm
Copy link
Contributor

ckamm commented Apr 6, 2018

Also, the created link share would be read-only by default.

ckamm added a commit that referenced this issue Apr 6, 2018
* The new menu option will fetch shares and create a new link share if
  no "context menu share" currently exists.
* Various cleanup of common operations in socketapi happened as well,
  in particular there's now FileData::get() that calculates all the
  relevant paths that are useful for most socketapi actions.
@michaelstingl
Copy link
Contributor

I thought the attempt was to create a „default“ link without opening the full UI. @SamuAlfageme could you clarify?

@SamuAlfageme
Copy link
Contributor Author

@michaelstingl on #6356 (comment) my original idea was:

This "Generate/Copy public link" entry should create a default share link (same result as when using the "Create new" button with the default name on the "ownCloud > Share... > Public Link" tab = 3 clicks)

Such link permissions are taken from the path's max permissions (server-reported, from owncloud/core#23918) - while this adds complexity to the link's creation, will mimic server behavior and might be closer to the "expected behavior".

@ckamm any reason to do read-only instead?

@ckamm
Copy link
Contributor

ckamm commented Apr 9, 2018

@michaelstingl @SamuAlfageme My intention was to do exactly that. If you create a new public share in the ui it will be set to "Read Only" by default too. That's also what is selected by default in the web ui.

User flow 1: creating a default link is possible (no mandatory expiry or password)

  • User selects "Copy public link to clipboard" from the context menu
  • In the background: if no link share called "Context menu share" exists, a new one is created.
  • The link for that share is copied to the clipboard.
  • No ui is shown at all.

User flow 2: creating a default link share is impossible

  • The above context menu entry is not shown. Instead there's "Manage public links..." which opens the link share page of the sharing dialog when clicked.

@SamuAlfageme
Copy link
Contributor Author

@ckamm indeed - awesome, thanks for clarifying!

@ckamm
Copy link
Contributor

ckamm commented Apr 9, 2018

@SamuAlfageme @michaelstingl On #6434 @ogoffart remarked that the "Manage public links..." option seems redundant. I think our main goal here is to show the contrast between public links and private links to not confuse users and it may be worth it to have the redundant option if it helps clarify things. What are your opinions?

@michaelstingl
Copy link
Contributor

"Manage Shares…" instead of "Shares…"? Then we don't need a "Manage public links..."?

@ckamm
Copy link
Contributor

ckamm commented Apr 10, 2018

@michaelstingl That doesn't highlight the public vs private link issue though. The way I understood the original issue was that when presented with the context menu options

- Share...
- Copy private link to clipboard
- ...

unsuspecting users clicked the "copy private link" button and expected to be able to share publicly with that link. We want to do something to the context menu to avoid that misunderstanding. For the easy case it's solved because users now see:

- Share...
- Copy public link to clipboard
- Copy private link to clipboard
- ...

Which highlights that there's a difference between a public and a private link. (it does have the new problem of suggesting that everything has a public link by default)

But what do we show to the user when we can't silently create a new public link share for them?

How about we show the exact same thing but "Copy public link to clipboard" opens the link share dialog?

@guruz
Copy link
Contributor

guruz commented Apr 13, 2018

We want to do something to the context menu to avoid that misunderstanding.

Ack

How about we show the exact same thing but "Copy public link to clipboard" opens the link share dialog?

Yes, please go for the simple solution for 2.5

ckamm added a commit that referenced this issue Apr 16, 2018
* The new menu option will fetch shares and create a new link share if
  no "context menu share" currently exists.
* Various cleanup of common operations in socketapi happened as well,
  in particular there's now FileData::get() that calculates all the
  relevant paths that are useful for most socketapi actions.
ckamm added a commit that referenced this issue Apr 16, 2018
* The new menu option will fetch shares and create a new link share if
  no "context menu share" currently exists.
* Various cleanup of common operations in socketapi happened as well,
  in particular there's now FileData::get() that calculates all the
  relevant paths that are useful for most socketapi actions.
@ckamm ckamm added ReadyToTest QA, please validate the fix/enhancement and removed PR available labels Apr 16, 2018
@SamuAlfageme
Copy link
Contributor Author

🎉 Like how it works a lot! will care to write and explain this one up for the release blogpost, and the reasons behind the change.

Closing here!

@lexo-mfleuti
Copy link

The usability is very bad. Link sharing is very important. Sharing links is the primary reason why our customers use this product. It must be possible to work like in Dropbox: Richt click on file/folder -> Share public link -> with or without options dialog (in 99.99% of all cases people just want to share a file publicly with default settings, no need to show yet another dialog that requires like 3 additional clicks). It also does not make sense that in the appearing dialog I have to click on "Create link" again. I already want a link to be created. So there should be the following right click options:

  1. Copy public share link with default settings (no dialog) to clipboard
  2. Create public link with settings dialog
  3. Copy internal share link to clipboard
  4. Share (will open dialog box)

Also what does not work: It should be possible to click into an empty area of a folder and the contextmenu should allow me to share the folder I am currently in. Works in Dropbox like a charm.

It would be GREAT if you could improve the UI this way.

@michaelstingl
Copy link
Contributor

  • Copy public share link with default settings (no dialog) to clipboard
  • Copy internal share link to clipboard

@lexo-mfleuti please check with a current version (2.5.x). This is exactly what is in the context menu:

owncloud_and_contextmenu_and_hacker-songs_and_network

There are also plans to separate user/group shares from links. This would result in 2 separate entries in the context menu.

Also what does not work: It should be possible to click into an empty area of a folder and the contextmenu should allow me to share the folder I am currently in. Works in Dropbox like a charm.

Sounds like web UI? Wrong repo. But I think this is planned for the future ownCloud web UI… (Project Phoenix)

@lexo-mfleuti
Copy link

Thank you very much for your swift reply. I'm using newest V. 2.5.3. Of course I can share. But it's very annoying, slow and requires 7 clicks just to share 1 folder/file.

  1. Right-click on file/folder > 1 click
  2. Navigate to ownCloud menu > 1 click
  3. Click on "Copy public link to clipboard" > Wait (sometimes OC client crashes) > Popup window appears > 1 click
  4. Click on "Create new link" > wait > click on "..." > click on "copy to clipboard again" > 3 clicks
  5. Click on "close" > 1 click

It's already pretty time consuming to do that in the OC web UI but it's even worse on Desktop. It's killing my workflow.

Please see my screenshot (photoshopped context menu) on how I imagine it should work/look like


There are also plans to separate user/group shares from links. This would result in 2 separate entries in the context menu.

That's a nice feature. Then I'd suggest you enable a function in the OC settings where I can choose which functions I want/need in the context menu. Personally I would never need that but it's certainly a nice feature for an administrator. Perhaps you can create a "ownCloud Extended" menu in the contextmenu where these features would be located.


Sounds like web UI? Wrong repo. But I think this is planned for the future ownCloud web UI

No, I'm only talking about the windows contextmenu / behaviour. When I want to share a folder I have to go back 1 level and click on the folder. With Dropbox for example I can click on the white area inside of a folder and directly and quickly (2 clicks) create a share link for the folder I'm currently in.
oc_contextmenu

@michaelstingl
Copy link
Contributor

Steps 4 and 5 aren’t necessary for a default public link. Link should be in the clipboard already. Is expiration or password enforced on this ownCloud instance?

For the crash, please open another issue.

For the slow response of the ownCloud server, please check the admin docs. Sounds like a bad setup of the ownCloud server?

Thank you very much for sharing the other suggestions, there are some really good ideas.

@lexo-mfleuti
Copy link

lexo-mfleuti commented Mar 1, 2019

Steps 4 and 5 aren’t necessary for a default public link. Link should be in the clipboard already.
I tried. It's not. Default Expiration is enabled yes.

Slow response: It's not slow from the servers' perspective. But it takes a moment for the dialog to open and for the link to be created (1-2s). I guess that's normal but it blocks the workflow. It could do that in the background so that I would not be bothered by it.

Crash: It's a client issue, not a server issue. The client software crashes like 10x per day at least. Only when sharing links. Works fine otherwise. So I started to share links on the web UI which is actually the fastet way: I open up the folder in the web using the context-menu and use the share-function there. Requires less clicks. That should tell you that something is really wrong with the UIX ;)

Me and our whole team conclude that the way the software works right now is not very efficient. Too many clicks are required. Imagine we use this function like 50x per day. The primary reason why we use the software is because we need to share a lot of files. It would be great if you could change the behaviour to allow quick and simple workflows.

Thanks a lot for your time and swift replies!

@michaelstingl
Copy link
Contributor

Crash: It's a client issue, not a server issue. The client software crashes like 10x per day at least. Only when sharing links. Works fine otherwise.

Sure, the crash is a client issue. Please open a new issue here in the client repo and provide the relevant information, so the team can start to fix it.

@ckamm
Copy link
Contributor

ckamm commented Mar 1, 2019

@lexo-mfleuti The intention is for "Copy public link to clipboard" to create a new link share (unless a default-looking one exists already) and copy that to the clipboard without any further dialog popping up. I think that's exactly what you'd like to have.

Since it behaves differently for you that means the client thinks it can't create a default link share without user interaction. Currently it thinks so if "require password" or "require expire date" is enabled. I assume you have the latter set.

This sounds like the client shouldn't give up as easily and be ok with creating a public share with the default maximum expire date.

@lexo-mfleuti Does that seem right?
@michaelstingl Does this make sense to you?

@ckamm ckamm reopened this Mar 1, 2019
@ckamm
Copy link
Contributor

ckamm commented Mar 1, 2019

Let's make a new ticket, not reopen this one.

@lexo-mfleuti
Copy link

@ckamm

This sounds like the client shouldn't give up as easily and be ok with creating a public share with the default maximum expire date.
Exactly. If I want to share a link and change the default date I could select Create custom share link (option dialog), according to my screendesign for customization.

@ckamm + @michaelstingl
It would be great if you could make the sharing as easy as it's stated on my screendesign. Again, premium solution would be if I could set in the settings of the client, which share options I desire to keep the context menu clean. I know that from the subversion client Tortoise (see screenshot). I'll paste this info into the new thread quickly.

Thanks a lot again! Happily looking forward to such new features :)
tortoise option dialog

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Design & UX Enhancement feature:sharing p2-high Escalation, on top of current planning, release blocker ReadyToTest QA, please validate the fix/enhancement
Projects
None yet
Development

No branches or pull requests

5 participants