Repository Development at LC - Access 2009

147
Repository Development at LC Daniel Chudnov - 2009-10-01 - dchud at loc gov Access 2009 - Charlottetown, PEI

description

Given at Access 2009 in Charlottetown, PEI. Watch video of the actual talk at http://hosting2.epresence.tv/UPEI/1/watch/72.aspx

Transcript of Repository Development at LC - Access 2009

Page 1: Repository Development at LC - Access 2009

RepositoryDevelopment

at LCDaniel Chudnov - 2009-10-01 - dchud at loc gov

Access 2009 - Charlottetown, PEI

Page 2: Repository Development at LC - Access 2009

who we arewhat we dowhat’s next

Page 3: Repository Development at LC - Access 2009

who we are

Page 4: Repository Development at LC - Access 2009

30ish peopledev, QA, PM, ops

from libs, uni, industry, etc.

Page 5: Repository Development at LC - Access 2009

OSIOffice of

Strategic Initiatives

Page 6: Repository Development at LC - Access 2009

“...capture the digital artifact, register and/or deposit it for the Copyright Office, pass it along to

those who decide whether to include it in the Library, and allow it to be incorporated digitally in the collection, with the optimum flow-through of information forregistration, cataloging, indexing,

and preservation.”(search for “LC21”)

Page 7: Repository Development at LC - Access 2009

or, to be precise

Page 8: Repository Development at LC - Access 2009

“capture the digital artifact,

register and/or deposit it for the Copyright Office, pass it along to those who decide whether to include it in the

Library, and allow it to be incorporated digitally in the collection, with the optimum flow-through of

information forregistration, cataloging, indexing, and preservation.”

(search for “LC21”)

Page 9: Repository Development at LC - Access 2009

“capture the digital artifact,

register and/or deposit it for the Copyright Office,

pass it along to those who decide whether to include it in the Library, and allow it to be incorporated digitally in

the collection, with the optimum flow-through of information for

registration, cataloging, indexing, and preservation.”(search for “LC21”)

Page 10: Repository Development at LC - Access 2009

“capture the digital artifact, register and/or deposit it for the Copyright Office,

pass it along to those who decide whether to include it in the Library, and allow it to be incorporated digitally in the collection, with the optimum flow-through of

information forregistration, cataloging, indexing, and preservation.”

(search for “LC21”)

Page 11: Repository Development at LC - Access 2009

“capture the digital artifact, register and/or deposit it for the Copyright Office, pass it along to those who decide whether to

include it in the Library, and

allow it to be incorporated digitally

in the collection,

with the optimum flow-through of information forregistration, cataloging, indexing, and preservation.”

(search for “LC21”)

Page 12: Repository Development at LC - Access 2009

“capture the digital artifact, register and/or deposit it for the Copyright Office, pass it along to those who decide whether to include it in the Library, and allow it to be

incorporated digitally in the collection, with the optimum flow-through of information for

registration, cataloging,

indexing, and preservation.”

(search for “LC21”)

Page 13: Repository Development at LC - Access 2009

what we do

Page 14: Repository Development at LC - Access 2009

“capture thedigital artifact”

Page 15: Repository Development at LC - Access 2009

at scale

Page 16: Repository Development at LC - Access 2009

world scalethen

web scale

Page 17: Repository Development at LC - Access 2009

wdl.org

Page 18: Repository Development at LC - Access 2009

partnersall over

the world

Page 19: Repository Development at LC - Access 2009

content from all over

the world

Page 20: Repository Development at LC - Access 2009

usersall over

the world

Page 21: Repository Development at LC - Access 2009

wdl.org/ru/

Page 22: Repository Development at LC - Access 2009

wdl.org/zh/

Page 23: Repository Development at LC - Access 2009

wdl.org/ar/

Page 24: Repository Development at LC - Access 2009

launchedApril 2009

Page 25: Repository Development at LC - Access 2009

lots of press

Page 26: Repository Development at LC - Access 2009

9,026 req/s1.25 Gbit/son day one

Page 27: Repository Development at LC - Access 2009

no crashjust bugs

(yay!)

Page 28: Repository Development at LC - Access 2009

that wasnew for LC

Page 29: Repository Development at LC - Access 2009

how?

