Skip to content

Commit

Permalink
Remove Vagrant instructions and clean up setup process
Browse files Browse the repository at this point in the history
  • Loading branch information
spilth committed Aug 21, 2024
1 parent ead7998 commit 4cbcf50
Showing 1 changed file with 60 additions and 55 deletions.
115 changes: 60 additions & 55 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,65 +2,82 @@

[![CI](https://github.com/NYULibraries/spatial_data_repository/actions/workflows/ci.yml/badge.svg)](https://github.com/NYULibraries/spatial_data_repository/actions/workflows/ci.yml)

This repository tracks the implementation of GeoBlacklight used to power the front-end of NYU Libraries [Spatial Data Repository](https://geo.nyu.edu)
This repository tracks the implementation of GeoBlacklight used to power the front-end of NYU Libraries' [Spatial Data Repository](https://geo.nyu.edu)

## Links
## Local Development Quickstart

- [Documentation Repo](https://github.com/NYULibraries/sdr-documentation)
### Prerequisites

## Archive
You will need the following installed:

- [Wiki for GBL 0.12.1](https://github.com/NYULibraries/spatial_data_repository/wiki); some info obsolete but contains some supporting doc and application change tracking
- Git
- MySQL
- Ruby 3.2.2
- NodeJS 20+
- Java 11+

## Local Development Quickstart
On macOS you can use [Homebrew](https://brew.sh) and [asdf](https://asdf-vm.com) to install everything you need:

```bash
$ brew install git
$ brew install mysql
$ brew install asdf
$ echo '. "$HOME/.asdf/asdf.sh"' >> ~/.zshrc
$ source ~/.zshrc
$ asdf plugin add ruby
$ asdf install ruby 3.2.2
$ asdf global ruby 3.2.2
$ asdf plugin add java
$ asdf install java openjdk-17
$ asdf global java openjdk-17
$ asdf plugin add nodejs
$ asdf install nodejs 22.6.0
$ asdf global nodejs 22.6.0
```

Below are barebones steps for getting started in development for the SDR.
### Running a Development Server

### Using Vagrant
To checkout the project and standup a development server:

#### Prerequisites
- Git
- Vagrant
- VirtualBox
```bash
$ git clone https://github.com/NYULibraries/spatial_data_repository.git
$ cd spatial_data_repository
$ bundle install
$ npm install
$ bundle exec rake db:schema:load
$ bundle exec rake sdr:server
```

The development SDR web application will be available at <http://localhost:3000>

#### Steps
The development Solr instance will be available at <http://localhost:8989/solr>

1. Run the commands below in order specified:
- `git clone https://github.com/NYULibraries/spatial_data_repository.git && cd spatial_data_repository`
- `vagrant up`
- `vagrant ssh`
- `cd /vagrant/sdr`
- `bundle exec rake db:schema:load`
- `bundle exec rake sdr:server`
2. View to test environment Solr admin panel: http://localhost:8983/
3. View the operating GeoBlacklight Rails app: http://localhost:3000
#### Setup Gotchas

### On Mac, including M1-3 (no virtualization)
If the `mysql2` gem fails to install and complains about not finding `zstd` you may need to do the following:

#### Prerequisites
- Git (`brew install git`)
- Ruby 3.2.2 (not 3.3.1) + Rails (many options; GBL recommends this [Go Rails install list](https://gorails.com/setup/macos/14-sonoma#ruby), especially for Apple M1, M2; use `asdf` install manager and install Ruby + Nodejs + Rails)
- Mysql (`brew install mysql`)
- Java (`brew install openjdk@11`); if needing help to add Java to PATH, see [this help](https://stackoverflow.com/questions/71059252/mac-the-operation-couldn-t-be-completed-unable-to-locate-a-java-runtime-that-su))
```bash
$ gem install mysql2 -v '0.5.6' -- --with-opt-dir=$(brew --prefix openssl) --with-ldflags=-L/opt/homebrew/opt/zstd/lib
```

#### Steps
### Loading NYU Data in Development

1. Run the commands below in order specified:
- `git clone https://github.com/NYULibraries/spatial_data_repository.git && cd- spatial_data_repository`
- `bundle install`
- `bundle exec rake db:schema:load`
- `bundle exec rake sdr:server`
2. View to test environment Solr admin panel: http://localhost:8989/solr
3. View the operating GeoBlacklight Rails app: http://localhost:3000
First, start up the Rails app if it's not already running:

### Setup Gotchas
```bash
$ bundle exec rake sdr:server
```

If the `mysql2` gem fails to install and complains about not finding `zstd` you may need to do the following:
Then in another terminal run the following Rake task:

```bash
gem install mysql2 -v '0.5.6' -- --with-opt-dir=$(brew --prefix openssl) --with-ldflags=-L/opt/homebrew/opt/zstd/lib
$ bundle exec rake sdr:load_nyu_data
```

Once completed, head to <http://localhost:3000/?search_field=all_fields> and you should have a lot more data to work with.

The Solr instance does not persist its data between runs so you will need to reload the data if you ever restart the web application.

### Running the Test Suite

To run the full test suite use the following command:
Expand All @@ -87,20 +104,8 @@ Note: You'll know this step is necessary if an individual spec fails with an err
Blacklight::Exceptions::ECONNREFUSED: Connection refused - Unable to connect to Solr instance using #<RSolr::Client:0x0000000117d5e1a8 @uri=#<URI::HTTP http://127.0.0.1:8983/solr/sdr-core-test/>
```

### Loading NYU Data Locally

First, start up the Rails app if it's not already running:

```bash
$ bundle exec rake sdr:server
```

This will ensure Solr is up and running.

Then in another terminal run the following Rake task:

```bash
$ bundle exec rake sdr:load_nyu_data
```
## Resources

Once completed, head to <http://localhost:3000/?search_field=all_fields> and you should have a lot more data to work with.
- [Documentation Repo](https://github.com/NYULibraries/sdr-documentation)
- [Wiki for GBL 0.12.1](https://github.com/NYULibraries/spatial_data_repository/wiki)
- some info obsolete but contains some supporting doc and application change tracking

0 comments on commit 4cbcf50

Please sign in to comment.