- [ATTENTION 1]
- resourcetracker_ogr is used to replace datastore functionalities previously served by datapusher or xloader. Making use of this sub-plugin will cause compatibility issues and malfunctioning of several ckan extensions that rely on either datapusher or xloader and their respective hooks and triggers.
- [ATTENTION 2]
- datastoretracker and its subplugins are using datapusher/xloader hooks and triggers and will soon be disabled and replaced by ogr trackers and thus it is not adviced to be further developed.
- [TODO 1]
- Making use of resourcetracker_ogr is already causing existing extensions that were served through datapusher/xloader and/or datastoretracker to not work properly. Two extensions that already need to be upgraded are ckanext-xlstocsv and ckanext-validation.
- [TODO 2]
- resourcetracker_ogr is currently blocking triggers coming from datastore actions. This could result in data loss and should be further investigated, for example in the cases of a datastore_update or datastore_upsert.
To install ckanext-tracker:
Activate your CKAN virtual environment, for example:
. /usr/lib/ckan/default/bin/activate
Install the ckanext-tracker Python package into your virtual environment:
pip install ckanext-tracker
Add
trackerto theckan.pluginssetting in your CKAN config file (by default the config file is located at/etc/ckan/default/production.ini).Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu:
sudo service apache2 reload
Additional trackers Info
Inside ckanext-tracker are included sub-plugins that extend functionality. These sub-plugins use the correct hooks to populate redis queries and trigger the correct workers. The ones including an underscore '_' inherit properties from their parent, as named before the underscore. The current list of sub-plugins includes:
datastoretracker_geoserver datastoretracker_xlstocsv packagetracker_ckantockan packagetracker_ckantockan_donl packagetracker_ckantockan_oneckan packagetracker_ckantockan_oneckan_rotterdam packagetracker_ogr resourcetracker_ckantockan resourcetracker_ckantockan_donl resourcetracker_ckantockan_oneckan resourcetracker_geonetwork resourcetracker_geoserver resourcetracker_ogr
Additional trackers READMEs
Tracker Geoserver README
Document any optional config settings here. For example:
# The minimum number of hours to wait before re-checking a resource # (optional, default: 24). ckanext.tracker.some_setting = some_default_value
To install ckanext-tracker for development, activate your CKAN virtualenv and do:
git clone https://github.com//ckanext-tracker.git cd ckanext-tracker python setup.py develop pip install -r dev-requirements.txt
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.tracker --cover-inclusive --cover-erase --cover-tests
ckanext-tracker should be availabe on PyPI as https://pypi.python.org/pypi/ckanext-tracker. If that link doesn't work, then you can register the project on PyPI for the first time by following these steps:
Create a source distribution of the project:
python setup.py sdist
Register the project:
python setup.py register
Upload the source distribution to PyPI:
python setup.py sdist upload
Tag the first release of the project on GitHub with the version number from the
setup.pyfile. For example if the version number insetup.pyis 0.0.1 then do:git tag 0.0.1 git push --tags
ckanext-tracker is availabe on PyPI as https://pypi.python.org/pypi/ckanext-tracker. To publish a new version to PyPI follow these steps:
Update the version number in the
setup.pyfile. See PEP 440 for how to choose version numbers.Create a source distribution of the new version:
python setup.py sdist
Upload the source distribution to PyPI:
python setup.py sdist upload
Tag the new release of the project on GitHub with the version number from the
setup.pyfile. For example if the version number insetup.pyis 0.0.2 then do:git tag 0.0.2 git push --tags