This CKAN plugin provides an API for accessing DC data. The python
package dclab implements a client library (dclab.rtdc_dataset.fmt_dcor
)
to access this API. Shape-Out 2 offers a GUI via File - Load DCOR data.
This plugin implements:
- The DCOR API for accessing DC datasets online (dcserv).
- A background job that generates a condensed dataset after a resource has been created.
- A background job that uploads the condensed dataset to the S3 object
store. The temporary location of the condensed dataset that is created
can be set by setting the
ckanext.dc_serve.tmp_dir
configuration option. - A route that makes the condensed dataset available via "/dataset/{id}/resource/{resource_id}/condensed.rtdc" (S3 object store data is made available via a redirect)
- A route overriding the default route for downloading a resource via "/dataset/{id}/resource/{resource_id}/download/resource_name" (S3 object store data is made available via a redirect)
- Extends the template to show a condensed resource download button
- CLI:
- add CKAN command
run-jobs-dc-serve
that runs all background jobs for all resources (if not already done)
- add CKAN command
- Configuration keywords:
- the
ckanext.dc_serve.create_condensed_datasets
boolean parameter can be set to False to prevent DCOR from generating condensed resource files ckanext.dc_serve.enable_intra_dataset_basins
specifies whether intra-dataset basins should be generated or notckanext.dc_serve.tmp_dir
specifies the location of a directory used for creating temporary files when condensing datasets; if not specified, a temporary directory is used
- the
pip install ckanext-dc_serve
Add this extension to the plugins and defaul_views in ckan.ini:
ckan.plugins = [...] dc_serve
Testing is implemented via GitHub Actions. You may also set up a local docker container with CKAN and MinIO. Take a look at the GitHub Actions workflow for more information.