A Rails 8 web application providing a searchable data dictionary for ArchivesSpace. It documents database fields, their types, descriptions, validation rules, and how they appear in the staff and public interfaces.
This application is intended to help the ArchivesSpace community understand where data is stored in the ArchivesSpace database and how it is displayed in the staff and public interfaces. It is useful for writing reports, working with the ArchivesSpace API, and developing application code.
- Ruby (see
.ruby-version) - Rails 8
- PostgreSQL
# Install dependencies
bundle install
# Create and load the database
bin/rails db:create db:schema:load
# Start the development server
bin/rails sA Dockerfile and compose.yaml are provided to run the app (and a PostgreSQL 16 database) in containers.
- Docker Dekstop or Docker Engine 24+.
# Build the image and start the app + database
docker compose upThen browse to http://localhost:3000.
On first startup the web container will:
- Create the database schema (
rails db:prepare). - Seed the database from
data_dictionary.jsonat the repo root.
Subsequent starts skip seeding.
Place a data_dictionary.json file in the Rails root directory and run:
bin/rails import:jsonTo import from a different path:
bin/rails "import:json[/path/to/data_dictionary.json]"The task upserts records by field_id (derived from field name + table name), so it is safe to re-run — existing fields will be updated and new ones added.
To wipe all existing field data and reload from a fresh JSON file:
bin/rails import:resetTo reset using a file at a different path:
bin/rails "import:reset[/path/to/data_dictionary.json]"Navigate to the Fields list and use the import form to upload an .xlsx, .xls, or .csv file. Each sheet in the workbook becomes a table name; rows become fields. Records are upserted by field_id, so re-uploading is safe.
# Cucumber acceptance tests
bundle exec cucumber
# Run a single feature
bundle exec cucumber features/search.feature
# RSpec unit tests
bundle exec rspecPlanned enhancements include:
- Crosswalk information for metadata standards (EAD, MARC, MODS, DC)
- Highlighting search results in context
- Sort capability from column headings
- Exporting search results
This application would not be possible without the work of the ArchivesSpace User Advisory Council Reports Sub-team, particularly the extraordinary efforts by Nancy Enneking.