Temporary import sites for semi-automated Open Doors imports.
The Open Doors project is dedicated to preserving at-risk fanworks. Part of that work involves importing works into Archive of Our Own from external archives which are being closed down.
Due to the variety of formats in external websites, some of which are completely incompatible with Archive of Our Own's importing process, some archives are imported using a semi-automated process involving two technical stages after the initial Open Doors processes:
- The metadata and works are extracted from a backup of the old archive and converted into standardised MySQL tables (see Open Doors Code which houses the scripts used for this stage)
- The standardised data is hosted in a temporary website accessible to import operators and which allows them to perform the import in stages, verifying imported works as they go along. This repository houses the Rails application used to create those sites.
Requirements:
- Ruby 2.2.5 (this will be kept in sync with the version used by the
otwarchive
project) - MySQL 5.7
- Bundler
See Rails Getting Started Guide for instructions on installing and configuring Rails.
Once this is done, you can install dependencies and run the Rails application from the command line:
$ cd path/to/this/repo
$ bundle install
$ bin/rails server
In your browser, navigate to http://localhost:3010 to view the temp site.
Before you proceed, you will need to install Ansible (https://www.ansible.com/).
- Create a file called
hosts
with the following contents:
[otw]
[[SERVER_NAME]] ansible_ssh_user=[[SERVER_USER]]
Where SERVER_NAME
and SERVER_USER
are the server and user provided by Systems.
-
Make a copy of
variables.yml.example
asvariables.yml
and fill it in with the details of the site you're creating. -
Make a copy of
config/secrets.yml.example
asconfig/secrets.yml
(you'll probably need to have one for development anyway - make sure it has a validproduction
section) -
Run
$ cd scripts/ansible
$ ansible-playbook deploy-site.yml -i hosts --extra-vars "@variables.yml"