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
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
-
Clone the repository into the
src
folder:cd $INSTALL_FOLDER/src git clone https://github.com/NaturalHistoryMuseum/ckanext-ckanpackager.git
-
Activate the virtual env:
. $INSTALL_FOLDER/bin/activate
-
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
-
Add 'ckanpackager' to the list of plugins in your
$CONFIG_FILE
:ckan.plugins = ... ckanpackager
-
Install
lessc
globally:npm install -g "less@~4.1"
-
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:
-
Build the required images:
docker-compose build
-
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