FIWARE CKAN Extensions
A set of CKAN extensions, developed within FIWARE, which integrates the CKAN data portal platform with the main FIWARE GEs, enhancing the default CKAN behaviour with improved access control, publication of right-time context data, and rich visualization features.
The roadmap of this FIWARE GE is described here
This is the main repository of the FIWARE CKAN extensions. This project is part of FIWARE.
The FIWARE CKAN extensions project is not a single repository, but it is composed of a set projects, each of them implementing a different CKAN extension, that together with with CKAN made up the FIWARE Extended CKAN portal.
In particular, the following extensions have been created:
- OAuth2: This extension allows to use an external OAuth2 identity manager (Including but not limited to the FIWARE Idm) to authenticate CKAN users, including both, login in the web portal and accessing the APIs using OAuth2 access tokens.
- Private Datasets: This extension extends the default dataset access permissions by including an access list where it is possible to specify what users can access to the data, even if they are not part of the owner organization
- Right Time Context: This extension enables the publication of right-time queries to the Context Broker as dataset resources.
- BAE Publisher: This extension integrates CKAN with the FIWARE Business API Ecosystem, enabling the automatic creation of products and offerings using the information of a private dataset.
- WireCloud View: This extension allows the creation of rich visualizations for dataset resources by embedding WireCloud dashboards as resource views.
- Data Requests: This extension enables users to ask for datasets which are not published in the portal, so it can include not only data offers but data demands.
CKAN is an open data publication platform, widely extended, which enable the publication, search, discovery and consumption of open datasets.
In this context, the FIWARE CKAN extensions enhance the default CKAN features in order to integrate this tool within the FIWARE ecosystem, supporting the publication, management and rich visualization of right-time context data, while improving the access control and enabling data monetization.
The detailed instructions on how to install the FIWARE CKAN Extensions can be found at the Installation Guide.
In general, CKAN extensions can be installed using python, following the next steps:
- Download the plugin from the repository and access it:
$ git clone https://github.com/<plugin_repo> $ cd <plugin_repo>
- Activate CKAN virtual environment
$ . /usr/lib/ckan/default/bin/activate
- Install the extension
$ python setup.py install
Note: If you want to install the plugin for development, you can use the following command:$ python setup.py develop
The different extensions provide an API that can be used in order to manage its features programmatically without using the web portal. In particular:
- Private Datasets:
- acquisitions_list: Lists all the private datasets a particular user has been granted access to
- package_acquired: Includes a particular user in the list of authorized users of a set of datasets
- revoke_access: Removes a particular user from the list of authorized users of a set of datasets
- Data Requests:
- create_datarequest: Creates a new data request
- show_datarequest: Retrieves the information of a data request
- update_datarequest: Updates a data request
- list_datarequests: Lists the existing data requests
- delete_datarequest: Deletes a data request
- close_datarequest: Closes a data request
- comment_datarequest: Creates a comment in a data request
- show_datarequest_comment: Shows the comments of a data request
- list_datarequest_comments: Lists the comments of a data request
- update_datarequest_comment: Updates a comment of a data request
- delete_datarequest_comment: Deletes a comment from a data request
- follow_datarequest: Starts following a data request
- unfollow_datarequest: Stops following a data request
For further documentation, you can check the API Reference available at:
You can also find this documentation on ReadTheDocs
This project is part of FIWARE and has been rated as follows:
Extensions to CKAN is licensed under Affero General Public License (GPL) version 3.