DKAN for Drupal 8 - Alpha
DKAN Open Data Portal/Catalog built on Drupal 8.
As a piece of software in its Alpha cycle, the code is continuously changing and in very active development.
- Harvesting of data from external catalogs that provide a data.json
- Dataset metadata and resources
- Web service API endpoints to work with datasets
- Integration with a decoupled front end: Provided by Interra
- A datastore to store CSV files and make them queryable through an SQL endpoint.
- Install dkan-tools.
- Set an environment variable called
DRUPAL_VERSION
with a value ofV8
.- On the command line, enter
export DRUPAL_VERSION=V8
or set in.bashrc
- On the command line, enter
- Setup and start the proxy:
- Add
dkan
to/etc/hosts
- Start the proxy:
docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
- Add
- Create a directory for your project:
mkdir <directory-name> && cd <directory-name>
- Initialize your project with dkan-tools:
dktl init
- Get Drupal:
dktl get <drupal-version>
- Get Drupal dependencies, and install DKAN:
dktl make
- Install DKAN:
dktl install
- Access the site:
dktl drush uli --uri=dkan
If you would like some content in the catalog, run the drush command dkan-dummy-content:create
. This command required Drush 9.
DKAN for Drupal 8 is trying to work with independent pieces that can be used no only by us but any other open data catalog. With that goal, we are working with a decoupled React application as the frontend for DKAN.
The React App's README contains instruction on how to work with DKAN.
DKAN comes with an integration module that allows the React App driving the frontend to be embedded in Drupal.
To get the integration working follow these steps:
- Place the source for the Interra
data-catalog-frontend
in side of yourdocroot
directory. - Follow the instructions in the README of
data-catalog-frontend
, but instead of runnig the development server at the end, build a copy withnpm run build
- Enable the integration module
interra_frontend
- Change the sites configuration to point the homepage (
/
) to/home