GeoWorks
Rails engine that provides geospatial models for Hyrax repository applications.
Dependencies
- Solr
- Fedora Commons digital repository
- A SQL RDBMS (MySQL, PostgreSQL), though note that SQLite will be used by default if you're looking to get up and running quickly
- Redis, a key-value store
- ImageMagick with JPEG-2000 support
-
GDAL
- You can install it on Mac OSX with
brew install gdal
. - On Ubuntu, use
sudo apt-get install gdal-bin
.
- You can install it on Mac OSX with
- 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 git@github.com: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/samvera-labs/geo_works/master/template.rb
$ cd app-name
$ rake hydra:server
Add GeoWorks models to an existing Hyrax application:
- Add
gem 'geo_works'
to your Gemfile. bundle install
rails generate hyrax:install
rails generate geo_works:install -f
Development
bundle install
rake engine_cart:generate
rake geo_works:dev_servers
Testing
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
-
Make sure you have docker engine, docker-machine, and docker-compose installed.
- Docker Toolbox: https://www.docker.com/products/docker-toolbox
-
Execute the following command in the geo_works directory:
$ source ./run-docker.sh
-
To stop the server and remove port forwarding:
$ docker-compose stop $ killall ssh
Linux
-
Make sure you have docker engine and docker-compose installed.
-
Execute the following commands in the geo_works directory:
$ docker-compose up -d
Running GeoServer for Development with Vagrant
-
Make sure you have VirtualBox and Vagrant installed.
-
Execute the following commands:
$ git clone https://github.com/geoconcerns/geoserver-vagrant.git $ cd geoserver-vagrant/ $ vagrant up