Data.gov theme, branding, and UI customizations for catalog.data.gov as a CKAN extension.
TODO document these better.
- Provides a new spatial query view (overrides ckanext-spatial some front end)
TODO: document how ckanext-datagovtheme interacts with third-party extensions, maybe in the context of Features above.
These extensions are required.
Additionally, ckanext-datagovtheme has "weak" dependencies on these extensions. The dependency might be on templates, template helpers, or other functionality.
This extension is compatible with these versions of CKAN.
CKAN version | Compatibility |
---|---|
<=2.7 | no |
2.8 | yes |
2.9 | complete |
TODO: what configuraiton options exist?
- GNU Make
- Docker Compose
Build the docker containers. You'll want to do this anytime the dependencies change (requirements.txt, dev-requirements.txt).
$ make build
Start the containers.
$ make up
CKAN will start at localhost:5000.
Clean up the environment.
$ make down
Open a shell to run commands in the container.
$ docker-compose exec ckan bash
If you're unfamiliar with docker-compose, see our cheatsheet and the official docs.
For additional make targets, see the help.
$ make help
They follow the guidelines for testing CKAN extensions.
To run the extension tests:
$ make test
Lint your code.
$ make lint
We have seen issues with datagovtheme not installed
.
If this is the case, run python setup.py develop
in the container.
The existing development environment assumes a full catalog.data.gov test setup. This makes
it difficult to develop and test against new versions of CKAN (or really any
dependency) because everything is tightly coupled and would require us to
upgrade everything at once which doesn't really work. A new make target
test-legacy
is introduced with a new docker-compose.legacy.yml
file in order
to run tests in the legacy docker environment.
The "new" development environment drops as many dependencies as possible. It is not meant to have feature parity with GSA/catalog.data.gov or GSA/inventory-app. Tests should mock external dependencies where possible.
In order to support multiple versions of CKAN, or even upgrade to new versions
of CKAN, we support development and testing through the CKAN_VERSION
environment variable.
$ make CKAN_VERSION=2.8 test
$ make CKAN_VERSION=2.9 test
Other docker-compose make targets work in both new and legacy environments through
the COMPOSE_FILE
make variable. To test the legacy environment:
$ make COMPOSE_FILE=docker-compose.legacy.yml up
$ make COMPOSE_FILE=docker-compose.legacy.yml test-legacy
Note: the test-legacy target only works in the legacy docker environment.
Variable | Description | Default |
---|---|---|
CKAN_VERSION | Version of CKAN to use. | 2.8 |
COMPOSE_FILE | docker-compose service description file. | docker-compose.yml |