Package: ckanext-resourceauthorizer
ckanext-resourceauthorizer - Resource authorizing extensionResourceauthorizer is a extension for enalbing the acl-based permission control at resource-level in CKAN, which currently only support role-based access permission at dataset-level.This extension provides an ability to let users specify who (users or organizations) can or cannot access a certain resource.Notes:Access permission setting for an organization will affect all members of the organization.Extension always uses access permission at user-level as the final decision if there exists both rules for user and organization.Allowing user/organization to access a resource will enable the access of the dataset metadata for that user/organization.RequirementsThis extension was developed and tested under CKAN-2.7.3InstallationTo install ckanext-resourceauthorizer:Activate your CKAN virtual environment, for example:. /usr/lib/ckan/default/bin/activateInstall the ckanext-resourceauthorizer Python package into your virtual environment:pip install ckanext-resourceauthorizerAddresourceauthorizerto 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 reloadConfig SettingsRun the following command to create the necessary tables in the database (ensuring the pyenv is activated):(pyenv) $ paster --plugin=ckanext-resourceauthorizer resourceauthorizer initdb --config=/etc/ckan/default/production.iniRun the following command to reindex the CKAN metadata in solr (ensuring the pyenv is activated):(pyenv) $ paster --plugin=ckan search-index rebuild --config=/etc/ckan/default/production.iniFinally, restart CKAN to have the changes take affect:sudo service apache2 restartDevelopment InstallationTo install ckanext-resourceauthorizer for development, activate your CKAN virtualenv and
do:git clone https://github.com/etri-sodas/ckanext-resourceauthorizer.git
cd ckanext-resourceauthorizer
python setup.py develop
pip install -r dev-requirements.txtRunning the TestsTo run the tests, do:nosetests --nologcapture --with-pylons=test.iniTo 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.resourceauthorizer --cover-inclusive --cover-erase --cover-testsRegistering ckanext-resourceauthorizer on PyPIckanext-resourceauthorizer should be availabe on PyPI ashttps://pypi.python.org/pypi/ckanext-resourceauthorizer. 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 sdistRegister the project:python setup.py registerUpload the source distribution to PyPI:python setup.py sdist uploadTag the first release of the project on GitHub with the version number from
thesetup.pyfile. For example if the version number insetup.pyis
0.0.1 then do:git tag 0.0.1
git push --tagsAcknowledgementsThis work was supported by Institute for Information & communications Technology Promotion (IITP) grant funded by the Korea government (MSIT) (No.2017-00253, Development of an Advanced Open Data Distribution Platform based on International Standards)