<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta content="text/html; charset=utf-8">
</head>
<body>
<div style="font-size:12pt; font-family:Calibri,sans-serif">
<div>Hi,</div>
<div><br>
</div>
<div>Yes, I actually work expect this. We did some work to improve performance on the migration endpoints, but I don't think we've done any on the EAD importer. For example, I'd bet a donut that one bottleneck is the component reordering issue we ran into for
migration ( when adding a component the tree is reorder in the db, since the normal use case done via the UI would assume this is necessary. )</div>
<div><br>
</div>
<div>Also, the AT and archon ead importers are certainly much more mature at this point ,so I think for large ead it's not a bad idea to do as Nathan suggest,if your a at or archon institution. </div>
<div><br>
</div>
<div>B,Chris. </div>
<div><br>
</div>
<div>Sent from my HTC</div>
<br>
<div id="htc_header">----- Reply message -----<br>
From: "Nathan Stevens" <ns96@nyu.edu><br>
To: "Archivesspace Users Group" <archivesspace_users_group@lyralists.lyrasis.org><br>
Cc: "archivesspace@googlegroups.com" <archivesspace@googlegroups.com><br>
Subject: [Archivesspace_Users_Group] [archivesspace] Problems & Strategies for importing very large EAD files<br>
Date: Sat, Dec 13, 2014 21:42</div>
</div>
<br>
<div>
<div dir="ltr">All Testing was conducted on a windows 7 32 bit/Core i5 3.2Gz/4GB machine using Oracles JRE1.7.0_67 and ASpace v1.1.0<br>
<div>
<div><br>
First. the provided EAD file needed some slight modifications to validate against the EAD schema. Once validated, import fails about 2.5 hours with the error message below.<br>
<br>
</div>
<div>For comparison, the same EAD imported into AT in about 50 seconds (not a typo) and can be migrated to the same ASpace instance in 12 minutes using the migration plugin.
<br>
<br>
</div>
<div>Not sure where the bottle neck is, but clearly the ASpace EAD importer needs some work to match the AT importer.<br>
</div>
<div><br>
viuh00010.xml ================================================== !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORT ERROR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! The following errors were found: extents : At least 1 item(s) is required title :
Property is required but was missing id_0 : Property is required but was missing level : Property is required but was missing For JSONModel(:resource): #"resource", "external_ids"=>[], "subjects"=>[], "linked_events"=>[], "extents"=>[], "dates"=>[], "external_documents"=>[],
"rights_statements"=>[], "linked_agents"=>[], "restrictions"=>false, "instances"=>[], "deaccessions"=>[], "related_accessions"=>[], "notes"=>[], "uri"=>"/repositories/import/resources/import_082e59ec-ae98-4c49-984a-91bdfb90a9e5", "finding_aid_title"=>"A Guide
to the Philip S. Hench Walter Reed Yellow Fever Collectioncirca 1800- circa 1998", "finding_aid_author"=>"William B. Bean, Donna L. Purvis, Mark Mones, Henry K. Sharp, Janet Pearson, and Dan Cavanaugh.", "finding_aid_edition_statement"=>"3rd edition\n
<p>This edition reflects substantial changes made to the 2nd edition finding aid. The repository staff made these changes to prepare the digital collection for inclusion in the University of Virginia Library's digital repository.</p>
", "finding_aid_language"=>"Description is inEnglish", "language"=>"eng"}> In : <ead xsi:schemaLocation="urn:isbn:1-931666-22-9
<a href="http://www.loc.gov/ead/ead.xsd">http://www.loc.gov/ead/ead.xsd</a>" xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>" xmlns:ns2="<a href="http://www.w3.org/1999/xlink">http://www.w3.org/1999/xlink</a>"
xmlns="urn:isbn:1-931666-22-9"> ... </ead><br>
</div>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Dec 12, 2014 at 3:56 PM, Steven Majewski <span dir="ltr">
<<a href="mailto:sdm7g@virginia.edu" target="_blank">sdm7g@virginia.edu</a>></span> wrote:
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div style="word-wrap:break-word"><br>
<div><span class="">
<div>On Dec 12, 2014, at 3:29 AM, Chris Fitzpatrick <<a href="mailto:Chris.Fitzpatrick@lyrasis.org" target="_blank">Chris.Fitzpatrick@lyrasis.org</a>> wrote:</div>
<br>
<blockquote type="cite">
<div style="font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; font-size:12pt; background-color:rgb(255,255,255); font-family:Calibri,Arial,Helvetica,sans-serif">
<div style="margin-top:0px; margin-bottom:0px"><br>
Hi Steve,</div>
<div style="margin-top:0px; margin-bottom:0px"><br>
</div>
<div style="margin-top:0px; margin-bottom:0px"><br>
</div>
<div style="margin-top:0px; margin-bottom:0px">Ok, so you're running the process in the jirb console?</div>
<div style="margin-top:0px; margin-bottom:0px">That will be not very effectient, as the irb mode is not really built with performance in mind...<br>
</div>
<div style="margin-top:0px; margin-bottom:0px"><br>
</div>
</div>
</blockquote>
<div><br>
</div>
</span>
<div>No, not running in the jirb console — just a script running from jruby. Here is the code:</div>
<div>( A slight variation on a previously posted version: trying to figure out the correct environment in which to run jobs like this. </div>
<div> Using frontend config and client_mode because I was intending to add code to do the batch_imports POST directly. ) </div>
<div><br>
</div>
<div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
require 'frontend/config/boot'</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
require 'frontend/config/application' </div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
require 'jsonmodel'</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
require 'backend/app/converters/ead_converter'</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
require 'fileutils'</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
require 'backend/app/lib/logging'</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182); min-height:16px">
<br>
</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
BACKEND_URL='<a href="http://localhost:4567/'" target="_blank">http://localhost:4567/'</a></div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182); min-height:16px">
<br>
</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
def json_path(xmlpath)</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
xmlpath.slice(0..xmlpath.rindex('.xml')) + 'json' if xmlpath.end_with? ".xml" </div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
end</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182); min-height:16px">
<br>
</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182); min-height:16px">
<br>
</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
JSONModel::init( :strict => false, :client_mode => true, :url => BACKEND_URL ) </div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182); min-height:16px">
<br>
</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
ARGV.each do |eadxml|</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
begin</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
puts eadxml</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
converter = EADConverter.new( eadxml )</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
converter.run</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
puts eadxml + " : ok."</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
$stderr.puts '#@@++ ' + eadxml + " : ok." </div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
rescue Exception => e</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
puts eadxml + " : failed: " + e.message</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
$stderr.puts e.backtrace</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
$stderr.puts '#@@-- ' + eadxml + " : failed: " + e.message</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
ensure </div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
FileUtils::move( converter.get_output_path, json_path(eadxml), :verbose => true )</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
end</div>
<div style="margin:0px; font-size:14px; font-family:Menlo; background-color:rgb(255,206,182)">
end</div>
</div>
<span class="">
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<br>
<blockquote type="cite">
<div style="font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; font-size:12pt; background-color:rgb(255,255,255); font-family:Calibri,Arial,Helvetica,sans-serif">
<div style="margin-top:0px; margin-bottom:0px">Validating it against a schema is not a bad idea, but we don't have an XML schema to validate it against. The EAD schema is very loose in terms of what it allows, so having something that's EAD valid won't really
be helpful. Someone would need to make a ArchivesSpace XML schema that we can validate against...b,chris.<span> </span><br>
</div>
<div style="margin-top:0px; margin-bottom:0px"><br>
</div>
<div style="margin-top:0px; margin-bottom:0px"><br>
</div>
</div>
</blockquote>
<div><br>
</div>
<div><br>
</div>
</span>
<div>Extending or restricting the EAD schema is not very difficult if you know what rules you need to add. </div>
<div>The problem is that those rules are undocumented except in the code. </div>
<div>So far, we’ve been discovering them by a trial and error experimental process. </div>
<div>I’m only just now getting familiar enough with the code base to attempt to reverse engineer them from the code.</div>
<div><br>
</div>
<div>XML Schemas are just one possible way of documenting those rules. </div>
<div>You could argue that the JSONModel schemas are another form of documentation. </div>
<div>However, it seems to take quite a lot of cross referencing across several schemas ( due to inheritance and inclusions ) </div>
<div>and the mappings elsewhere in the code to get a full picture. </div>
<div>Sometimes XML Schemas or DTDs present similar cross-referencing problems, but they are older and more</div>
<div>standardized formats and there are tools for dealing with them. Are there any tools, for example, to expand </div>
<div>those JSONModel schemas inline into something more readable ? </div>
<div><br>
</div>
<div><br>
</div>
<div>— Steve Majewski</div>
<div>
<div class="h5">
<div><br>
</div>
<br>
<blockquote type="cite">
<div style="font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; font-size:12pt; background-color:rgb(255,255,255); font-family:Calibri,Arial,Helvetica,sans-serif">
<div style="margin-top:0px; margin-bottom:0px"><br>
</div>
<div>
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; margin:0px">
<div><font>Chris Fitzpatrick | Developer, ArchivesSpace<br>
Skype: chrisfitzpat | Phone: <a href="tel:918.236.6048" value="+19182366048" target="_blank">
918.236.6048</a><br>
<a href="http://archivesspace.org/" target="_blank">http://archivesspace.org/</a><br>
</font></div>
</div>
</div>
<div style="color:rgb(33,33,33)">
<hr style="display:inline-block; width:808px">
<div dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt"><b>From:</b><span> </span><a href="mailto:archivesspace@googlegroups.com" target="_blank">archivesspace@googlegroups.com</a><span> </span><<a href="mailto:archivesspace@googlegroups.com" target="_blank">archivesspace@googlegroups.com</a>>
on behalf of Nathan Stevens <<a href="mailto:ns96@nyu.edu" target="_blank">ns96@nyu.edu</a>><br>
<b>Sent:</b><span> </span>Thursday, December 11, 2014 8:08 PM<br>
<b>To:</b><span> </span>Archivesspace Users Group<br>
<b>Cc:</b><span> </span><a href="mailto:archivesspace@googlegroups.com" target="_blank">archivesspace@googlegroups.com</a><br>
<b>Subject:</b><span> </span>Re: [Archivesspace_Users_Group] [archivesspace] Problems & Strategies for importing very large EAD files</font>
<div> </div>
</div>
<div>
<div dir="ltr">You should try importing those EADs into the AT (<a href="http://www.archiviststoolkit.org/" target="_blank">www.archiviststoolkit.org</a>) to establish some kind of baseline since those import times seems way too long for relatively small datasets.
For example, migration of a 600MB AT database into ASpace takes under 5 hours. You can then use the AT migration plugin to transfer those records over to ASpace and see how long that takes.
<div><br>
</div>
<div>You send a couple of those EAD to me directly (<a href="mailto:ns96@nyu.edu" target="_blank">ns96@nyu.edu</a>) and I can try importing into AT, and transferring to ASpace on our end.</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Dec 11, 2014 at 12:43 PM, Steven Majewski<span> </span><span dir="ltr"><<a href="mailto:sdm7g@virginia.edu" target="_blank">sdm7g@virginia.edu</a>></span><span> </span>wrote:
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left-width:1px; border-left-color:rgb(204,204,204); border-left-style:solid; padding-left:1ex">
<div style="word-wrap:break-word">
<div><br>
</div>
<div>I increased memory sizes in JAVA_OPTS:</div>
<div><br>
</div>
<div>
<div style="margin:0px; font-family:Menlo; background-color:rgb(189,238,237)">JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=512m -Xmx1080m -Xss8m"</div>
</div>
<div><br>
</div>
<div>This for a command line program running: EADConverter.new( eadxml )</div>
<div>Backend server also running on the same machine because I called JSONModel:init in client_mode,</div>
<div>and it wants a server to talk to. </div>
<div><br>
</div>
<div>I fixed the date problem in my xml that caused it to be incomplete on the previous run. </div>
<div>I added some debug trace statements in the JSONModel validate calls to track progress. </div>
<div>( Comparing the amount of debug output vs. the size of JSON output, I don’t think this </div>
<div> had a significant effect on performance, but I could be wrong. ) </div>
<div><br>
</div>
<div>Running on a MacBook Pro w/ 2 GHz Intel Core i7 and 16 GB 1600 MHz DDR3 memory and SSD. </div>
<div><br>
</div>
<div>I ran Activity Monitor during the run to check on CPU and Memory usage, which seemed to peak at around 700GB. </div>
<div>The process seemed to run at 100% +/- 3% CPU. I ran another parse operation in parallel on another smaller file</div>
<div>for a time. This didn’t seem to have a bit impact: both cores were running close to 100% rather than just one. </div>
<div>( I assume there isn’t much parallelism to be wrung out of the parse operation. ) That 2nd file was just over 6MB and</div>
<div>took over 6 hours of CPU time. ( Not sure of the exact time, as I wasn’t nearby when it finished. Real time was much</div>
<div>greater, but I’m not sure that the laptop didn’t sleep for part of that time. Time for the 14MB file was over 24 hours</div>
<div>CPU time (greater than that in actual real clock time). The previous attempt ( with less memory allocated ) was </div>
<div>24 hours or more in real time — I did not measure CPU time on that attempt — but it got a validation error and the</div>
<div>resulting JSON file was incomplete : there were internal URI references that were never defined in the JSON file. </div>
<div><br>
</div>
<div><br>
</div>
<div>After completion, I attempted to POST it to backend server /repositories/$REPO/batch_imports. First to the backend</div>
<div>development instance running on my laptop, then to our actual test server. That attempt to post to the test server took</div>
<div>too long to finish while at the office, and my VPN at home usually times out after an hour or two, so I copied the JSON</div>
<div>file up to the server and did the ‘nohup curl_as’ to the backend port on the same server, and left it running overnight. </div>
<div><br>
</div>
<div>So success, but there was an incredible amount of overhead in the parsing and validation. </div>
<div><br>
</div>
<div>Any ideas where the bottleneck is in this operation ? </div>
<div><br>
</div>
<div>IF the overhead is due to the validation (and here, I’m just guessing), that would be another argument for validating</div>
<div>the EAD against a schema before JSON parsing, and perhaps providing a ‘trusted path’ parser that skips that validation. </div>
<div><br>
</div>
<div><br>
</div>
<div>I’m learning my way around the code base, but not quite sure I’m ready to tackle that myself yet! </div>
<div>I did run the code with 'raise_errors=false’ , but that still runs the validations. </div>
<div><br>
</div>
<div>We may attempt this again in the future with more memory and better instrumentation, but for now, I just needed to</div>
<div>determine whether we could actually successfully ingest our largest guides. </div>
<span>
<div><br>
</div>
<div><br>
</div>
<div>— Steve Majewski / UVA Alderman Library</div>
<div><br>
</div>
<br>
</span>
<div>
<div>
<div>
<div>On Dec 9, 2014, at 3:28 AM, Chris Fitzpatrick <<a href="mailto:Chris.Fitzpatrick@lyrasis.org" target="_blank">Chris.Fitzpatrick@lyrasis.org</a>> wrote:</div>
<br>
</div>
</div>
<blockquote type="cite">
<div>
<div><br>
<br>
Hi Steven,<br>
<br>
Yeah, you're probably going to want to have the -Xmx at around the 1G default. I've dropped down to 512M ( which is what the<span> </span><a href="http://sandbox.archivesspace.org/" target="_blank">sandbox.archivesspace.org</a><span> </span>runs on ), but it'll
be rather sluggish.<br>
<br>
If can go that high, you can start the application with the public and index apps disabled, which will reduce some of the overhead ( especially the indexer ).<span> </span><br>
<br>
Try that and see if helps the issue..<br>
b,chris.<span> </span><br>
<br>
Chris Fitzpatrick | Developer, ArchivesSpace<br>
Skype: chrisfitzpat | Phone:<span> </span><a href="tel:918.236.6048" value="+19182366048" target="_blank">918.236.6048</a><br>
<a href="http://archivesspace.org/" target="_blank">http://archivesspace.org/</a><br>
<br>
________________________________________<br>
From:<span> </span><a href="mailto:archivesspace@googlegroups.com" target="_blank">archivesspace@googlegroups.com</a><span> </span><<a href="mailto:archivesspace@googlegroups.com" target="_blank">archivesspace@googlegroups.com</a>> on behalf of Steven Majewski
<<a href="mailto:sdm7g@virginia.edu" target="_blank">sdm7g@virginia.edu</a>><br>
Sent: Monday, December 8, 2014 11:20 PM<br>
To:<span> </span><a href="mailto:archivesspace_users_group@lyralists.lyrasis.org" target="_blank">archivesspace_users_group@lyralists.lyrasis.org</a><br>
Cc:<span> </span><a href="mailto:archivesspace@googlegroups.com" target="_blank">archivesspace@googlegroups.com</a><br>
Subject: [archivesspace] Problems & Strategies for importing very large EAD files<br>
<br>
The majority of our EAD guides are less than 1MB in size. We have a few larger ones, the two largest being around 13-14 MB.<br>
<br>
I have tried importing these guides from the frontend webapp import: my time or patience has always been<br>
hit after a couple of hours, before they have managed to import successfully.<br>
<br>
I recently attempted importing the largest file again by calling EADConverter.new( eadfile ) from a ruby command line program,<br>
and writing out the resulting json file to later import using the backend API. The first attempt ran out of memory after a couple<br>
of hours. I increased ‘-Xmx300m’ to ‘-Xmx500m’ in the JAVA_OPTS. The 2nd attempt took just over 24 hours ( with an hour or<br>
more of sleep time while my laptop was in-transit ). This failed with the error:<br>
<br>
failed: #<:ValidationException: {:errors=>{"dates/0/end"=>["must not be before begin"]}, :import_context=>"<c02 level=\"file\"> ... </c02>”}><br>
<br>
which I eventually traced to this:<br>
<unitdate normal="1916-06/1916-05">May 1916-June 1916</unitdate><br>
<br>
<br>
But before fixing this and trying again I wanted to ask if others had experience with importing large files.<br>
<br>
Should I try increasing -Xmx memory radically more, or perhaps MaxPermSize as well ?<br>
<br>
24 hours for 14MB does not seem to be a linear projection from the 3 or 4MB files I have managed to import.<br>
Does this type of performance seem expected ? Is there anything else that should be reconfigured ?<br>
<br>
[ Waiting 24 hours for an error message, then repeat again, seems like another good reason to want a schema that<br>
describes the flavor of EAD that ArchivesSpace accepts: it would be nice to be able to do a pre-flight check, and<br>
I’ve never seen an XSLT stylesheet take that long to validate. ]<br>
<br>
<br>
Also: a lot of those smaller EAD files are collections that are split up into separated guides — sometimes due to separate accessions:<br>
</div>
</div>
xxxx-a, xxxx-b, xxxx-c…<span><br>
The more recent tendency has been to unify a collection into a single guide, and we were expecting to perhaps use ArchivesSpace<br>
to unify some of these separate guides after they had been separately imported. Should we be reconsidering that plan ?<br>
<br>
If increasing memory further doesn’t help, and if we don’t find any other way to improve import performance, I’m considering<br>
disassembling the file: strip out much of the <dsc> and import a skeleton guide, and then process the <dsc>, adding resources to<br>
the guide a few at a time via the backend API.<br>
<br>
Anyone have any other ideas or experience to report ?<br>
<br>
<br>
— Steve Majewski / UVA Alderman Library<br>
<br>
<br>
<br>
<br>
<br>
--<br>
You received this message because you are subscribed to the Google Groups "ArchivesSpace" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to<a href="mailto:archivesspace%2Bunsubscribe@googlegroups.com" target="_blank">archivesspace+unsubscribe@googlegroups.com</a>.<br>
For more options, visit<span> </span><a href="https://groups.google.com/d/optout" target="_blank">https://groups.google.com/d/optout</a>.<br>
_______________________________________________<br>
Archivesspace_Users_Group mailing list<br>
<a href="mailto:Archivesspace_Users_Group@lyralists.lyrasis.org" target="_blank">Archivesspace_Users_Group@lyralists.lyrasis.org</a><br>
<a href="http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group" target="_blank">http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group</a><br>
</span></blockquote>
</div>
<br>
</div>
<br>
_______________________________________________<br>
Archivesspace_Users_Group mailing list<br>
<a href="mailto:Archivesspace_Users_Group@lyralists.lyrasis.org" target="_blank">Archivesspace_Users_Group@lyralists.lyrasis.org</a><br>
<a href="http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group" target="_blank">http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group</a><br>
<br>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
--<span> </span><br>
<div>Nathan Stevens<br>
Programmer/Analyst<br>
Digital Library Technology Services<br>
New York University<br>
<br>
<a href="tel:1212-998-2653" value="+12129982653" target="_blank">1212-998-2653</a><br>
<a href="mailto:ns96@nyu.edu" target="_blank">ns96@nyu.edu</a></div>
</div>
<p style="margin-top:0px; margin-bottom:0px"></p>
--<span> </span><br>
You received this message because you are subscribed to the Google Groups "ArchivesSpace" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to<a href="mailto:archivesspace+unsubscribe@googlegroups.com" target="_blank">archivesspace+unsubscribe@googlegroups.com</a>.<br>
For more options, visit<span> </span><a href="https://groups.google.com/d/optout" target="_blank">https://groups.google.com/d/optout</a>.<br>
</div>
</div>
</div>
<span style="font-family:Helvetica; font-size:15px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; float:none; display:inline!important">_______________________________________________</span><br style="font-family:Helvetica; font-size:15px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
<span style="font-family:Helvetica; font-size:15px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; float:none; display:inline!important">Archivesspace_Users_Group
mailing list</span><br style="font-family:Helvetica; font-size:15px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
<a href="mailto:Archivesspace_Users_Group@lyralists.lyrasis.org" target="_blank" style="font-family:Helvetica; font-size:15px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">Archivesspace_Users_Group@lyralists.lyrasis.org</a><br style="font-family:Helvetica; font-size:15px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
<a href="http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group" target="_blank" style="font-family:Helvetica; font-size:15px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group</a><br style="font-family:Helvetica; font-size:15px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px">
</blockquote>
</div>
</div>
</div>
<br>
</div>
<br>
_______________________________________________<br>
Archivesspace_Users_Group mailing list<br>
<a href="mailto:Archivesspace_Users_Group@lyralists.lyrasis.org">Archivesspace_Users_Group@lyralists.lyrasis.org</a><br>
<a href="http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group" target="_blank">http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group</a><br>
<br>
</blockquote>
</div>
<br clear="all">
<br>
-- <br>
<div class="gmail_signature">Nathan Stevens<br>
Programmer/Analyst<br>
Digital Library Technology Services<br>
New York University<br>
<br>
1212-998-2653<br>
<a href="mailto:ns96@nyu.edu" target="_blank">ns96@nyu.edu</a></div>
</div>
<p></p>
-- <br>
You received this message because you are subscribed to the Google Groups "ArchivesSpace" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to
<a href="mailto:archivesspace+unsubscribe@googlegroups.com">archivesspace+unsubscribe@googlegroups.com</a>.<br>
For more options, visit <a href="https://groups.google.com/d/optout">https://groups.google.com/d/optout</a>.<br>
</div>
</body>
</html>