For example, you might want to mention here which versions of CKAN this extension works with.
To install ckanext-montrose:
Activate your CKAN virtual environment, for example:
. /usr/lib/ckan/default/bin/activate
Install the ckanext-montrose Python package into your virtual environment:
pip install ckanext-montrose
Add
montrose
to theckan.plugins
setting 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
Document any optional config settings here. For example:
# The minimum number of hours to wait before re-checking a resource # (optional, default: 24). ckanext.montrose.some_setting = some_default_value
To install ckanext-montrose for development, activate your CKAN virtualenv and do:
git clone git@github.com:ViderumGlobal/ckanext-montrose.git cd ckanext-montrose python setup.py develop pip install -r dev-requirements.txt
In order to use languages that are not supported by CKAN, you have to install them manually. Open up a terminal inside the CKAN's source directory, and type the following command to initialize a new catalog for a language:
python setup.py init_catalog --locale YOUR_LANGUAGE
where YOUR_LANGUAGE
is the locale of the language. This command will
create a .po
file inside ckan/i18n/YOUR_LANGUAGE/LC_MESSAGES
which contains the strings for the language.
Next you have to compile tha language into a binary format with the following command:
python setup.py compile_catalog --locale YOUR_LANGUAGE
where YOUR_LANGUAGE
is the locale of the language. This command will
create a .mo
file, and the one which CKAN will read the strings from.
The created languages will contain the strings in English. In order to translate the already defined strings, and extend the catalog with new ones, you need to follow the next steps.
Right now there are only two languages inside this extension, Burmese and
Swahili. They are located in the i18n
directory which is in the
montrose
directory. Inside it are listed all languages installed.
For instance, to translate the Burmese language, open up the .po
file
located in i18n/my_MM/LC_MESSAGES
with Poedit.
Once you are done translating the language, save it. After that, open up a
terminal and inside the extension's source directory, and type the following
command to compile the catalog:
python setup.py compile_catalog --locale my_MM
Every time you install or compile the language, in order to see the changes in the web portal, you have to restart the server where CKAN is running.
To translate a totaly new language, first you need to follow the steps defined
above for adding a language to CKAN, and after that, you have to add the
language to the extension as well, inside the i18n
directory.
More information on translating extensions can be found on the offical documentation on CKAN.
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.montrose --cover-inclusive --cover-erase --cover-tests
ckanext-montrose should be availabe on PyPI as https://pypi.python.org/pypi/ckanext-montrose. 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.py
file. For example if the version number insetup.py
is 0.0.1 then do:git tag 0.0.1 git push --tags
ckanext-montrose is availabe on PyPI as https://pypi.python.org/pypi/ckanext-montrose. To publish a new version to PyPI follow these steps:
Update the version number in the
setup.py
file. 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.py
file. For example if the version number insetup.py
is 0.0.2 then do:git tag 0.0.2 git push --tags