Git Product home page Git Product logo

annex-ims's Introduction

IRIS - Integrated Retrieval and Inventory System

Build Status Coverage Status Code Climate

IRIS - Integrated Retrieval and Inventory System for offsite storage facilities

Getting Started:

Requirements:

Installation:

On Mac, install [email protected] following directions here: https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit#homebrew

Also on Mac, near the top of .bashrc (or similar), add export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES - see https://blog.phusion.nl/2017/10/13/why-ruby-app-servers-break-on-macos-high-sierra-and-what-can-be-done-about-it/

$ bundle install
$ bundle exec rake db:create db:migrate db:seed

You should also add your local computer's name to /etc/hosts in order to check email links

Start thin; This will fire up the application. Solr, sneakers and Postgres should also be running. The second line below is only necessary on certain Mac operating systems.

$ brew services restart postgresql
$ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
$ bundle exec thin start -C config/thin.yml
$ bundle exec rake sunspot:solr:start
$ brew services start rabbitmq
$ bundle exec rake sneakers:start

NOTE: On Mac OS systems running High Sierra and above, you may run into an issue running thin. Thin will fork processes internally, and Apple has implemented a safety feature that doesn't allow the type of forking that thin (or Puma or a host of other Rails containers) uses so you may need to issues this as an ENV to your shell before running thin:

export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

BUT...: This is not, in general, recommended. Your mileage may vary.

Chron tasks

The system uses chron to schedule some tasks that are necessary for system operation (e.g. - ensuring that sneakers is running and retrieving open requests from the ILS). The tasks that are configured to run under chron are documented in /config/schedule.rb.

Upgrading SOLR for the development environment

  • Download the version of solr you want - Solr 8.7 download link: http://archive.apache.org/dist/lucene/solr/8.7.0/
  • Choose the solr-8.7.0.zip file
  • Unzip the file into a staging directory
  • Run cd $(bundle show sunspot_solr) at the CLI
  • Rename the solr directory to solr-original
  • Run cp -Rp <path-to-solr-8.7.0-dir> ./solr

If your core directories are set up correctly, you should be all set. If not, create a core directory in the solr directory that has the following structure:

/development
  /conf
    elevate.xml
    schema.xml
    solrconfig.xml
    spellings.txt
    stopwords.txt
    synonyms.txt
  /data
  core.properties

The core.properties file should look like this:

name=development
config=solrconfig.xml
schema=schema.xml
dataDir=<full-path-to-data-dir>

Then you can run the command bundle exec rake sunspot:solr:start - The solr instance is running on port 8981 so you should be able to go to http://localhost:8981/solr/#/ and inspect the dashboard and core configuration. You can also run queries against the index fron the admin console.

Finally, if the schema is upgraded or the Solr version is upgraded, you will need to do a full reindex. Run the command outlined below under "Indexing records"

Indexing records

The system uses Solr to index records. Given the potentially high volume of records handled by the IMS, this is necessary for performance reasons. In order to initiate a complete reindex of the records, use the following command:

$ export RAILS_ENV=<environment>
$ bundle exec rake sunspot:reindex

Please note: depending on the number of records, reindexing the entire database could take significant time and during reindexing certain application functions will not work or operate in a degraded fashion.

annex-ims's People

Contributors

afstanton avatar rfox2 avatar jaronkk avatar jgondron avatar wsill avatar awetherill avatar eclecticcodingnd avatar jeremyf avatar hbeachey avatar ialford avatar jonhartzler avatar rbalekai avatar mdehmlow avatar hanstra avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.