Package: ckanext-datasetthumbnail
This CKAN extension adds support for generation and display of thumbnail
images. The helper functionthumbnail_urlcan be called from a template, as in this example:{% block thumbnail %}
{% set thumbnail = h.thumbnail_url(package.id) %}
{% if  thumbnail %}
    <a href="{{ h.url_for(controller='package', action='read', id=package.name) }}">
    <img class="dataset-list-thumbnail" src="{{ thumbnail }}">
    </a>
{% endif %}
{% endblock %}If a resource exists with the namethumbnail.png, this will be used.If no resource exists with this name and the logged-in user has sufficient access, the thumbnail will be generated from the first matching JPEG or PNG resource.If no thumbnail exists at this point, a placeholder image will be used.RequirementsCKAN 2.5.2Pillow 3.2.0 (with PngImagePlugin and JpegImagePlugin)InstallationTo install ckanext-datasetthumbnail:Activate your CKAN virtual environment, for example:. /usr/lib/ckan/default/bin/activateInstall the ckanext-datasetthumbnail Python package into your virtual environment:pip install ckanext-datasetthumbnailAdddatasetthumbnailto 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 Settings# Show thumbnails
# (optional, default: False).
ckan.datasetthumbnail.show_thumbnail = True

# Autogenerate thumbnails
# (optional, default: False).
ckan.datasetthumbnail.auto_generate = True

# Generated thumbnail width
# (optional, default: 140).
ckan.datasetthumbnail.thumbnail_width = 140

# Generated thumbnail height
# (optional, default: int(width * 1.415)
ckan.datasetthumbnail.thumbnail_height = 140Development InstallationTo install ckanext-datasetthumbnail for development, activate your CKAN virtualenv and
do:git clone https://github.com/aptivate/ckanext-datasetthumbnail.git
cd ckanext-datasetthumbnail
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.datasetthumbnail --cover-inclusive --cover-erase --cover-testsRegistering ckanext-datasetthumbnail on PyPIckanext-datasetthumbnail should be availabe on PyPI ashttps://pypi.python.org/pypi/ckanext-datasetthumbnail. 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 --tagsReleasing a New Version of ckanext-datasetthumbnailckanext-datasetthumbnail is availabe on PyPI ashttps://pypi.python.org/pypi/ckanext-datasetthumbnail.
To publish a new version to PyPI follow these steps:Update the version number in thesetup.pyfile.
SeePEP 440for how to choose version numbers.Create a source distribution of the new version:python setup.py sdistUpload the source distribution to PyPI:python setup.py sdist uploadTag the new release of the project on GitHub with the version number from
thesetup.pyfile. For example if the version number insetup.pyis
0.0.2 then do:git tag 0.0.2
git push --tags