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.8 | no |
2.9 | 0.1.27 (last supported) |
2.10 | >=0.2.0 |
[Optional]
ckanext.datagovtheme.js_recent_view = true
This defaults to false
. If displaying the recent view count slows down page loading, the optional parameter can be set to true
to make the recent view count an AJAX call, improving page loading speed. If the recent view count information (package['tracking_summary']) is already present, the AJAX call is disabled to reduce overhead. Therefore, the built-in recent view count rendering must be disabled for this mechanism to take effect. For catalog.data.gov, it means set setting ckanext.datagovcatalog.add_packages_tracking_info
to false.
TODO: re-evaluate the need for this customization after ckan 2.11 release, as described in ticket GSA/data.gov#4798.
- 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 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.10.1 test
Variable | Description | Default |
---|---|---|
CKAN_VERSION | Version of CKAN to use. | 2.10.1 |
COMPOSE_FILE | docker-compose service description file. | docker-compose.yml |