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 project is part of FIWARE. For more information check the FIWARE Catalogue entry for Data Publication and Monetization.
📚 Documentation | 🎓 Academy | 🐳 Docker Hub |
---|
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.
There is absolutely no problem in using a product licensed under AGPL 3.0. Issues with GPL (or AGPL) licenses are mostly related with the fact that different people assign different interpretations on the meaning of the term “derivate work” used in these licenses. Due to this, some people believe that there is a risk in just using software under GPL or AGPL licenses (even without modifying it).
For the avoidance of doubt, the owners of this software licensed under an AGPL 3.0 license
wish to make a clarifying public statement as follows:
Please note that software derived as a result of modifying the source code of this software in order to fix a bug or incorporate enhancements is considered a derivative work of the product. Software that merely uses or aggregates (i.e. links to) an otherwise unmodified version of existing software is not considered a derivative work, and therefore it does not need to be released as under the same license, or even released as open source.