1 of 74

XML to ArchivesSpace Conversion Project

Turning a problem into an opportunity at the University of Washington Libraries Special Collections

Orbis Cascade Alliance AllCon July 2025

2 of 74

Who We Are

Tracy Nishimoto (she/her), processing archivist

tnishi1@uw.edu

Elaine Speer (she/her), accessioning archivist

espeer@uw.edu

3 of 74

Presentation Outline

  • Background on UWSC and finding aid workflows
  • Project background and working with ITS
  • Detailed description of the ingest project and what we have learned
  • Questions

4 of 74

UW Libraries Special Collections (UWSC)

Over 20 miles of books, serials, papers, photographs, architectural drawings, sound recordings, moving images, digital media carriers, and artifacts documenting:

  • University of Washington
  • Labor Unions of the Pacific Northwest
  • Jewish history in Washington State
  • History of Science and Medicine
  • Artist and Rare Books
  • Ethnomusicology
  • And more about the history of the PNW, from Alaska to Wyoming

5 of 74

UW Special Collections merge with Manuscripts and University Archives

6 of 74

A Brief History of Finding Aids in Special Collections

1958-2004: Basic Data Sheets

7 of 74

2001-2007: Digital finding aids pre-Archives West

8 of 74

2002-2003: XMetaL finding aids vs. raw XML

9 of 74

10 of 74

2013: UW adopts Archivist Toolkit

2017: UW adopts ArchivesSpace

Source: ResearchGate

11 of 74

Homegrown databases

12 of 74

13 of 74

14 of 74

15 of 74

16 of 74

Batch file left behind

17 of 74

The Problem

18 of 74

Photo by Beata Zawrzel/NurPhoto via Getty Images

19 of 74

The Problem

  1. Adapt workflows
  2. Migrate EAD to ArchivesSpace resource records

20 of 74

Changing the problem into an opportunity

21 of 74

Information Technology at University of Washington Libraries

22 of 74

Addressing the Problem

Additional support:

Previous attempts at migration

23 of 74

Ethnomusicology joins Special Collections in 2023

24 of 74

Addressing the Problem

Task 1: Local formatting for resources

25 of 74

26 of 74

Aeon

27 of 74

Addressing the Problem

Task 1: Local formatting for resources

Task 2: Stakeholder involvement

Task 3: Tasks divided by amount of technical vs. library skills needed

28 of 74

29 of 74

30 of 74

31 of 74

Technical Prep for working with ITS

  • Doing Background Research

32 of 74

33 of 74

Technical Prep.

Examples of various UWSC EAD

34 of 74

Technical Prep

Shared Documentation

35 of 74

Technical Prep for working with ITS

  • Doing Background Research
  • Finding suitable examples
  • Creating shared documentation
  • Shared vocabulary

36 of 74

37 of 74

The Project So Far

38 of 74

Initial steps

  • Initial shared project documentation
  • Systems introductions
  • ArchivesSpace sandbox
  • Review past efforts

39 of 74

40 of 74

Initial steps

  • Initial shared project documentation
  • Systems introductions
  • ArchivesSpace sandbox
  • Review past efforts
  • Reviewing current EAD

41 of 74

Central documentation to record results of import testing

42 of 74

43 of 74

44 of 74

  1. Copy EAD from AW via API
  2. Transform EAD
  3. Convert to JSON
  4. Ingest to ArchivesSpace via API

45 of 74

46 of 74

Tips & Tricks

47 of 74

Tips & Tricks

  • Do lots of prep work ahead of time
  • Create a DETAILED list of steps
  • Explicitly define terms for your IT department
  • Get a sandbox!
  • Centralize documentation (GitHub, Shared folders, OneDrive)
  • Define each team member’s role
  • Hold regular meetings
  • Contingency plan

48 of 74

Tips & Tricks

  • Do lots of prep work ahead of time
  • Create a DETAILED list of steps
  • Explicitly define terms for your IT department
  • Get a sandbox!
  • Centralize documentation (GitHub, Shared folders, OneDrive)
  • Define each team member’s role
  • Hold regular meetings
  • Contingency plan

49 of 74

Tips & Tricks

  • Do lots of prep work ahead of time
  • Create a DETAILED list of steps
  • Explicitly define terms for your IT department
  • Get a sandbox!
  • Centralize documentation (GitHub, Shared folders, OneDrive)
  • Define each team member’s role
  • Hold regular meetings
  • Contingency plan

50 of 74

Tips & Tricks

  • Do lots of prep work ahead of time
  • Create a DETAILED list of steps
  • Explicitly define terms for your IT department
  • Get a sandbox!
  • Centralize documentation (GitHub, Shared folders, OneDrive)
  • Define each team member’s role
  • Hold regular meetings
  • Contingency plan

51 of 74

