hyku icon indicating copy to clipboard operation
hyku copied to clipboard

enable browsing in cloud storage

Open hannahfrost opened this issue 7 years ago • 18 comments

Is Hyku missing Browse Everything?

hannahfrost avatar Apr 04 '17 17:04 hannahfrost

No, but it's only configured for "File System"

screen shot 2017-04-04 at 1 06 27 pm

jcoyne avatar Apr 04 '17 18:04 jcoyne

You configure the providers with this file, so we'd need to write some sort of adapter that could hold the keys for each tenant: https://github.com/projecthydra-labs/hyku/blob/master/config/browse_everything_providers.yml

jcoyne avatar Apr 04 '17 18:04 jcoyne

Looks like we could crudely but easily monkeypatch this method: https://github.com/projecthydra/browse-everything/blob/d0438f114a9b5c0a12fa6a5b493cb41d31255019/lib/browse_everything.rb#L38-L43

We could also do the proper OO thing and extend browse-everything and override config.

But in any case, configure can already take a hash, in which case it doesn't try to read the yaml. This is very doable.

atz avatar Apr 18 '17 01:04 atz

Sounds like we have a plan here. Ready for the Ready Column, @atz @jcoyne @mjgiarlo?

hannahfrost avatar Apr 27 '17 15:04 hannahfrost

@hannahfrost Do we want to take this on prior to the beta launch on 5/15, or prioritize it to happen during the beta after we've focused on QA/fixes?

mjgiarlo avatar Apr 27 '17 18:04 mjgiarlo

@mjgiarlo I'm good with making it a priority during the beta and after the current round of QA/fixes

hannahfrost avatar Apr 27 '17 18:04 hannahfrost

@hannahfrost OK! Me too.

mjgiarlo avatar Apr 27 '17 18:04 mjgiarlo

Also do we need a place in the UI to configure this? Design needed?

hannahfrost avatar Apr 27 '17 19:04 hannahfrost

@hannahfrost Ah, yes, good call.

mjgiarlo avatar Apr 27 '17 19:04 mjgiarlo

@jcoyne @mjgiarlo A couple of questions before I can do the design:

  • This is a Hyku ticket but should this be done in Hyrax? Just asking because I see a browse_everything_providers.yml in Hyrax.

  • Can you configure and activate more than one provider at a time?

ggeisler avatar May 03 '17 18:05 ggeisler

@ggeisler Yes, this should be done in Hyrax, and you can configure and activate more than one provider at a time, IIRC.

mjgiarlo avatar May 03 '17 20:05 mjgiarlo

Here is a first-pass at a mockup of how we might provide UI-based configuration of BrowseEverything. I've no experience with BrowseEverything so it's possible I've misunderstood things; the design here is basically just translating the browse_everything_providers.yml file to a UI.

I suppose it is possible that an easier first cut at this might be just to add BrowseEverything to the Settings table (first mockup below only) and just provide the on/off toggle to control whether the feature is presented to the end-user, and if it is set to On, then we still read the browse_everything_providers.yml file for provider configuration? In any case, the mockups below represent the goal of both enabling the feature and configuring providers through the UI.

Add BrowseEverything to the Administration > Settings page

Adds the BrowseEverything setting to the bottom of the table. The BrowseEverything entry is similar to other features in the table, except if we want to enable provider configuration through the UI, then we add a "Configure" toggle to give access the provider settings.

menu-setting

Provider configuration

Clicking the "Configure" toggle expands the page to reveal the provider configuration. This is a pretty standard form. The important things here are validation. Ideally, the user should not be able to save the form unless each checked provider is valid. If it isn't feasible to validate the entries for a provider, we should at least validate that each required field for a checked provider is not null before saving the form. (Ignore the horizontal line below the S3 optional heading; just a mockup artifact.)

configuration

ggeisler avatar May 11 '17 22:05 ggeisler

Below is an alternate way to present the page, if adding the configuration panel to the existing Settings page seems unwieldy (it is the only setting that has this expand/collapse section, which might be a little weird).

This assumes we reconfigure the current Settings page to allow secondary settings-related pages, similar to Hyku (see sidebar of mockup). (I think that would be a good idea, regardless of how we decide to implement this Browse Everything/Storage Providers page.)

Basically, give Storage Providers a dedicated settings page, with a tab for each provider. In each provider's tab section, present the same options as in the mockup above.

display-set-mockups_graffle__admin__cloud_storage__browse_everything_

ggeisler avatar May 27 '17 01:05 ggeisler

storage provider tabs ++

dbernstein avatar May 31 '17 17:05 dbernstein

We decided to work on this immediately after returning from OR2017.

mjgiarlo avatar May 31 '17 17:05 mjgiarlo

Needed: how to encrypt and handle users' credentials.

mjgiarlo avatar May 31 '17 17:05 mjgiarlo

Lots of good stuff here in this thread. Needs to be re-expressed in a new ticket and added to the Hyrax backlog @vantuyls

hannahfrost avatar Nov 03 '17 05:11 hannahfrost

https://github.com/samvera/hyrax/issues/2110

vantuyls avatar Nov 04 '17 15:11 vantuyls