esmero / strawberryfield

A Field of strawberries
GNU Lesser General Public License v3.0
10 stars 5 forks source link

Remote File Entity or Allow a Remote StreamWrapper to be used in a File Entity #219

Open DiegoPino opened 2 years ago

DiegoPino commented 2 years ago

What?

Archipelago handles files, keeps them around, classifies them, basically does the whole DAMS thing and depends (for IIIF sakes) on having access to technical metadata to build proper IIIF manifest via Twig templates.

If you are using Archipelago as an aggregator of remote files you can really ingest URLs into some JSON keys and adapt your twig templates to handle remote files for almost ANY (almost, i would say 60%) of the needs. BUT, some things of the things, a 40% require to have access to a locally managed by archipelago (e.g S3) file so we can create File Entities and also, most importantly extract techmd and also do post processing (OCR, etc).

If a JSON key that is mapped to ap:entitymapping is marked as e.g entity:file and instead of containing IDs (File IDs) contains URLs to remote resources we could:

The idea situation here is to store everything related to the remote source in an Entity as closed as a File Entity so we can keep track/usage but also make sure the existing Entity based workflow does not need recoding. This will also allow us to convert a remote entity into a real one on request and if that is the case, probably having a Remote Stream Wrapper (there used to be one but its buggy) would be the best situation so we can keep the existing File Entity around without basically No other change than an initial download to make TECHMD possible