Page 30: Repository Development at LC - Access 2009

solarisapachenginxmysqlsolr

djangojquery

Page 31: Repository Development at LC - Access 2009

clean URIs

static pages

Page 32: Repository Development at LC - Access 2009

global edge caching

Page 33: Repository Development at LC - Access 2009

what we do

Page 34: Repository Development at LC - Access 2009

capture the artifact

pass it along

cataloging, indexing

Page 35: Repository Development at LC - Access 2009

chroniclingamerica.loc.gov

Page 36: Repository Development at LC - Access 2009

139,582 title records

Page 37: Repository Development at LC - Access 2009

1,442,462 pages

Page 38: Repository Development at LC - Access 2009

freely availablenow

download whole issues - tell friends - mash it up

Page 39: Repository Development at LC - Access 2009

100+ TB16 of 50+ states/terr.and growing quickly

Page 40: Repository Development at LC - Access 2009

how?

Page 41: Repository Development at LC - Access 2009

solarisapachemysqlsolr

django

Page 42: Repository Development at LC - Access 2009

clean URIs

page caching

Page 43: Repository Development at LC - Access 2009

capture the artifact

pass it along

cataloging, indexing,preservation

Page 44: Repository Development at LC - Access 2009

preservationstorage

“movage”

Page 45: Repository Development at LC - Access 2009

capture the artifact

Page 46: Repository Development at LC - Access 2009

BagIt

packing slipfor data

Page 47: Repository Development at LC - Access 2009

data in a Bag

.|-- bag-info.txt|-- bagit.txt|-- data| |-- batch.xml| |-- batch_1.xml| |-- batch_ne_dewitt_rework| | |-- 00206538016_batch.xml| | |-- 00206538028_batch.xml| | `-- sn99021999| `-- sn99021999| |-- 00206538016| | |-- 0000.jp2| | |-- 0000.pdf| | |-- 0000.tif| | |-- 0000.xml| | |-- 0001.jp2| | |-- 0001.pdf| | |-- 0001.tif| | |-- 0001.xml

Page 48: Repository Development at LC - Access 2009

identifiesa bag

.|-- bag-info.txt|-- bagit.txt|-- data| |-- batch.xml| |-- batch_1.xml| |-- batch_ne_dewitt_rework| | |-- 00206538016_batch.xml| | |-- 00206538028_batch.xml| | `-- sn99021999| `-- sn99021999| |-- 00206538016| | |-- 0000.jp2| | |-- 0000.pdf| | |-- 0000.tif| | |-- 0000.xml| | |-- 0001.jp2| | |-- 0001.pdf| | |-- 0001.tif| | |-- 0001.xml

Page 49: Repository Development at LC - Access 2009

where thedata starts

.|-- bag-info.txt|-- bagit.txt|-- data| |-- batch.xml| |-- batch_1.xml| |-- batch_ne_dewitt_rework| | |-- 00206538016_batch.xml| | |-- 00206538028_batch.xml| | `-- sn99021999| `-- sn99021999| |-- 00206538016| | |-- 0000.jp2| | |-- 0000.pdf| | |-- 0000.tif| | |-- 0000.xml| | |-- 0001.jp2| | |-- 0001.pdf| | |-- 0001.tif| | |-- 0001.xml

Page 50: Repository Development at LC - Access 2009

packingslip

