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 = '' organization = '' apikey = '' 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 `/ckan-admin/trash`.