Extended workflow for dataset lifecycle
Project description
ckanext-workflow
Requirements
For example, you might want to mention here which versions of CKAN this extension works with.
Installation
To install ckanext-workflow:
Activate your CKAN virtual environment, for example:
. /usr/lib/ckan/default/bin/activate
Install the ckanext-workflow Python package into your virtual environment:
pip install ckanext-workflow
Add workflow to the ckan.plugins setting in your CKAN config file (by default the config file is located at /etc/ckan/default/production.ini).
Add next fields to your dataset schema:
{ "field_name": "workflow_type", "label": "Workflow type", "form_snippet": null, "validators": "workflow_type_validator" }, { "field_name": "workflow_stage", "label": "Workflow state", "form_snippet": null, "validators": "workflow_stage_validator" }, { "field_name": "original_id_of_revision", "label": "Original dataset", "preset": "revision_field" }
Add workflow presets to scheming(ckanext.workflow:presets.json):
scheming.presets = ckanext.scheming:presets.json ckanext.workflow:presets.json
Restart CKAN. For example if you’ve deployed CKAN with Apache on Ubuntu:
sudo service apache2 reload
Config Settings
Document any optional config settings here. For example:
# The email of SEED admin # (optional, default: None). workflow.site_admin.email = email@example.com
Development Installation
To install ckanext-workflow for development, activate your CKAN virtualenv and do:
git clone https://github.com/smotornyuk/ckanext-workflow.git cd ckanext-workflow python setup.py develop pip install -r dev-requirements.txt
Deployment Notes
If after adding this extension to existing CKAN instance, it would be disirable to add workflow fields to all existing datasets. You can mark all public/active datasets as published and all other as unpublished by executing next command:
$ paster workflow migrate -c config-file
If you want to update particular dataset, you can run special case:
$ paster workflow migrate PACKAGE_ID_OR_NAME -c config-file
Running the Tests
To run the tests, do:
pytest --ckan-ini test.ini
To run the tests and produce a coverage report, first make sure you have coverage installed in your virtualenv (pip install coverage) then run:
nosetests --nologcapture --with-pylons=test.ini --with-coverage --cover-package=ckanext.workflow --cover-inclusive --cover-erase --cover-tests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.