CKAN Private Datasets
This CKAN extension allows a user to create private datasets that only certain users will be able to see. When a dataset is being created, it’s possible to specify the list of users that can see this dataset. In addition, the extension provides an HTTP API that allows to add users programmatically.
This project is part of FIWARE.
Key Features
- Selective Privacy: Create private datasets with specific user access lists
- Acquisition Workflow: Integrate external acquisition services (e.g., FiWare Store) via notification callbacks
- Searchable Private Datasets: Control whether private datasets appear in search results
- Acquired Datasets Dashboard: Users can view datasets they have acquired
- Acquire Button: Display acquisition links on private datasets
- API Integration: Programmatic user access management via HTTP API
- Custom Notification Parsers: Create custom parsers for different acquisition services
- SSL Client Verification: Secure notification callbacks with client-side certificates
- Dashboard Integration: “Acquired Datasets” tab in user dashboard (CKAN 2.8+)
Technical Details
The extension adds three additional fields to private datasets:
- allowed_users: List of users who can access the private dataset
- searchable: Whether the private dataset appears in search results
- acquire_url: External URL where users can acquire access to the dataset
When a private dataset is viewed by non-authorized users, an “Acquire” button links to the external acquisition service. After successful acquisition, the service sends a notification to CKAN’s API endpoint (/api/action/dataset_acquired), which grants the user access.
The extension provides a default parser for FiWare Store notifications but allows custom parsers via the ckan.privatedatasets.parser configuration setting.