Skip to main content
Version: 2.0

Plugins

As described in the conception section, the rs-data-provider microservice is based on Acquisition chains to acquire products from files. An Acquisition chain is a workflow composed of successive steps. Each step of the workflow is an extension point implemented through plugins. Those extension points are :

Only the Post processing plugin is not mandatory for an acquisition chain.

developers advice

If you want to create your own implementation of one of these extension points, you need to extend the specific interface indicated.

Scan plugins

This extension point allows to define how to find files to acquire.

All the following plugins implements the IScanPlugin interface or IFluxScanPlugin interface.

Plugin imagePlugin nameDescription
Already provided inside the microserviceRegexDiskScanningSearch for files in local directories matching a regex pattern
Already provided inside the microserviceGlobDiskScanningSearch for files in local directories matching a glob pattern
Already provided inside the microserviceGeoJsonFeatureCollectionParserPluginScan a directory to find geojson files. For each geojson file found, generate a json file containing each feature of the geojson file. This plugin is used in combination with the GeoJsonSIPGeneration to generate one SIP for each feature of a geojson FeatureCollection file
Already provided inside the microserviceRegexStreamDiskScanningPluginRecursively scan directories and stream the detected files that were modified after the specified date and matching the given regex pattern
Already provided inside the microserviceGlobDiskStreamScanningPluginRecursively scan directories and stream the detected files that were modified after the specified date and matching the given glob pattern

Validation plugins

This extension point allows to define how to validate a file to acquire. Each input file of the acquisition process is subject to this validation. If the validation fails, the file is rejected.

All the following plugins implements the IValidationPlugin interface.

Plugin imagePlugin nameDescription
Already provided
inside the microservice
DefaultFileValidationCheck that the file is readable
rs-custom-command-file-validation-pluginCustomCommandFileValidationAcquisition plugin to validate files to acquire by executing a custom system command

Product generator plugins

This extension point allows to define how to construct a Product from a list of files to acquire. A Product is a package of related files. At the end of the aquisition process each product is represented by a Feature in a SIP Collection.

All the following plugins implements the IProductPlugin interface.

Plugin imagePlugin nameDescription
Already provided
inside the microservice
DefaultProductPluginConstruct one product for each scanned file
rs-radical-product-name-pluginProductNameFromFilePatternPluginPlugin to calculate product name from file by removing some parts of the file name

SIP generation plugins

This extension point allows to define how to construct a SIP for a given Product. Products are composed of files generated by the Product plugin of the acquisition chain. This plugin is the one that fill the mata data of each SIP to ingest.

All the following plugins implements the ISipGenerationPlugin interface.

Plugin imagePlugin nameDescription
Already provided
inside the microservice
DefaultSIPGenerationOnly add files information in SIP (no specific descriptive information)
Already provided
inside the microservice
GeoJsonSIPGenerationRead each product file to extract GeoJson features and generate SIP according to geometry and label information

Post processing plugins

This extension point allows to add a post processing action after a product is fully acquired and stored.

All the following plugins implements the IPostProcessingPlugin interface.

Plugin imagePlugin nameDescription
Already provided
inside the microservice
CleanAndAcknowledgePlugincreate acknowledgement for each product file and clean all original product filesinformation)