A Rails engine supporting discovery of archival materials, based on Blacklight
ℹ️ From August-October 2019, Stanford University, University of Michigan, Indiana University, Princeton University, and Duke University are collaborating on a second phase of ArcLight! See the project board or our demo videos to follow our work.
Installing ArcLight is straightforward in a Rails environment.
Basically, add this line to your application's Gemfile
:
gem 'arclight'
And then execute:
$ bundle
Or install it yourself as:
$ gem install arclight
For further details, see our Installing ArcLight documentation.
Arclight is a Ruby gem designed to work with archival data. It can be installed on a server or virtual server. Once running, finding aids in the form of archival collection data can be imported into Arclight through an indexing process. Institutional and repositories data can also be added to Arclight (Currently this requires a developer. Configuration pages will be added for this in future versions). Additional finding aids can be added at any time.
After data indexing, Arclight can to be used to search, browse, and display the repositories (sets of collections), collections, and components within collections. Globally available search allows filtering on several types of terms (Keyword, Name, Place, etc.). Once a search is begun, it can be further narrowed using facets on the left side of the search page. Selecting a search result goes directly to that results show or display page. Also global available are buttons for Repositories and Collections which can be used an any time.
Browsing allows you to view the Overview or Contents (when it exists) of a collection. The Overview tab displays top level metadata about the collection. The Contents tab displays an outline view of a next level of the collection. You can expand each level by selecting (clicking). Selecting a component in the Contents views goes to a component page which shows the metadata for it.
Some pages include an inline view tab to the right of an item which will expand the Contents further.
See the ArcLight demo and ArcLight MVP Wiki for usage.
See Arclight Major Features for a list of features.
Traject is a high performance way of transforming documents for indexing into Solr and how ArcLight does indexing. An EAD2 can be indexed by doing the following:
bundle exec traject -u http://127.0.0.1:8983/solr/blacklight-core -i xml -c lib/arclight/traject/ead2_config.rb spec/fixtures/ead/sample/large-components-list.xml
Or
bundle exec rake arclight:seed
- General
- ArcLight demo site
- ArcLight project wiki: includes design process documentation
- ArcLight Github Wiki: developer/implementor documentation
- Blacklight wiki
- Use the ArcLight Google Group to contact us with questions
- ArcLight Phase II:
- ArcLight MVP:
See the CONTRIBUTORS file.
ArcLight development uses solr_wrapper
and engine_cart
to host development instances of Solr and Rails server on your local machine.
Ensure Solr and Rails are not running (ports 8983 and 3000 respectively), then:
$ bundle exec rake
If you find that the tests are failing when you run them on a Linux computer, you might need to install Google Chrome so the Selenium testing framework can run properly.
$ bundle exec rake arclight:server
Then visit http://localhost:3000. It will also start a Solr instance on port 8983.
You can also run bin/console
for an interactive prompt that will allow you to experiment.
To release a new version:
- Update the version number in
lib/arclight/version.rb
- Run
bundle exec rake release
, which will create a git tag for the version, push git commits and tags, build the gem file (e.g.,gem build arclight.gemspec
) and push the.gem
file to rubygems.org (e.g.,gem push arclight-x.y.z.gem
).
Bug reports and pull requests are welcome on ArcLight -- see CONTRIBUTING.md for details.
The gem is available as open source under the terms of the Apache 2 License.
ArcLight also uses embedded SVG icons from the FontAwesome project. These icons are unmodified and licensed CC BY 4.0. All of these icons have the license and attribution embedded in them.