Allow users to define scheduled announcements
Compatibility with core CKAN versions:
ckanext-announcements
only works with Python 3
CKAN version | Compatible? |
---|---|
2.8 | no |
2.9 (py2) | no |
2.9 (py3) | yes |
2.10 | yes |
To install ckanext-announcements:
-
Activate your CKAN virtual environment, for example:
. /usr/lib/ckan/default/bin/activate
-
Clone the source and install it on the virtualenv
git clone https://github.com/okfn/ckanext-announcements.git cd ckanext-announcements pip install -e . pip install -r requirements.txt
-
Add
announcements
to theckan.plugins
setting in your CKAN config file (by default the config file is located at/etc/ckan/default/ckan.ini
). -
Update DB to add the announcements table
ckan db upgrade -p announcements
-
Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu:
sudo service apache2 reload
ckanext.announcements.limit_announcements
(default: 50)
Limit for the announcement list
ckan.display_timezone
Start and end dates are displayed in the timezone defined in this CKAN core setting
To install ckanext-announcements for development, activate your CKAN virtualenv and do:
git clone https://github.com/okfn/ckanext-announcements.git
cd ckanext-announcements
python setup.py develop
pip install -r dev-requirements.txt
There are github actions to check code with flake8
so it will be usefull to activate pre-commits
pip install pre-commit
pre-commit install
To run the tests, do:
pytest --ckan-ini=test.ini
If ckanext-announcements should be available on PyPI you can follow these steps to publish a new version:
-
Update the version number in the
setup.py
file. See PEP 440 for how to choose version numbers. -
Make sure you have the latest version of necessary packages:
pip install --upgrade setuptools wheel twine
-
Create a source and binary distributions of the new version:
python setup.py sdist bdist_wheel && twine check dist/*
Fix any errors you get.
-
Upload the source distribution to PyPI:
twine upload dist/*
-
Commit any outstanding changes:
git commit -a git push
-
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.1 then do:git tag 0.0.1 git push --tags