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.
- Ruby (2.7 or greater)
- Rails (5.2 or greater)
- Java (7 or greater) for Solr
- ImageMagick (http://www.imagemagick.org/script/index.php) due to carrierwave
To bootstrap a new Rails application:
$ rails new app-name -m https://raw.githubusercontent.com/projectblacklight/spotlight/main/template.rb
or from an existing Rails application:
$ rails app:template LOCATION=https://raw.githubusercontent.com/projectblacklight/spotlight/main/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):
and the Rails development server:
$ rails server
Go to http://localhost:3000 in your browser.
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.
- 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.
$ 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"
Run all the tests:
This utilizes Solr and the testing rails app automatically.
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.
- Join us on the code4lib Slack
- #blacklight - a developer-focused channel for discussing implementation, customization, and other software concerns in the larger Blacklight community
- #spotlight-service - a service-focused channel for people who support exhibit-builders at institutions already using Spotlight
- Google Groups