9. Always Pass Files as URLs
Status: [accepted]
Deciders: [Fabian Bühler]
Date: [2021-06-29]
9.1. Context and Problem Statement
QHAna (and workflows) save the outputs of a plugin to be used as inputs for another plugin. The files (or their content) has to be passed to and from plugins.
9.2. Decision Drivers
results from plugins can be large or small
results must be saved to allow retries of experiments, reproducible experiments etc. in QHAna
9.3. Considered Options
Let the plugin decide
Always pass by value (file content)
Give access to shared (cloud) storage to plugins
Always pass files by URL
9.4. Decision Outcome
Chosen option: “Always pass files by URL”, because it normalizes file handling while allowing for many different storage options (e.g. local file system file://; cloud file system https://; passing file content directly data://).
9.4.1. Positive Consequences
Only one way to pass files to and from plugins reduces development effort
9.4.2. Negative Consequences
plugins must handle at least
file://andhttps://URLsfile URLs cannot require authentication (or authentication tokens must be passed to the plugin in some way)