Project

General

Profile

Actions

Feature #16622

closed

Collection/project pages include instructions to connect via WebDAV and S3

Added by Peter Amstutz over 4 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
Story points:
2.0
Release relationship:
Auto

Description

Item in the context menu for collections and projects

Open a dialog box with information on how to connect to the collection or project using WebDAV or S3.

Should include a hyperlink that works with cyberduck/mountainduck if the user has something like dav:// set up as a URL handler.


Subtasks 1 (0 open1 closed)

Task #17085: Review 16622-dav-s3-dialogResolvedPeter Amstutz01/05/2021Actions
Actions #1

Updated by Peter Amstutz over 4 years ago

  • Subject changed from Collection/project pages include information, links for browsing via WebDAV to Collection/project pages include instructions to browse via WebDAV
Actions #2

Updated by Ward Vandewege over 4 years ago

  • Description updated (diff)
Actions #3

Updated by Ward Vandewege over 4 years ago

  • Description updated (diff)
Actions #4

Updated by Ward Vandewege over 4 years ago

  • Description updated (diff)
Actions #5

Updated by Peter Amstutz over 4 years ago

  • Subject changed from Collection/project pages include instructions to browse via WebDAV to Collection/project pages include instructions to connect via WebDAV and S3
Actions #6

Updated by Peter Amstutz about 4 years ago

  • Target version set to 2020-11-18
Actions #7

Updated by Lucas Di Pentima about 4 years ago

  • Assigned To set to Lucas Di Pentima
Actions #8

Updated by Peter Amstutz about 4 years ago

  • Target version changed from 2020-11-18 to 2020-12-02 Sprint
Actions #9

Updated by Peter Amstutz about 4 years ago

  • Story points set to 2.0
  • Description updated (diff)
Actions #10

Updated by Lucas Di Pentima almost 4 years ago

  • Target version changed from 2020-12-02 Sprint to 2020-12-16 Sprint
Actions #11

Updated by Lucas Di Pentima almost 4 years ago

  • Target version changed from 2020-12-16 Sprint to 2021-01-06 Sprint
Actions #12

Updated by Peter Amstutz almost 4 years ago

  • Assigned To changed from Lucas Di Pentima to Peter Amstutz
Actions #13

Updated by Peter Amstutz almost 4 years ago

16622-dav-s3-dialog @ arvados-workbench2|27d2ca4c2691cad55993f25a4427d48e86ec6166

I've manually tested this so I think the instructions are accurate. We could also add instructions for MacOS, and/or using arv-mount or arv-get/arv-put.

I did not add any tests. I'm not entirely sure what testing would be useful. I'm open to suggestions.

developer-tests-workbench2: #221

Actions #14

Updated by Lucas Di Pentima almost 4 years ago

