Skip to content

depositar/ckanext-wikidatakeyword

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ckanext-wikidatakeyword

This extension adds Wikidata-powered keyword field in CKAN datasets.

This new extra field "Wikidata Keywords" will appear in the dataset form by the form snippet.

docs/keywords-form.png

When displayed, each keyword will appear by the display snippet, eg.:

docs/keywords-display.png

Requirements

This extension is only tested in CKAN 2.9 and later with ckanext-scheming installed.

Installation

To install ckanext-wikidatakeyword:

  1. Activate your CKAN virtual environment, for example:

    . /usr/lib/ckan/default/bin/activate
    
  2. Install the ckanext-wikidatakeyword Python package into your virtual environment:

    pip install -e 'git+https://github.com/depositar/ckanext-wikidatakeyword.git#egg=ckanext-wikidatakeyword'
    
  3. Install Python dependencies:

    pip install -r /usr/lib/ckan/default/src/ckanext-wikidatakeyword/requirements.txt
    
  4. Add wikidatakeyword and scheming_datasets to the ckan.plugins setting in your CKAN config file (by default the config file is located at /etc/ckan/default/ckan.ini).

  5. Add ckanext.wikidatakeyword:presets.json to your scheming.presets configuration settings:

    scheming.presets = ckanext.scheming:presets.json
                       ckanext.wikidatakeyword:presets.json
    
  6. A keyword field in a scheming schema will look something like (/usr/lib/ckan/default/src/ckanext-scheming/ckanext/scheming/ckan_dataset.yaml if you are not using a custom extension):

    - field_name: keywords
    

    label: Wikidata Keywords preset: wikidata_keyword

  7. Add a file templates/scheming/package/read.html in your custom extension (or modify /usr/lib/ckan/default/src/ckanext-scheming/ckanext/scheming/templates/scheming/package/read.html if you are not using a custom extension):

    {% ckan_extends %}
    
    {% block package_additional_info %}
      {% if pkg.keywords %}
        {% snippet 'wikidatakeyword/snippets/wikidatakeyword_list.html', keywords=pkg.keywords %}
      {% endif %}
      {{ super() }}
    {% endblock %}
    
  8. Add a file templates/scheming/package/snippets/additional_info.html in your custom extension (or modify /usr/lib/ckan/default/src/ckanext-scheming/ckanext/scheming/templates/scheming/package/snippets/additional_info.html if you are not using a custom extension):

    {% ckan_extends %}
    
    {% block package_additional_info %}
      {% do exclude_fields.append('keywords') %}
      {{ super() }}
    {% endblock %}
    
  9. Add the new field in your CKAN Solr schema file (by default the config file is located at /usr/lib/ckan/default/src/ckan/ckan/config/solr/schema.xml) between the <fields> tag:

    <field name="keywords_facet" type="string" indexed="true" stored="true" multiValued="true"/>
    
  10. Restart CKAN and Solr. For example if you've deployed CKAN with Apache on Ubuntu:

    sudo service jetty8 restart
    sudo service apache2 reload
    

About

Wikidata-powered keyword field for CKAN

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published