Link checker for CKAN.
Provides API, CLI commands, and views for:
- checking availability of the file, refereed by resource
- checking availability of any arbitrary link.
- storing results of these checks
- visualizing stored results
Compatibility with core CKAN versions:
CKAN version | Compatible? |
---|---|
2.9 | yes |
2.10 | yes |
-
Install
ckanext-check-link
pip install ckanext-check-link
-
Add
check_link
to theckan.plugins
setting in your CKAN config file. -
Run migration to set up database table called 'check_link_report'
ckan -c /etc/ckan/default/ckan.ini db upgrade -p check_link
# Allow any logged-in user to check links. This implies specific security issues,
# thus disabled by default.
# (optional, default: false).
ckanext.check_link.user_can_check_url = yes
# URL for the "Link availability" page.
# (optional, default: /check-link/report/global)
ckanext.check_link.report.base_template = /ckan-admin/link-state
# A base template that is extended by the "Link availability" page.
# (optional, default: check_link/base_admin.html)
ckanext.check_link.report.base_template = check_link/base.html
Paginated listing of all the "broken" links. Access is controlled by the
check_link_view_report_page
auth function, which can be bypassed only by
sysadmin.
CLI commands are registered under ckan check-link
route.
Check every resource inside each package.
The scope can be narrowed via arbitrary number of arguments, specifying the package's ID or name.
# check all the public packages
$ ckan check-link check-packages
# check all the active packages
$ ckan check-link check-packages --include-private
# check all the public and draft pacakges
$ ckan check-link check-packages --include-draft
# check only two specified packages
$ ckan check-link check-packages pkg-id-one pkg-name-two
TBA