ckanext-ckanpackager

A CKAN extension that stores legacy download statistics from the deprecated service ckanpackager.


Keywords
CKAN, data, ckanpackager, ckan-extension
License
CNRI-Python-GPL-Compatible
Install
pip install ckanext-ckanpackager==2.2.0

Documentation

Warning

Version 3 of ckanext-ckanpackager removes support for ckanpackager.

ckanpackager is being deprecated, and so v3 of this extension will no longer support connecting to it.

All functionality is being removed except for the database tables, to allow other extensions continuing access to legacy data without having to maintain a ckanpackager instance.

If you are still using ckanpackager and wish to use this extension with your instance, you will have to use v2 or earlier.

ckanext-ckanpackager

Tests Coveralls CKAN Python Docs

A CKAN extension that stores legacy download statistics from the deprecated service ckanpackager.

Overview

This extension uses a database table in the CKAN database to store stats about packaging events.

Installation

Path variables used below:

  • $INSTALL_FOLDER (i.e. where CKAN is installed), e.g. /usr/lib/ckan/default
  • $CONFIG_FILE, e.g. /etc/ckan/default/development.ini

Installing from PyPI

pip install ckanext-ckanpackager

Installing from source

  1. Clone the repository into the src folder:

    cd $INSTALL_FOLDER/src
    git clone https://github.com/NaturalHistoryMuseum/ckanext-ckanpackager.git
  2. Activate the virtual env:

    . $INSTALL_FOLDER/bin/activate
  3. Install via pip:

    pip install $INSTALL_FOLDER/src/ckanext-ckanpackager

Installing in editable mode

Installing from a pyproject.toml in editable mode (i.e. pip install -e) requires setuptools>=64; however, CKAN 2.9 requires setuptools==44.1.0. See our CKAN fork for a version of v2.9 that uses an updated setuptools if this functionality is something you need.

Post-install setup

  1. Add 'ckanpackager' to the list of plugins in your $CONFIG_FILE:

    ckan.plugins = ... ckanpackager
  2. Install lessc globally:

    npm install -g "less@~4.1"
  3. Initialise the database table:

    ckan -c $CONFIG_FILE ckanpackager initdb

Configuration

All configuration options have been removed.

Usage

Actions

packager_stats

REMOVED

Commands

initdb

Initialises the ckanpackager database tables.

This command is still valid, but if you don't already have these database tables, there may not be much point.

ckan -c $CONFIG_FILE ckanpackager initdb

Templates

REMOVED

Testing

There is a Docker compose configuration available in this repository to make it easier to run tests. The ckan image uses the Dockerfile in the docker/ folder.

To run the tests against ckan 2.9.x on Python3:

  1. Build the required images:

    docker-compose build
  2. Then run the tests. The root of the repository is mounted into the ckan container as a volume by the Docker compose configuration, so you should only need to rebuild the ckan image if you change the extension's dependencies.

    docker-compose run ckan