Tips & Tricks

  • Do lots of prep work ahead of time
  • Create a DETAILED list of steps
  • Explicitly define terms for your IT department
  • Get a sandbox!
  • Centralize documentation (GitHub, Shared folders, OneDrive)
  • Define each team member’s role
  • Hold regular meetings
  • Contingency plan

52 of 74

Tips & Tricks

  • Do lots of prep work ahead of time
  • Create a DETAILED list of steps
  • Explicitly define terms for your IT department
  • Get a sandbox!
  • Centralize documentation (GitHub, Shared folders, OneDrive)
  • Define each team member’s role
  • Hold regular meetings
  • Contingency plan

53 of 74

Tips & Tricks

  • Do lots of prep work ahead of time
  • Create a DETAILED list of steps
  • Explicitly define terms for your IT department
  • Get a sandbox!
  • Centralize documentation (GitHub, Shared folders, OneDrive)
  • Define each team member’s role
  • Hold regular meetings
  • Contingency plan

54 of 74

Tips & Tricks

  • Do lots of prep work ahead of time
  • Create a DETAILED list of steps
  • Explicitly define terms for your IT department
  • Get a sandbox!
  • Centralize documentation (GitHub, Shared folders, OneDrive)
  • Define each team member’s role
  • Hold regular meetings
  • Contingency plan

55 of 74

Questions?

56 of 74

Detailed Dive into ArchivesSpace importing

57 of 74

Overview

How to collect your EAD on Archives West

58 of 74

Transforming EAD

Digital Objects

<dao> , <daogrp> , <daoloc>

<c04 level="file">

<did>

<container type="box-folder">1/3</container>

<unittitle>[Letter on Mountaineering] </unittitle>

<unitdate era="ce" calendar="gregorian">Nov. 15, 1909</unitdate>

<daogrp>

<resource label="start"> </resource>

<daoloc label="icon" role="text/html" href="http://digitalcollections.lib.washington.edu/cdm/search/searchterm/PNW01913/field/all/mode/any/conn/and/order/title"/>

<arc from="start" to="icon" show="new" actuate="onrequest"/>

</daogrp>

</did>

</c04>

59 of 74

Transforming EAD

Digital Objects cont.

<c04 level="file">

<did>

<container type="box-folder">1/3</container>

<unittitle><extref href="http://digitalcollections.lib.washington.edu/cdm/search/searchterm/PNW01913/field/all/mode/any/conn/and/order/title">[Letter on Mountaineering]</extref> </unittitle>

<unitdate era="ce" calendar="gregorian">Nov. 15, 1909</unitdate>

</did>

</c04>

60 of 74

Transforming EAD

Extent

“Extent values are the hall closets of archival description - all sorts of potentially-useful but super-ugly crap ends up there.”

Source: ArchivesSpace @ Yale, “Migration, step by step”

https://campuspress.yale.edu/yalearchivesspace/2015/06/14/migration-step-by-step/

61 of 74

Transforming EAD

Extent

<physdesc>

<extent>68.7 cubic feet </extent>

<extent> 66 boxes, including approximately 7 videocassettes, 1 audio cassette, and 8 rolls of drawings, 10 bundles of rolled drawings, 4 map tubes, 6 oversize folders, and 6 vertical files)</extent>

</physdesc>

62 of 74

Transforming EAD

Extent

<physdesc>

<extent>ca. 31.26 cubic ft</extent>

</physdesc>

<physdesc>

<extent>1641 photographic prints, 111 nitrate negatives</extent>

</physdesc>

<physdesc>

<extent>approximately 11,100 items</extent>

<extent>over 6000 audio reels, 3000 documents, 1000 audiocassettes, 500 compact discs, and 600 phonograph records</extent>

</physdesc>

63 of 74

Transforming EAD

Original file issues

  • Empty elements
  • Impossible normalized dates (1970/1880)
  • Self-closing tags (<p/> instead of <p></p>)
  • Attribute values not following controlled vocabularies
  • Components without a <unittitle> or <unidate>
  • Un-escaped ‘%’

64 of 74

Error examples

"error": {

"notes/7/subnotes/0/content": [

"Property is required but was missing"

65 of 74

Error examples

"error": {

"dates/0/certainty": [

"Protected read-only list #/dates/0/certainty. Invalid value 'aproximate'. Must be one of: …"

66 of 74

Error example

67 of 74

Error example

<c03 level="file">

<did>

<container type="box-folder">9/3</container>

<unitid type="uwsc"/>

<unittitle>Bob Edwards campaign finance records</unittitle>

68 of 74

Mystery Errors

69 of 74

70 of 74

Formatting Issues

71 of 74

Resources

  • https://github.com/archivesspace-labs/ArchivesSnake
  • Orbis Cascade Alliance documentation
  • ArchivesSpace
    • YouTube
    • https://archivesspace.org/

72 of 74

Future and Next Steps

73 of 74

Next Steps

  • Finishing testing phase
  • Begin migration to live instance
  • Future opportunities with ArchivesSpace

74 of 74

Questions?