Home

Awesome

NOTE

Warclight is no longer under active development. This repo has been set to public archive.

If you're interested in web archive collections and Apache Solr, check out SolrWayback. It uses the same underlying library as Warclight to index web archives into Solr, and offers many more features than Warclight.

<3 AU Team

Warclight

codecov Gem Version Contribution Guidelines LICENSE Depfu

A Project Blacklight based Rails engine that supports the discovery of web archives held in the WARC and ARC formats. It allows faceted full-text search, record view, and other advanced discovery options.

The following article provides a nice overview:

Ruest, Nick, Milligan, Ian, and Lin, Jimmy. Warclight: A Rails Engine for Web Archive Discovery. Proceedings of the 2019 IEEE/ACM Joint Conference on Digital Libraries (JCDL 2019), June 2019, Urbana-Champaign, Illinois.

Requirements

Installation

Add this line to your application's Gemfile:

gem 'warclight'

And then execute:

$ bundle

Or install it yourself as:

$ gem install warclight

For further details, see our Creating, installing, and running your Warclight application documentation.

Usage

Warclight is designed to work with web archive data that is indexed via the UK Web Archive's webarchive-discovery project. A guide on indexing is available here.

Development

Warclight development uses solr_wrapper and engine_cart to host development instances of Solr and Rails server on your local machine.

Run the test suite

Ensure Solr and Rails are not running (ports 8983 and 3000 respectively), then:

$ bundle exec rake

Run a development server

$ bundle exec rake warclight:server

Then visit http://localhost:3000. It will also start a Solr instance on port 8983.

Run a console

You can also run bin/console for an interactive prompt that will allow you to experiment.

Run with docker

Ensure Docker is installed and configured.

$ docker-compose build
$ docker-compose up

Then visit http://localhost:3000. It will also start a Solr instance on port 8983.

Release a new version of the gem

To release a new version:

  1. Update the version number in lib/warclight/version.rb
  2. 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 warclight.gemspec) and push the .gem file to rubygems.org (e.g., gem push warclight-x.y.z.gem).

Contributing

Bug reports and pull requests are welcome on Warclight -- see CONTRIBUTING.md for details.

License

The gem is available as open source under the terms of the Apache License, Version 2.0.

Acknowledgments

This work is primarily supported by the Andrew W. Mellon Foundation. Other financial and in-kind support comes from the Social Sciences and Humanities Research Council, Compute Canada, the Ontario Ministry of Research, Innovation, and Science, York University Libraries, Start Smart Labs, and the Faculty of Arts and David R. Cheriton School of Computer Science at the University of Waterloo.

Any opinions, findings, and conclusions or recommendations expressed are those of the researchers and do not necessarily reflect the views of the sponsors.

This project drew inspiration from the Arclight and UKWA's Shine, and would like to thank those creators and contributors.