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
.. Add any additional install steps to the list below. For example installing any non-Python dependencies or adding any required config settings.
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 theckan.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::
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/DataShades/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::
nosetests --nologcapture --with-pylons=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.