GeoWorks

Code: Build Status Coverage Status Code Climate

Docs: Documentation Status API Docs Gem Version

Rails engine that provides geospatial models for Hyrax repository applications.

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

GeoWorks 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 [email protected]:propublica/simple-tiles.git
  $ cd simple-tiles
  $ ./configure
  $ make && make install

Installation

Create and run a new GeoWorks application from a template:

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

Add GeoWorks models to an existing Hyrax application:

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

Development

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

Testing

  1. rake ci

To run tests separately:

$ rake geo_works: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_works directory:

   $ source ./run-docker.sh
  1. 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_works 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