Skip to main content

Publish data to a CKAN instance

Project description

Summary

This cube enables data publishing to a CKAN opendata portal.

Configuration

The cube essentially provides hooks to push data in a CKAN instance. The mapping from CubicWeb entities is handled by adapters which themselves rely on dedicated attributes on the entities:

  • ICKANDataset adapter relies on a ckan_dataset_id attribute on the adapted entity. As its name suggests, the latter is used to relate a CubicWeb entity to a CKAN dataset (the fundamental entity type in CKAN data model).

  • ICKANResource adapter relies on a ckan_resource_id attribute. It is used to related some CubicWeb entity type to a CKAN resource.

The push of a resource on CKAN instance should be triggered by the addition of a relation between the dataset-like entity and a resource-like entity in CubicWeb. This is handled by the LinkResourceToDatasetHook hook, which is abstract and should thus subclass by setting its rtype attribute.

See test/data for a minimal example.

Testing

Testing this cube requires a running CKAN instance with a (dedicated) organization and a user with editors permission in the organization. Corresponding information are expected in the test/ckanconfig.py file.

baseurl = '<url-of-ckan-instance>'
organization = '<organization-name>'
apikey  = '<api-key-of-user-with-editors-permissions-on-organization>'

Note that, since CKAN does not expose an API function to purge datasets, we can only delete them in tests. So, one has to manually purge test datasets from the CKAN at <baseurl>/ckan-admin/trash.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cubicweb-ckanpublish-0.2.0.tar.gz (13.0 kB view details)

Uploaded Source

File details

Details for the file cubicweb-ckanpublish-0.2.0.tar.gz.

File metadata

File hashes

Hashes for cubicweb-ckanpublish-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d309f67bc2945a59b56f56849e85345fb9aa1874b174299cadf44d4f08c5b55c
MD5 c33af11fb8e436aa8cfdad94baa18ef7
BLAKE2b-256 fd834c9b0144efe1d5bb48764d227629249d24f72fc7b504d35f225950eee067

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page