geo-data / medin-portal

Implementation of the MEDIN portal
http://portal.oceannet.org
3 stars 1 forks source link

INTRODUCTION

This software has been developed to create the MEDIN Portal (portal.oceannet.org) by the GeoData Institute (www.geodata.soton.ac.uk) on behalf of the MEDIN partnership (www.oceannet.org).

Feedback and input (including code) is welcome. Please email geodata@soton.ac.uk

LICENSE

Unless otherwise indicated by packaged third party code this software is made available under the Reciprocal Public License (RPL) 1.5.

You can obtain a full copy of the RPL from http://opensource.org/licenses/rpl1.5.txt or geodata@soton.ac.uk

INSTALLATION

The server-side software is written in Python 2.6 and is designed to run on any WSGI or CGI compliant HTTP server. It is recommended that it be run under CGI for development environments and a persistent WSGI environment for production deployment (e.g. www.modwsgi.org).

The software has the following dependencies:

The CGI script is deploy/portal.cgi and the WSGI application is found in deploy/portal.wsgi. Your web server should be configured appropriately to invoke the required script.

In addition, the 'python' directory must be added to the HTTP server's PYTHONPATH location so that the calling python process can locate the application's modules.

Likewise the contents of the html directory should be made available at the web server's root web location.

CONFIGURATION

The application is configured by setting the PORTAL_ROOT environment variable to the absolute filesystem path of the package's root directory.

Genetic portal configuration is done by copying the etc/portal.cfg.example file to etc/portal.cfg and editing the contents as required.

Specific configuration of the portal spatial services is done by editing the files in the templates/config directory.

Additionally, the online EPSG Geodetic Parameter Database (http://epsg-registry.org) should be updated by running the bin/epsg-update.py script when required (e.g. on a daily basis as a cron job):

PYTHONPATH=./python python ./bin/epsg-update.py ./data/epsg-registry.sqlite

The above command assumes the script is run from the root distribution directory: the PYTHONPATH variable provides access to the required packages provided by the distribution.

The vocabulary cache should be updated in a similar way using bin/vocab-update.py. This script uses a newline separated text file as input to define a number of both local file-based and online vocabularies. These vocabularies are then cached in a SQLite database specified as a command line argument along the following lines:

PYTHONPATH=./python python ./bin/vocab-update.py \
--vocabularies ./data/vocabularies/vocab-list.txt \
./data/vocabularies.sqlite