/geo_concerns

PCDM based geospatial models for Hydra

Primary LanguageRubyApache License 2.0Apache-2.0

Geo Concerns

Build Status Coverage Status API Docs Gem Version Slack Status

Rails application for developing Hydra Geo models. Built around Curation Concerns engine.

Dependencies

  1. Solr
  2. Fedora Commons digital repository
  3. A SQL RDBMS (MySQL, PostgreSQL), though note that SQLite will be used by default if you're looking to get up and running quickly
  4. Redis, a key-value store
  5. ImageMagick with JPEG-2000 support
  6. GDAL
    • You can install it on Mac OSX with brew install gdal.
    • On Ubuntu, use sudo apt-get install gdal-bin.
  7. GeoServer (Optional)

Simple Tiles

GeoConcerns requires the image generation library Simple Tiles.

Mac OS X:

  • Install via Homebrew: brew install simple-tiles

Linux:

  • Install dependencies:

    libgdal-dev
    libcairo2-dev
    libpango1.0-dev 
    
  • Compile:

    $ git clone git@github.com:propublica/simple-tiles.git
    $ cd simple-tiles
    $ ./configure
    $ make && make install
    

Installation

Create and run a new GeoConcerns application from a template:

$ rails new app-name -m https://raw.githubusercontent.com/projecthydra-labs/geo_concerns/master/template.rb
$ cd app-name
$ rake hydra:server

Add GeoConcerns models to an existing CurationConcerns application:

  1. Add gem 'geo_concerns' to your Gemfile.
  2. bundle install
  3. rails generate curation_concerns:install
  4. rails generate geo_concerns:install -f

Development

  1. bundle install
  2. rake engine_cart:generate
  3. rake geo_concerns:dev_servers

Testing

  1. rake ci

To run tests separately:

$ rake geo_concerns:test_servers

Then, in another terminal window:

$ rake spec

To run a specific test:

rspec spec/path/to/your_spec.rb:linenumber

Running GeoServer for Development with Docker

MacOS

  1. Make sure you have docker engine, docker-machine, and docker-compose installed.

  2. Execute the following command in the geo_concerns directory:

    $ source ./run-docker.sh
    
  3. To stop the server and remove port forwarding:

    $ docker-compose stop
    $ killall ssh
    

Linux

  1. Make sure you have docker engine and docker-compose installed.

  2. Execute the following commands in the geo_concerns directory:

    $ docker-compose up -d
    

Running GeoServer for Development with Vagrant

  1. Make sure you have VirtualBox and Vagrant installed.

  2. Execute the following commands:

    $ git clone https://github.com/geoconcerns/geoserver-vagrant.git
    $ cd geoserver-vagrant/
    $ vagrant up