Project

General

Profile

Actions

Idea #5824

closed

[Workbench] [Keep] collection browse/download server

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

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Keep
Target version:
Start date:
05/21/2015
Due date:
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/2015Actions
Task #5851: Write integration testsResolvedTom Clegg06/17/2015Actions
Task #6327: Set mime type headerResolvedTom Clegg06/17/2015Actions
Task #6952: Review 5824-go-sdkResolvedTom Clegg08/11/2015Actions
Task #6131: Sort out browser and command line authentication mechanismsResolvedTom Clegg05/21/2015Actions
Task #5852: Write install docsResolvedTom Clegg10/14/2015Actions
Task #7555: Workbench integration testsResolvedTom Clegg05/21/2015Actions
Task #7700: Add -anonymous-token flagResolvedTom Clegg05/21/2015Actions
Task #7744: Add keep_web_download_url configResolvedTom Clegg05/21/2015Actions
Task #7708: Add upgrade notesResolvedTom Clegg05/21/2015Actions
Task #7580: Accept CORS requestsClosedTom Clegg05/21/2015Actions
Task #7754: Fix rails-style query string, disposition[]=attachmentResolvedTom Clegg05/21/2015Actions
Task #7756: Decode + to space in keep-web, or encode space to %20 in workbenchResolvedTom Clegg05/21/2015Actions
Task #7554: ReviewResolvedRadhika Chippada05/21/2015Actions

Related issues

Related to Arvados - Bug #5426: [Workbench] Large downloads through workbench failResolved03/18/2015Actions
Related to Arvados - Bug #5521: [Workbench] Slow download speed from browserClosed03/20/2015Actions
Related to Arvados - Bug #7743: [Workbench] Hide file preview buttons when preview isn't possible with current keep-web configClosed05/21/2015Actions
Related to Arvados - Idea #8784: [Workbench] Use keep-web to generate directory listingsResolvedTom Clegg03/23/2016Actions
Blocked by Arvados - Feature #6280: [SDKs] Go SDK can return an io.Reader for a given collection record and filenameResolvedTom Clegg06/10/2015Actions
Blocks Arvados - Feature #6312: [Workbench] Use download service instead of passing Keep data through RailsResolved06/10/2015Actions
Actions

Also available in: Atom PDF