Being able to access loads of information and open data means a lot. But in the sea of available open data, if you cannot find what you’re looking for, the access to all that information seems to become useless. “Why useless” is the first thing that comes to your mind, right?  Well, when you spend a lot of time searching for something that isn’t there, you end up right where you began. 

While being part of the open-data community allows each one of us to give our contribution and supply with new data, there comes a point where we need to create a request for something that’s missing. Or should I say, a datarequest? 

This is where ckanext-datarequests comes in handy. It is a CKAN extension that allows users to ask for datasets that are not already published on a Data Portal. This feature allows closer interaction between the portal users and the portal administrators for demanding new data and increasing data transparency. Since the entire CKAN has an easy-to-use interface, requesting new data is also intuitive and the users can easily access the feature. 

How does it work?

You have two ways for creating, updating, deleting, viewing, and closing a datarequest: you can use the graphical interface or the programmatic API. If you choose to go with the graphical interface, you should click on the “Data Requests” section that will appear in the header of your CKAN instance. In this section, you’ll be able to view the current data requests. In addition, there will be a button that will allow you to create a new data request.

In the form that will appear, you will have to introduce the following information:

  • Title: descriptive title that will present the Data Request
  • Description: details about the data you require,  so the portal administrators and other users have a clear understanding of why the data is requested. 
  • Organization: a drop-down list containing the organization(s), to which the user (data request creator) belongs. Associating the Data Request to some organization, helps the portal administration to match the new data to a particular organization. If the user (data request creator), doesn’t belong to any Data Portal organization, the organization filed won’t list any organization as a value, so the Data Request should be created without that field. 
  • Visibility: Hidden (available only for the portal administrators and the data request creator) and visible (available) for all portal users (registered and non-registered users)

Once the data request is created, the user can:

  1. comment on it, since there is a feedback mechanism available for each Data request, 
  2. update it (add/remove some information) or
  3. delete it.  

While the Data Request is still empty (not related to some data) it will be labeled as “open”. The Data request can be closed at that moment when the demanded data for that request is created on the portal and shall be associated with the “Data Request [Name of the Data Request]”. Then this Data Request shall be labeled as “Closed”, but still available (visible) on the portal. 

Let’s simplify this with an example: On the image below is shown a data request from a citizen, asking for locations that offer Covid-19 vaccination. 

Installing Ckanext-datarequests on your portal

We already explained how you can use ckanext-datarequests as a user, but how can you install it to a data portal? Follow the instructions below:

Installing this extension in your CKAN instance is as easy as installing any other CKAN extension. Activate your virtual environment

. /usr/lib/ckan/default/bin/activate

Install the extension

pip install ckanext-datarequests

Note: If you prefer, you can also download the source code and install the extension manually. To do so, execute the following commands:

$ git clone https://github.com/conwetlab/ckanext-datarequests.git
$ cd ckanext-datarequests
$ python setup.py install

Modify your configuration file (generally in /etc/ckan/default/production.ini) and add datarequests in the ckan.plugins property.

ckan.plugins = datarequests <OTHER_PLUGINS>

Enable or disable the comments system by setting up the ckan.datarequests.comments property in the configuration file (by default, the comments system is enabled).

ckan.datarequests.comments = [true|false]

Enable or disable a badge to show the number of data requests in the menu by setting up the ckan.datarequests.show_datarequests_badge property in the configuration file (by default, the badge is not shown).

ckan.datarequests.show_datarequests_badge = [true|false]

Restart your apache2 server or whatever server you’re using to serve CKAN

sudo service apache2 restart

That’s All!

Read more about the API, installation or how to contribute to its translation by adding your language here. Or contact us for help.

Author avatar

About Andrea Bozarevska

was part of Keitaro