.|-- bag-info.txt|-- bagit.txt|-- data| |-- batch.xml| |-- batch_1.xml| |-- batch_ne_dewitt_rework| | |-- 00206538016_batch.xml| | |-- 00206538028_batch.xml| | `-- sn99021999| `-- sn99021999| |-- 00206538016| | |-- 0000.jp2| | |-- 0000.pdf| | |-- 0000.tif| | |-- 0000.xml| | |-- 0001.jp2| | |-- 0001.pdf| | | ...|-- manifest-md5.txt`-- tagmanifest-md5.txt

Page 51: Repository Development at LC - Access 2009

71607ad119be88c842268a76f0b6b9e9 data/sn99021999/00206538107/1884091301/0621.pdfc602d2ac07508059ce5f5597e239b97f data/sn99021999/00206538120/1885100601/0831.xmla59795bd1584532d5cbc0b1d82f75cf8 data/sn99021999/00206538016/1880061401/0593.pdf3c64fac7e2d49671e0d93908ae42a779 data/sn99021999/00206539616/1888101801/0905.xml03158a560baa7479b3805d2b45ee02cd data/sn99021999/00206538028/1880111501/0405.tiffa56ea18580e1446939ed62709e5b2db data/sn99021999/00206538077/1883061901/1145.pdfbf4fb83ff8305e8256970a3466c1a12d data/sn99021999/00206538120/1885061501/0043.pdf8f3649fc812de74b9d9443ee90a8ac9c data/sn99021999/00206538120/1885111101/1109.tife0b83a7f9ca228271fdaecf6348e1cec data/sn99021999/00206538120/1885101201/0871.xml1c2f84e12792c123ba0aabedd0c0bbad data/sn99021999/00206538107/1884071401/0197.xml080e557fe9f68037605e5b80df4bc4ac data/sn99021999/0020653820A/1888050701/0543.tif532efe32c156459d9d9589caf618f502 data/sn99021999/00206538120/1885071401/0250.tifce607af59a96f2656d9448f38ffda072 data/sn99021999/0020653820A/1888052801/0731.pdf60b626d8fd40aca1b425e86a004bb055 data/sn99021999/00206539628/1888111801/0088.xmla467cd62350334c7aa83cf1e9056c1c6 data/sn99021999/00206539616/1888091701/0629.jp21a434f7a4d843a2c8ffe8d0824fafc3f data/sn99021999/00206538028/1880120801/0482.jp222996d89b4a3334256afaddcaa0238d8 data/sn99021999/00206538016/1874102001/0259.jp236f550da273ad4c592fee1761c98322a data/sn99021999/00206538016/1880052201/0518.jp27f7ccec3f2afae896338498372fd476e data/sn99021999/00206539616/1888080101/0200.pdfc247a5d74d0e7f857c534d935661adbe data/sn99021999/00206538107/1884072601/0286.jp24d497a18a154adcc8636239378ab340b data/sn99021999/00206539628/1889021101/0868.pdf2e8ca2558b54b5c49b2f20a355a60895 data/sn99021999/00206538065/1882092001/0136.xmlfb71493048e5010100f18012f5060d42 data/sn99021999/00206538028/1880123001/0569.xml40b100432890b055a5defbfbea815d57 data/sn99021999/00206538107/1884090901/0590.xml46f6d61480dadc1c988b0baa4de8b6c4 data/sn99021999/00206539628/1888122801/0463.pdf1cb8af0648e8c9df395b63226fe7371f data/sn99021999/00206538016/1874101501/0244.pdf9257834023c683b02f354888b2740b8f data/sn99021999/00206539616/1888102301/0956.xml0d52b3b2b1c5459b7e8d500a8566b0bf data/sn99021999/00206538120/1885080801/0425.tif

Page 52: Repository Development at LC - Access 2009

defines two things

Page 53: Repository Development at LC - Access 2009

1

what i thinki’m sending you

Page 54: Repository Development at LC - Access 2009

2

whether youreceived it

Page 55: Repository Development at LC - Access 2009

just likea

packing slip

Page 56: Repository Development at LC - Access 2009

works acrossspace

Page 57: Repository Development at LC - Access 2009

works acrosssystems

Page 58: Repository Development at LC - Access 2009

works acrossorgs

Page 59: Repository Development at LC - Access 2009

works acrosstime

Page 60: Repository Development at LC - Access 2009

easy to make

Page 61: Repository Development at LC - Access 2009

md5deep

Page 62: Repository Development at LC - Access 2009

BIL

BagItLibrary

Page 63: Repository Development at LC - Access 2009

bvar@sun9 /ingest/bvar/test $ bag create --dest new_bag test_data/*12:08:47,044 [main] INFO CommandLineBagDriver : Performing operation: create2.301112941466272:2.312:08:47,141 [main] INFO ManifestImpl : Creating manifest for manifest-md5.txt12:09:09,493 [main] INFO ManifestImpl : Creating manifest for tagmanifest-md5.txt12:09:09,511 [main] INFO AbstractBagImpl : Writing bag12:09:41,507 [main] INFO CommandLineBagDriver : Operation completed.12:09:41,508 [main] INFO CommandLineBagDriver : Returning 0bvar@sun9 /ingest/bvar/push/test_bag $ bag isvalid .11:55:45,582 [main] INFO CommandLineBagDriver : Performing operation: isvalid11:55:46,378 [main] INFO ManifestImpl : Creating manifest for manifest-md5.txt11:55:46,458 [main] INFO ManifestImpl : Creating manifest for tagmanifest-md5.txt11:55:46,540 [main] INFO AbstractBagImpl : Completion check: Result is true.11:56:21,273 [main] INFO AbstractBagImpl : Validity check: Result is true.11:56:21,273 [main] INFO CommandLineBagDriver : Result is true.11:56:21,274 [main] INFO CommandLineBagDriver : Returning 0bvar@sun9 /ingest/bvar/push/test_bag $

Page 64: Repository Development at LC - Access 2009

Bagger

Page 65: Repository Development at LC - Access 2009

free/open sourcereleasesfrom LC

Page 66: Repository Development at LC - Access 2009

sf.net/projects/loc-xferutils/

get yours today - tell friends - start trading bags

Page 67: Repository Development at LC - Access 2009

that wasnew for LC

Page 68: Repository Development at LC - Access 2009

pass it along

Page 69: Repository Development at LC - Access 2009

transferinventoryworkflow

Page 70: Repository Development at LC - Access 2009

transfer UI - inventory - workflow

Page 71: Repository Development at LC - Access 2009

how?

Page 72: Repository Development at LC - Access 2009

apachespring/mvchibernate

mysql

Page 73: Repository Development at LC - Access 2009

and otherautomationstrategies

Page 74: Repository Development at LC - Access 2009

lots ofwork

still to do

Page 75: Repository Development at LC - Access 2009

lots ofintegrationstill to do

Page 76: Repository Development at LC - Access 2009

register/depositfor

Copyright

Page 77: Repository Development at LC - Access 2009

not my area,but

Page 78: Repository Development at LC - Access 2009

we hope to supporteDeposit

with these tools

Page 79: Repository Development at LC - Access 2009

“Deposit Demand”

June 2009Federal Register

Proposed Rulemaking

Page 80: Repository Development at LC - Access 2009

stay tunedor

ask my colleagues :)

(ask me whom to ask)

Page 81: Repository Development at LC - Access 2009

but, not my area

Page 82: Repository Development at LC - Access 2009

“allow it to be...incorporated digitally

in the collection”

Page 83: Repository Development at LC - Access 2009

“allow it to be...

incorporateddigitally

in the collection”

Page 84: Repository Development at LC - Access 2009

how?

Page 85: Repository Development at LC - Access 2009

traditional approach:

catalog recordsexhibit sites

Page 86: Repository Development at LC - Access 2009

cost of integrating everything

is high

Page 87: Repository Development at LC - Access 2009

cost of updating everything

is high

Page 88: Repository Development at LC - Access 2009

cost ofconsistent web strategies

is low

Page 89: Repository Development at LC - Access 2009

for example

Page 90: Repository Development at LC - Access 2009

Linked Data

Page 91: Repository Development at LC - Access 2009

use URIs as names for thingsuse HTTP URIs

provide useful informationinclude links to other URIs

http://www.w3.org/DesignIssues/LinkedData.html

Page 92: Repository Development at LC - Access 2009

id.loc.gov

Page 93: Repository Development at LC - Access 2009

LCSHon the web

free

Page 94: Repository Development at LC - Access 2009
Page 95: Repository Development at LC - Access 2009

clean URIs

followyournose

formats

Page 96: Repository Development at LC - Access 2009

view source

Page 97: Repository Development at LC - Access 2009

<link rel="alternate" type="application/rdf+xml" href="/authorities/sh00009460.rdf" /><link rel="alternate" type="text/plain" href="/authorities/sh00009460.nt" /><link rel="alternate" type="application/json" href="/authorities/sh00009460.json" />

Page 98: Repository Development at LC - Access 2009

<rdf:RDF> <rdf:Description rdf:about="http://id.loc.gov/authorities/sh00009460#concept"> <dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2000-11-27T10:39:57-04:00</dcterms:modified> <skos:prefLabel xml:lang="en">National parks and reserves--Prince Edward Island</skos:prefLabel> <owl:sameAs rdf:resource="info:lc/authorities/sh00009460"/> <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> <skos:inScheme rdf:resource="http://id.loc.gov/authorities#conceptScheme"/> <skos:inScheme rdf:resource="http://id.loc.gov/authorities#topicalTerms"/> <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2000-10-17T00:00:00-04:00</dcterms:created> <skos:narrower rdf:resource="http://id.loc.gov/authorities/sh2002010534#concept"/> <skos:narrower rdf:resource="http://id.loc.gov/authorities/sh2008004743#concept"/> <skos:narrower rdf:resource="http://id.loc.gov/authorities/sh2003002637#concept"/> <skos:narrower rdf:resource="http://id.loc.gov/authorities/sh00009458#concept"/> </rdf:Description> <rdf:Description rdf:about="http://id.loc.gov/authorities/sh2002010534#concept"> <skos:prefLabel xml:lang="en">Prince Edward Island National Park (P.E.I.) </skos:prefLabel></rdf:Description>

Page 99: Repository Development at LC - Access 2009

<rdf:RDF> <rdf:Description rdf:about="http://id.loc.gov/authorities/sh00009460#concept"> <dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2000-11-27T10:39:57-04:00</dcterms:modified> <skos:prefLabel xml:lang="en">National parks and reserves--Prince Edward Island</skos:prefLabel> <owl:sameAs rdf:resource="info:lc/authorities/sh00009460"/> <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> <skos:inScheme rdf:resource="http://id.loc.gov/authorities#conceptScheme"/> <skos:inScheme rdf:resource="http://id.loc.gov/authorities#topicalTerms"/> <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2000-10-17T00:00:00-04:00</dcterms:created> <skos:narrower rdf:resource="http://id.loc.gov/authorities/sh2002010534#concept"/> <skos:narrower rdf:resource="http://id.loc.gov/authorities/sh2008004743#concept"/> <skos:narrower rdf:resource="http://id.loc.gov/authorities/sh2003002637#concept"/> <skos:narrower rdf:resource="http://id.loc.gov/authorities/sh00009458#concept"/> </rdf:Description> <rdf:Description rdf:about="http://id.loc.gov/authorities/sh2002010534#concept"> <skos:prefLabel xml:lang="en">Prince Edward Island National Park (P.E.I.) </skos:prefLabel></rdf:Description> explicit concepts, schema, meaning

Page 100: Repository Development at LC - Access 2009

a web of data...

Page 101: Repository Development at LC - Access 2009

...with precise meaning

Page 102: Repository Development at LC - Access 2009

at this URIis this

conceptwith this

meaning

Page 103: Repository Development at LC - Access 2009

a standard wayto refer toa heading

Page 104: Repository Development at LC - Access 2009

freely availablenow

download the whole thing - tell friends - amaze enemies

Page 105: Repository Development at LC - Access 2009

that wasnew for LC

Page 106: Repository Development at LC - Access 2009

another example

Page 107: Repository Development at LC - Access 2009
Page 108: Repository Development at LC - Access 2009

<link rel="resourcemap" type="application/rdf+xml" href="/lccn/sn83030214/1905-01-15/ed-1/seq-25.rdf" /><link rel="alternate" type="image/jp2" href="/lccn/sn83030214/1905-01-15/ed-1/seq-25.jp2" /><link rel="alternate" type="application/pdf" href="/lccn/sn83030214/1905-01-15/ed-1/seq-25.pdf" /><link rel="alternate" type="application/xml" href="/lccn/sn83030214/1905-01-15/ed-1/seq-25/ocr.xml" /><link rel="alternate" type="text/plain" href="/lccn/sn83030214/1905-01-15/ed-1/seq-25/ocr.txt" />

Page 109: Repository Development at LC - Access 2009

<rdf:Description rdf:about="/lccn/sn83030214/1905-01-15/ed-1/seq-25#page"> <ore:isDescribedBy rdf:resource="/lccn/sn83030214/1905-01-15/ed-1/seq-25.rdf"/> <foaf:depiction rdf:resource="/lccn/sn83030214/1905-01-15/ed-1/seq-25/thumbnail.jpg"/> <ore:aggregates rdf:resource="/lccn/sn83030214/1905-01-15/ed-1/seq-25.jp2"/> <ore:aggregates rdf:resource="/lccn/sn83030214/1905-01-15/ed-1/seq-25/ocr.txt"/> <ore:aggregates rdf:resource="/lccn/sn83030214/1905-01-15/ed-1/seq-25.pdf"/> <ore:aggregates rdf:resource="/lccn/sn83030214/1905-01-15/ed-1/seq-25/ocr.xml"/> <ore:aggregates rdf:resource="/lccn/sn83030214/1905-01-15/ed-1/seq-25/thumbnail.jpg"/> <rdf:type rdf:resource="http://chroniclingamerica.loc.gov/terms#Page"/> <ore:isAggregatedBy rdf:resource="/lccn/sn83030214/1905-01-15/ed-1#issue"/> <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">1905-01-15</dcterms:issued> <ndnp:sequence rdf:datatype="http://www.w3.org/2001/XMLSchema#long">25</ndnp:sequence> <dcterms:title>New-York tribune. - 1905-01-15 - 25</dcterms:title></rdf:Description>

Page 110: Repository Development at LC - Access 2009

OAI-OREaggregation

Page 111: Repository Development at LC - Access 2009

this is apage

Page 112: Repository Development at LC - Access 2009

it has thesefiles in these formats

Page 113: Repository Development at LC - Access 2009

it is thissequence number

Page 114: Repository Development at LC - Access 2009

it ispart of this issue

Page 115: Repository Development at LC - Access 2009

it has thisissue date

Page 116: Repository Development at LC - Access 2009

it has this title

Page 117: Repository Development at LC - Access 2009

all explicit concepts

Page 118: Repository Development at LC - Access 2009

all exposedin the app

on the web

Page 119: Repository Development at LC - Access 2009

that wasnew for LC

Page 120: Repository Development at LC - Access 2009

the web is the API

Page 121: Repository Development at LC - Access 2009

the

webis the

API

Page 122: Repository Development at LC - Access 2009

there’s an API doc...

Page 123: Repository Development at LC - Access 2009

...it’s just abunch of links

Page 124: Repository Development at LC - Access 2009

“...make resources

availableand

useful...”

from the mission of the Library

Page 125: Repository Development at LC - Access 2009

“allow it to be...

incorporateddigitally

in the collection”

from the LC21 report

Page 126: Repository Development at LC - Access 2009

“...sustain and preservea

universalcollection...”

from the mission of the Library

Page 127: Repository Development at LC - Access 2009

each appconsistent

aboutmeaning

Page 128: Repository Development at LC - Access 2009

follow your noseto

concept definitions

Page 129: Repository Development at LC - Access 2009

in our appsand in yours

Page 130: Repository Development at LC - Access 2009

distributedconceptualintegration

Page 131: Repository Development at LC - Access 2009

the web is auniversal collection

Page 132: Repository Development at LC - Access 2009

this is a way toincorporate digitally

Page 133: Repository Development at LC - Access 2009

our digital artifactson our web

Page 134: Repository Development at LC - Access 2009

your digital artifactsin your web

Page 135: Repository Development at LC - Access 2009

our digital artifactsin your web

Page 136: Repository Development at LC - Access 2009

your digital artifactsin our web

Page 137: Repository Development at LC - Access 2009

available&

useful&c.

Page 138: Repository Development at LC - Access 2009

summary

Page 139: Repository Development at LC - Access 2009

content that scaleson the way in

Page 140: Repository Development at LC - Access 2009

apps that scaleon the way out

Page 141: Repository Development at LC - Access 2009

movagemovagemovage

Page 142: Repository Development at LC - Access 2009

transferinventoryworkflow

all in active development

Page 143: Repository Development at LC - Access 2009

the BagIt spec

try it - it works

Page 144: Repository Development at LC - Access 2009

free/open sourcesoftware releases

Page 145: Repository Development at LC - Access 2009

free datayou can use

Page 146: Repository Development at LC - Access 2009

web of dataavailable and useful

Page 147: Repository Development at LC - Access 2009

view source:

wdl.orgchroniclingamerica.loc.gov

id.loc.govsf.net/projects/loc-xferutils/

dchud at loc gov - @dchud