Islandora / documentation

Contains islandora's documentation and main issue queue.
MIT License
103 stars 71 forks source link

Add configuration option for Flysystem vs fcrepo urls #2181

Open ruebot opened 1 year ago

ruebot commented 1 year ago

Overview of feature request

Currently the URLs passed to the derivative generation services are Flysystem URLs. If an installation is split across multiple machines, this can lead to issues when fcrepo and Crayfish are on one machine, and Drupal is on another. Basically, a derivative for a file might go from machine A to B to A because of this configuration. In this scenario, there really is no reason for the file to go to machine B.

An extremely lazy fix for this is to have a regex on the source or file_url variables in each services Controller to rewrite the URL being passed around. An ideal fix mentioned by @seth-shaw-asu is to modify AbstractGenerateDerivative so that we can have a "Use Fedora URI" checkbox to the configuration forms.

Larger discussion in Slack here

What kind of user is the feature intended for?

Developer, Systems Administrator

What inspired the request?

Derivatives not being generated for large video files.

What existing behavior do you want changed?

Configuration of base url passed to derivative generation services.

Any brand new behavior do you want to add to Islandora?

No.

Any related open or closed issues to this feature request?

No.

seth-shaw-asu commented 1 year ago

To enhance the idea around the GenerateDerivative option, we would be checking if the file's URI is using a flysystem and then use the flysystem API to get the actual URI and then only use it if it is HTTP resolvable (because flysystem supports things like local Zip file URLs, which obviously won't work for sending to Crayfish). Thanks to @rosiel for prompting that consideration.