Code Monkey home page Code Monkey logo

spotlight's Introduction

spotlight

CI | Gem Version | Release Notes | Design Documents

Spotlight is open source software that enables librarians, curators, and other content experts to easily build feature-rich websites that showcase collections and objects from a digital repository, uploaded items, or a combination of the two. Spotlight is a plug-in for Blacklight, an open source, Ruby on Rails Engine that provides a basic discovery interface for searching an Apache Solr index.

Read more about what Spotlight is, our motivations for creating it, and how to install and configure it in the wiki pages. You might also want to take a look at our demo videos, especially the tour of a completed Spotlight exhibit and the walkthrough of building an exhibit with Spotlight.

Requirements

  1. Ruby (2.5.0 or greater)
  2. Rails (5.1 or greater)
  3. Java (7 or greater) for Solr
  4. ImageMagick (http://www.imagemagick.org/script/index.php) due to carrierwave

Installation

To bootstrap a new Rails application:

$ rails new app-name -m https://raw.githubusercontent.com/projectblacklight/spotlight/master/template.rb

or from an existing Rails application:

$ rails app:template LOCATION=https://raw.githubusercontent.com/projectblacklight/spotlight/master/template.rb

During this process you will be prompted to enter an initial administrator email and password (this is a super-admin that can administer any exhibit in the installation). If you choose not to create one, the first user will be given administrative privileges.

Change directories to your new application:

$ cd app-name

Run the database migrations:

$ rake db:migrate

Start Solr (possibly using solr_wrapper in development or testing):

$ solr_wrapper

and the Rails development server:

$ rails server

Go to http://localhost:3000 in your browser.

Configuration

Default ActionMailer configuration

Spotlight introduces functionality that depends on being able to send emails to exhibit curators and contacts. Be sure to configure your application's environments appropriately (see the Rails Guide for Action Mailer Configuration).

See the Spotlight wiki for more detailed information on configuring Spotlight.

Developing Spotlight

Spotlight:

  • is a Rails engine and needs to be used in the context of a Rails application. We use engine_cart to create an internal test application at .internal_test_app/
  • uses Solr as part of its integration tests. We use solr_wrapper to manage the Solr instance used for development and test.

Our $ rake ci and $ rake spotlight:server tasks utilize Solr and the testing rails app automatically.

See more detailed instructions for development environment setup at "Contributing to Spotlight"

Tests

Run all the tests:

$ rake

This utilizes Solr and the testing rails app automatically.

Translations

Spotlight ships with i18n-tasks to help manage translations. To run a translation health check:

$ bundle exec i18n-tasks health

See developer-facing instructions for enabling translation on the wiki.

Community

spotlight's People

Contributors

aaron-collier avatar aeschylus avatar atz avatar camillevilla avatar cbeer avatar corylown avatar dunn avatar elrayle avatar jacobthill avatar jchristo4 avatar jcoyne avatar jkeck avatar jmartin-sul avatar justinlittman avatar mejackreed avatar mjgiarlo avatar ndushay avatar peetucket avatar ronan-mch avatar tpendragon avatar transifex-integration[bot] avatar

Watchers

 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.