dicoogle
dicoogle copied to clipboard
Proposal: Storage Middleware Plugins
So far we've had two functionalities that can only be conveyed with wrappers around a specific storage: DICOM data anonymization and compression (gz, zip, ...). We cannot dynamically assign 1:1 DICOM object transformations to a file storing procedure, and separating compression from the concrete store is currently impossible.
The idea is to provide a means for plugin sets to register a new kind of plugin designed to transform incoming files before being effectively stored by a storage plugin. This includes:
- a new plugin interface for storage middleware;
- something to let the developer specify the middlewares to use and in what order;
- a means to keep track of reverse operations (compression/decompression) as meta-data in the storage;
- possibly something to define default middlewares in the server settings