• Stars
    star
    161
  • Rank 233,470 (Top 5 %)
  • Language
    Ruby
  • License
    Other
  • Created about 11 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Spotlight enables librarians, curators, and others who are responsible for digital collections to create attractive, feature-rich websites that highlight these collections.

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.7 or greater)
  2. Rails (5.2 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/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):

$ 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"

With Docker

# because of how docker-compose handles named images, running `docker-compose up --build` will error when the Rails images have not been built locally
docker-compose build
docker-compose up

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

Building the javascript

The javascript is built by npm from sources in app/javascript into a bundle in app/assets/javascripts/spotlight/spotlight.js. This file should not be edited by hand as any changes would be overwritten. When any of the javascript components in the gem are changed, this bundle should be rebuild with the following steps:

  1. Install npm
  2. run npm install to download dependencies
  3. run npm run prepare to build the bundle
  4. run npm publish to push the javascript package to https://npmjs.org/package/spotlight-frontend

More Repositories

1

blacklight

Blacklight provides a discovery interface for any Solr (http://lucene.apache.org/solr) index.
Ruby
758
star
2

arclight

A Rails engine supporting discovery of archival material
Ruby
39
star
3

blacklight_advanced_search

Advanced search plugin for Blacklight
Ruby
25
star
4

blacklight_range_limit

Range facet/limit/profile plugin for Blacklight
Ruby
20
star
5

blacklight_oai_provider

OAI Provider Plugin for Blacklight
Ruby
19
star
6

blacklight-marc

MARC enhancements for Blacklight
Ruby
19
star
7

blacklight-gallery

Gallery views for Blacklight
Ruby
14
star
8

blacklight-maps

Map search results view for Blacklight
Ruby
14
star
9

blacklight-vue

Blacklight frontend for VueJS
Vue
10
star
10

blacklight-jetty

Blacklight Jetty Instance
XSLT
8
star
11

intro-to-blacklight-2020

Ruby
7
star
12

blacklight-oembed

OEmbed media views for Blacklight
XSLT
6
star
13

blacklight_folders

Allow grouping of blacklight bookmarks into user created reference folders
Ruby
6
star
14

blacklight_browse_nearby

A gem to provide a forward/backward browse from solr documents in Blacklight.
Ruby
5
star
15

demo.projectblacklight.org

Ruby
4
star
16

blacklight_cql

A plugin for Blacklight to provide CQL searching
Ruby
4
star
17

blacklight-solr-example-configs

Sample solr configuration/schema files to help you get started
4
star
18

customizing-blacklight

Jekyll site with content about customizing blacklight applications (for HydraConnect 2015)
CSS
3
star
19

blacklight-locale_picker

A dropdown locale switcher for Blacklight apps
Ruby
2
star
20

blacklight-access_controls

Provides access controls for Blacklight-based Rails applications.
Ruby
2
star
21

projectblacklight.github.com

Project Blacklight Primary Web Presence
SCSS
2
star
22

blacklight-data

Demo data files to test your Blacklight instance
2
star
23

blacklight-vue-demo

A sample project that uses blacklight-vue
JavaScript
2
star
24

intro-to-blacklight-2022

Ruby
1
star
25

intro-to-blacklight-2021

Ruby
1
star
26

blacklight_summit_demo

Ruby
1
star
27

code4lib_precon_demo

Code4Lib 2017 preconference demo application
JavaScript
1
star