This CKAN extension contains a number of functions that build integration with the National Geothermal Data System (NGDS).
The National Geothermal Data System (NGDS) supports the storage and search of information resources relevant to the discovery, understanding, and utilization of geothermal energy. It is a network of data providers supplying data and metadata, with an aggregating feature that provides a single entry point for searching resources available through the system.
This extension is designed to run two different types of CKAN sites to serve two different purposes within the NGDS. Depending on the operating mode, a different set of plugins need to be enabled. Some dependencies on external CKAN extensions are required as well.
-
Publisher: A node that is primarily used by a data provider to create metadata, make files avaialble for network access, deploy NGDS services to provide data access, or make metadata available for harvesting. Also refered to simply as Node.
- NGDS Plugins:
metadata
,csw
,ngdsui
,geoserver
- External Plugins:
datastorer
(ckanext-datastorer),spatial_metadata
andspatial_query
(ckanext-spatial)
- NGDS Plugins:
-
Aggregator: A node that is primarily used to collect metadata from NGDS publishing nodes (and possibly from other metadata sources), and provide search and data browsing services to help users find what they need, evaluate it, and get it for their application. Also called Central.
- NGDS Plugins:
metadata
,csw
,ngdsui
,ngds_harvester
,geoserver
- External Plugins:
spatial_metadata
,spatial_harvest_metadata_api
,spatial_query
(ckanext-spatial),csw_harvester
,harvest
,ckan_harvester
,cswserver
, andharvest
(ckanext-harvest)
- NGDS Plugins:
This extension provides a number of plugins, each of which encapsulates a different aspect of NGDS functionality:
- ngdsui: This plugin represents the core of ckanext-ngds functionality. It makes UI adjustments, performs validation of NGDS-specific metadata fields, and provides integration with NGDS standard data models defined by http://schemas.usgin.org/models.
- metadata: Builds additional tables required by ckanext-ngds
- csw: Provides access to metadata through the OGC CSW Protocol, and maintains ISO-19139 metadata documents that conform to the USGIN profile.
- ngds_harvester: Provides a customized CKAN Harvester that translates between ISO-19139 documents and NGDS-specific CKAN Datasets.
- geoserver: Integration with Geoserver, allowing uploaded CSV files and shapefiles to be exposed as WMS and WFS data services.
This extension is dependent on other extensions provided by the Open Knowledge Foundation.
- ckanext-datastorer: On-the-fly conversion of uploaded tabular datasets to database tables that can be accessed via CKAN's Data API.
- ckanext-spatial: Functionality that supports spatial metadata.
- ckanext-harvest: Support for harvesting metadata content from one CKAN instance to another.
- ckanext-importlib: Supports bulk upload of datasets into CKAN.
The installation of an entire CKAN system configured for ckanext-ngds on a clean, Ubuntu 12.04 server can be accomplished using a simple installation script. See here.
For users who wish to install ckanext-ngds alongside an existing CKAN system, or for developers interested in working with the code in this repository see this wiki.
This extension has 2 subpackages (CLient and Sysadmin). However the instructions below, applied for both of them).
Before running tests, there are 2 configs files for test, need to be configured regarding the test environment of your machine:
- ckanext-ngds/ckanext/ngds/client_or_sysadmin/test.ini: overrides ckan environment.ini variables or you can point it into a different environment.ini (e.g: use different database for test)
- ckanext-ngds/ckanext/ngds/client_or_sysadmin/tests/tests_config.cfg:
ckan_host: by default, CKAN Host on your machine ckan_web_map_service_url: by default, webMapService (WmsServer service). ckan_ngds_sysadmin_search_path: by default, NGDS search URI ckan_ngds_client_paths: by default, array of ngds routes to pages (URIs)
Command line to perform the tests:
$ cd ckanext-ngds/ckanext/ngds/client_or_sysadmin/
$ nosetests --ckan --with-pylons=test.ini tests/
- --with-pylons it's an option to specify the path to environment.ini to use for the test (override ckan default ini).
- tests/ it's the path to all tests files where located