Project

General

Profile

Actions

Story #5824

closed

[Workbench] [Keep] collection browse/download server

Added by Tom Clegg over 9 years ago. Updated about 9 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Keep
Target version:
Start date:
05/21/2015
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Story points:
0.5

Description

Location Authentication mechanisms needed
  • Accept Authorization: OAuth2 {token} header, and set CORS headers1 (suitable for aware clients, like an in-browser app)
  • HTTP basic authentication just like arv-git-httpd (probably easier to use with general purpose tools: curl, wget, .netrc)
  • reader_token in path (suitable for "get a link to share" downloads)
  • Configured anonymous token (try this if other auths don't work)
Download URIs mirror Workbench's
  • http://dl.{domain}/collections/{uuid}/path/file.ext
  • http://dl.{domain}/collections/{portable_data_hash}/path/file.ext
  • http://dl.{domain}/collections/download/{uuid}/{token}/path/file.ext
  • http://dl.{domain}/collections/download/{portable_data_hash}/{token}/path/file.ext
MIME types Deployment Nice to have: directory listings
  • Very basic formatting (bootstrap would be nice but can wait)
  • OK if we show a directory listing only at the top level, similar to the way Workbench does it.
  • OK not to support directory listings at all (at least for the first version), and just let Workbench do that part?
  • Explicitly no index.html in place of directory listings.
    • This means "wget -r" can always be expected to work, but it also ensures this can't be used to host entire web sites along the lines of github pages. If we add this capability in the future we could add a -render-index flag. This would make more sense if it came with a bunch of other features anyway, like dynamically mapping vhosts to collections.

1 Do not accept cookies with CORS requests!


Subtasks 14 (0 open14 closed)

Task #6070: Refactor arv-git-httpd authenticator into a packageResolvedTom Clegg06/11/2015

Actions
Task #5851: Write integration testsResolvedTom Clegg06/17/2015

Actions
Task #6327: Set mime type headerResolvedTom Clegg06/17/2015

Actions
Task #6952: Review 5824-go-sdkResolvedTom Clegg08/11/2015

Actions
Task #6131: Sort out browser and command line authentication mechanismsResolvedTom Clegg05/21/2015

Actions
Task #5852: Write install docsResolvedTom Clegg10/14/2015

Actions
Task #7555: Workbench integration testsResolvedTom Clegg05/21/2015

Actions
Task #7700: Add -anonymous-token flagResolvedTom Clegg05/21/2015

Actions
Task #7744: Add keep_web_download_url configResolvedTom Clegg05/21/2015

Actions
Task #7708: Add upgrade notesResolvedTom Clegg05/21/2015

Actions
Task #7580: Accept CORS requestsClosedTom Clegg05/21/2015

Actions
Task #7754: Fix rails-style query string, disposition[]=attachmentResolvedTom Clegg05/21/2015

Actions
Task #7756: Decode + to space in keep-web, or encode space to %20 in workbenchResolvedTom Clegg05/21/2015

Actions
Task #7554: ReviewResolvedRadhika Chippada05/21/2015

Actions

Related issues 6 (0 open6 closed)

Related to Arvados - Bug #5426: [Workbench] Large downloads through workbench failResolved03/18/2015

Actions
Related to Arvados - Bug #5521: [Workbench] Slow download speed from browserClosed03/20/2015

Actions
Related to Arvados - Bug #7743: [Workbench] Hide file preview buttons when preview isn't possible with current keep-web configClosed05/21/2015

Actions
Related to Arvados - Story #8784: [Workbench] Use keep-web to generate directory listingsResolvedTom Clegg03/23/2016

Actions
Blocked by Arvados - Feature #6280: [SDKs] Go SDK can return an io.Reader for a given collection record and filenameResolvedTom Clegg06/10/2015

Actions
Blocks Arvados - Feature #6312: [Workbench] Use download service instead of passing Keep data through RailsResolved06/10/2015

Actions
Actions

Also available in: Atom PDF