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) | deprecated on 0.1.6 |
| 2.10 | yes |
| 2.11 | 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
announcementsto theckan.pluginssetting 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.pyfile. 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.pyfile. For example if the version number insetup.pyis 0.0.1 then do:git tag 0.0.1 git push --tags
