Skip to content

nickumia-reisys/ckanext-datagovtheme

 
 

Repository files navigation

ckanext-datagovtheme

CircleCI

Data.gov theme, branding, and UI customizations for catalog.data.gov as a CKAN extension.

Features

TODO document these better.

  • Provides a new spatial query view (overrides ckanext-spatial some front end)

Usage

Requirements

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 in progress

Configuration

TODO: what configuraiton options exist?

Development

Requirements

  • GNU Make
  • Docker Compose

Setup

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

Testing

They follow the guidelines for testing CKAN extensions.

To run the extension tests:

$ make test

Lint your code.

$ make lint

Common issues

We have seen issues with datagovtheme not installed. If this is the case, run python setup.py develop in the container.

Matrix builds

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

About

Theme for Data Catalog

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • XSLT 58.7%
  • HTML 25.8%
  • Python 5.9%
  • CSS 5.4%
  • JavaScript 3.9%
  • Shell 0.2%
  • Other 0.1%