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

Spike: Look at more broadly supported libraries that might replace BrowseEverything #207

Closed
jeremyf opened this issue Dec 5, 2022 · 4 comments
Assignees
Labels
SL-AC Service label: Advice / consultancy
Milestone

Comments

@jeremyf
Copy link
Contributor

jeremyf commented Dec 5, 2022

The goal is to come back with a effort estimate on an alternate.

Let's look at https://samvera.slack.com/archives/CB750PLNN/p1668024866763329

For example https://github.com/transloadit/uppy/

Note it does not support SharePoint

@jeremyf jeremyf converted this from a draft issue Dec 5, 2022
@jeremyf jeremyf added this to the AHRC 2 milestone Dec 5, 2022
@jillpe jillpe moved this to Ready for Development in britishlibrary Dec 5, 2022
@crisr15
Copy link

crisr15 commented Dec 6, 2022

It does not look like it supports SharePoint, but it does mention One Drive which I think is the SharePoint app they were most interested in using.

@jeremyf jeremyf self-assigned this Dec 6, 2022
@jeremyf jeremyf moved this from Ready for Development to In Development in britishlibrary Dec 6, 2022
@jeremyf
Copy link
Contributor Author

jeremyf commented Dec 6, 2022

Problem Statement

The Browse Everything gem is maintained by the Samvera Community; at present there is minimal resources available for it’s maintenance. And as of November 30th the community slated Browse Everything for deprecation.

In this research spike, we want to consider how to proceed with this knowledge.

Recommendation

Given the current state of Browse Everything and looming deprecation, I propose that we clarify the functional requirements that the British Libraries has. What specifically are the British Libraries looking for in regards to functionality provided by Browse Everything.

From that information gathering, we can begin to assess how to proceed along murky pathways.

Initial Discussion

The setup of Browse Everything is, as one contributor put it “I think I am realizing why everyone just forks it… it needs a lot of rethinking to work right and be usable from modern build processes.”

In the Browse Everything Slack channel there are conversations about possible replacements; however nothing has coalesced.

Even though it’s slated for deprecation, there are no immediate references to viable replacements. Indiana University is exploring replacing Browse Everything in Avalon with Uppy.io. There are alternatives to Uppy.

The assumption of Browse Everything does ripple through the current stack, see the details below for more information on present dependencies/references to Browse Everything in the British Library dependencies

Cursory Review of Uppy IO

Uppy IO lists the following sources:

  • Drag & Drop: plain and simple drag-and-drop area
  • Drop Target: drag-and-drop area on any element on the page
  • File Input: even more plain and simple, just a button
  • Audio: upload audio recordings
  • Webcam: upload selfies or audio / video recordings
  • Screen capture: upload selfies or audio / video recordings
  • Box: import files from Box
  • Dropbox: import files from Dropbox
  • Google Drive: import files from Google Drive
  • Facebook: import files from Facebook
  • Instagram: import files from Instagram
  • OneDrive: import files from OneDrive
  • Zoom: import files from Zoom
  • Unsplash: import images from Unsplash
  • Import From URL: import files from any public URL

Missing from the list are AWS and SharePoint. There is a community package for AWS and Uppy but I’m unable to find a Share Point package.

Reviewing Current Stack Implementation Details

To generate the following lists, I used this script: rg "browse.?everything" -i app --files-with-matches

In Hyrax v2.9.6, the following ./app files reference the Browse Everything gem:

  • app/assets/javascripts/hyrax.js
  • app/assets/stylesheets/hyrax/_browse_everything_overrides.scss
  • app/assets/stylesheets/hyrax/_hyrax.scss
  • app/assets/javascripts/hyrax/browse_everything.js
  • app/jobs/import_url_job.rb
  • app/views/hyrax/base/_form_files.html.erb
  • app/controllers/concerns/hyrax/works_controller_behavior.rb
  • app/services/hyrax/default_middleware_stack.rb
  • app/actors/hyrax/actors/file_set_actor.rb
  • app/actors/hyrax/actors/create_with_remote_files_actor.rb
  • app/actors/hyrax/actors/create_with_remote_files_ordered_members_actor.rb

In v3.5.1 of Bulkrax, the following ./app files reference the Browse Everything gem:

  • app/views/bulkrax/importers/_xml_fields.html.erb
  • app/views/bulkrax/importers/_browse_everything.html.erb
  • app/views/bulkrax/importers/_bagit_fields.html.erb
  • app/views/bulkrax/importers/_csv_fields.html.erb
  • app/parsers/bulkrax/application_parser.rb
  • app/jobs/bulkrax/download_cloud_file_job.rb

In the British Library application code there are the following ./app references to Browse Everything:

  • app/services/hyrax/default_middleware_stack.rb
  • app/assets/javascripts/application.js
  • app/controllers/concerns/hyrax/works_controller_behavior.rb
  • app/views/hyrax/base/_form_files.html.erb
  • app/helpers/application_helper.rb

@jeremyf
Copy link
Contributor Author

jeremyf commented Dec 6, 2022

On 2022-12-06 SoftServ and British Libraries are slated to discuss the recommendation.

@jeremyf
Copy link
Contributor Author

jeremyf commented Dec 6, 2022

Given that @cziaarm has SharePoint working in BrowseEverything for another client, and there are no community suggested replacements, we're going to proceed with BrowseEverything as our intended technical delivery of @j-basford's stated functional needs.

@jeremyf jeremyf closed this as completed Dec 6, 2022
Repository owner moved this from In Development to Done in britishlibrary Dec 6, 2022
@cziaarm cziaarm added the SL-AC Service label: Advice / consultancy label Feb 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
SL-AC Service label: Advice / consultancy
Projects
Status: Done
Development

No branches or pull requests

3 participants