Some comments:

  • I've tried windows, gnome & mac:
    • Windows 10 for some reason didn't work for me, when I enter the https://my-arvbox-ip:9002/ URL on the dialog and clicked on Next, an error dialog appears with a message like "the folder name doesn't seem valid, choose another one" (or similar, as I have it in spanish). I have confirmed connectivity between my arvbox VM and windows VM.
    • GNOME worked great!
    • On Mac:
      • if I use the provided url for the GNOME case when typing cmd-k on the "Finder" (macos' file manager), the cyberduck software starts with the correct data and I just have to add the password on the login dialog.
      • if I use the Finder's 'connect to server' feature (cmd-k or clicking on the "Go" menu -> "connect to server" item) and use the windows' URL, I can mount the entire user's webdav but couldn't mount a single collection by appending /c=coll-uuid/ like on the GNOME case, not sure why.
  • The story also list the projects to have the same kind of instructions.
  • Have you tried adding hyperlinks?
    • On windows with Chrome, the davs:// URL (kind of) works when having Mountain Duck installed: it doesn't add the /c=coll-uuid/ path on the connection profile so it isn't a 100% seamless experience.
    • On GNOME with Chromium, the davs:// didn't work for me.
    • On Mac with Chrome & Safari, the davs:// URL worked great with Cyberduck installed.
  • For testing, I guess you could add a unit test that mounts the dialog component and confirm that the correct data is being displayed. Here's an example of a unit test doing just that: src/views/not-found-panel/not-found-panel-root.test.tsx
Actions #15

Updated by Peter Amstutz almost 4 years ago

  • Status changed from New to In Progress

Lucas Di Pentima wrote:

Some comments:

  • I've tried windows, gnome & mac:
    • Windows 10 for some reason didn't work for me, when I enter the https://my-arvbox-ip:9002/ URL on the dialog and clicked on Next, an error dialog appears with a message like "the folder name doesn't seem valid, choose another one" (or similar, as I have it in spanish). I have confirmed connectivity between my arvbox VM and windows VM.

This took me down a rabbit hole, but I think it should work for all cases now.

  • On Mac:
    • if I use the provided url for the GNOME case when typing cmd-k on the "Finder" (macos' file manager), the cyberduck software starts with the correct data and I just have to add the password on the login dialog.
    • if I use the Finder's 'connect to server' feature (cmd-k or clicking on the "Go" menu -> "connect to server" item) and use the windows' URL, I can mount the entire user's webdav but couldn't mount a single collection by appending /c=coll-uuid/ like on the GNOME case, not sure why.

Can you confirm that the directions it gives now are correct for MacOS.

  • The story also list the projects to have the same kind of instructions.

It is unclear if /by_id/project-uuid works on WebDAV. It should work for S3. I'll add it.

  • Have you tried adding hyperlinks?

Added.

  • For testing, I guess you could add a unit test that mounts the dialog component and confirm that the correct data is being displayed. Here's an example of a unit test doing just that: src/views/not-found-panel/not-found-panel-root.test.tsx

I'll look into it.

Actions #16

Updated by Peter Amstutz almost 4 years ago

16622-dav-s3-dialog @ arvados-workbench2|701db873d602c7f1ba414ebbbf07551892587055

  • Added menu item to show S3 for projects
  • Refactored the "admin projects menu" in the process
  • WebDAV doesn't support projects under /by_id/ for some reason, so only show the s3 information.
  • Need to look at adding a test.

developer-run-tests: #2249

Actions #17

Updated by Lucas Di Pentima almost 4 years ago

  • I think the tab labels are interchanged between the first 2
  • Mac & Windows worked great! (On windows I had to import arvbox instance's .pem file to avoid previous misleading errors)
    • If you add username<at-sign> to the https:// URL, on Mac the user field will be auto auto-filled (and ignored on windows, sadly)
  • Cyberduck failed on me with the link using /by_id/...., it was working previously with /c=coll-uuid/
    • If you add username<at-sign> to the davs:// URL, Cybeduck will auto fill the username field (at least on Mac)
  • On GNOME, both /by_id/ and /c=coll-uuid worked fine, so I think could be unified with what works for cyberduck. Adding the username to the URL also works, requiring the user to only enter the password.

(Please note that the above tests I guess failed because the commit id was used on the wrong test job)

Actions #18

Updated by Peter Amstutz almost 4 years ago

  • Target version changed from 2021-01-06 Sprint to 2021-01-20 Sprint
Actions #19

Updated by Peter Amstutz almost 4 years ago

Lucas Di Pentima wrote:

  • I think the tab labels are interchanged between the first 2

Fixed

  • If you add username<at-sign> to the https:// URL, on Mac the user field will be auto auto-filled (and ignored on windows, sadly)

In my tests on Windows adding username<at-sign> would make it treat the URL as invalid.

  • Cyberduck failed on me with the link using /by_id/...., it was working previously with /c=coll-uuid/

What do you mean by "failed" ?

  • If you add username<at-sign> to the davs:// URL, Cybeduck will auto fill the username field (at least on Mac)
  • On GNOME, both /by_id/ and /c=coll-uuid worked fine, so I think could be unified with what works for cyberduck. Adding the username to the URL also works, requiring the user to only enter the password.

I added the username back in for the "dav:" variant.

I added enzyme unit tests, which did turn out to be useful for checking correct output for different variations of configuration.

16622-dav-s3-dialog @ arvados-workbench2|e2b8fc2b2f4eb4dde99dbbf7d060e5b7a6bb4e92

developer-tests-workbench2: #225

Actions #20

Updated by Lucas Di Pentima almost 4 years ago

I've re-tried everything and it worked great.

This LGTM, thanks!

Actions #21

Updated by Peter Amstutz almost 4 years ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF