Open jrochkind opened 6 years ago
@jrochkind currently the only Wiki documentation available references configuration (https://github.com/samvera/browse-everything/wiki), and the README should be revised and updated.
Thank you for this question, and I can address these both as priorities.
Thanks, sorry, I'm not asking about configuration, I'm asking about actually writing new provider code for a new storage location not currently handled by BrowseEverything. In this case, I am considering egnyte, which is a provider my organization uses. Sorry if my question was confusing.
How would I best figure out how to write a new module for connecting to a new type of storage not preivously handled? Are there any docs on this, or a specification of what it must implement?
Sorry if my question was confusing.
No apologies are needed, it was not...
Are there any docs on this, or a specification of what it must implement?
No, there are not, and I can look to provide these.
How would I best figure out how to write a new module for connecting to a new type of storage not preivously handled?
My approach has been to work exclusively off of https://github.com/samvera/browse-everything/blob/master/app/controllers/browse_everything_controller.rb and https://github.com/samvera/browse-everything/blob/master/lib/browse_everything/driver/base.rb.
BrowseEverything::Driver::Base
provides an "interface". Configuration for anything requiring OAuth2 based authentication becomes a bit more complex given the degree to which browse-everything manages all data (codes, auth. tokens) in Rails Sessions using provider specific keys. This needs to be improved upon, but I have been focusing exclusively upon fixing Google Drive support recently.
Are there any docs or specs on what needs to be done to add a new provider, whether locally in my app or as a PR here?