<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">I haven’t tested this - but maybe something along these lines?<div><br></div><div><a href="https://gist.github.com/quoideneuf/f8596249aaf344f82f44">https://gist.github.com/quoideneuf/f8596249aaf344f82f44</a></div><div><br></div><div><br></div><div><br><div><div>On Mar 18, 2015, at 3:49 PM, Max Eckard <<a href="mailto:eckardm@umich.edu">eckardm@umich.edu</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Dear ArchivesSpace community,<div><br></div><div>Inspired by the recent post on customizing ASpace EAD importers and exporters, we decided to write our own!</div><div><br></div><div>We have a lot of EADs with dao tags that have no title attributes. Like this:</div><div><br></div><div><c02 level="file"><did><container type="folder" label="Folder">1</container><unittitle>Letters, <unitdate type="inclusive">October 19, 1918-May 13, 1919</unitdate></unittitle><physdesc><extent>5 letters</extent></physdesc><dao href="andrewse0001" show="new" actuate="onrequest"><daodesc><p>[view items]</p></daodesc></dao></did></c02><br></div><div><br></div><div>Using the out-of-the-box EAD importer, we get an error when we try to import EADs like this because ASpace uses the title attribute to form the digital object's title.</div><div><br></div><div>We wanted to use the content from unittitle, so we wrote a simple ASpace plugin to use the parent archival object title as the digital object title. We used the existing <a href="https://github.com/archivesspace/archivesspace/blob/master/backend/app/converters/ead_converter.rb#L632-678">ead_converter.rb</a> code starting with "with 'dao' do," and then snagged some code from further down after daogrp. Here's what it looks like:</div><div><br></div><div><div>with 'dao' do</div><div>  # new stuff, borrowed from daogrp in the ead_converter.rb file...</div><div>  title = ''</div><div>  ancestor(:resource, :archival_object ) { |ao| title << ao.title }</div><div>  </div><div>  make :instance, {</div><div><span class="" style="white-space:pre">    </span>  :instance_type => 'digital_object'</div><div><span class="" style="white-space:pre">       </span>} do |instance|</div><div><span class="" style="white-space:pre">    </span>  set ancestor(:resource, :archival_object), :instances, instance</div><div>  end</div><div><br></div><div>  </div><div>  make :digital_object, {</div><div><span class="" style="white-space:pre">   </span>:digital_object_id => SecureRandom.uuid,</div><div><span class="" style="white-space:pre">        </span># more new stuff...</div><div><span class="" style="white-space:pre">        </span>:title => title,</div><div>   } do |obj|</div><div><span class="" style="white-space:pre">  </span> obj.file_versions <<  {   </div><div><span class="" style="white-space:pre">           </span> :use_statement => att('role'),</div><div><span class="" style="white-space:pre">         </span> :file_uri => att('href'),</div><div><span class="" style="white-space:pre">              </span> :xlink_actuate_attribute => att('actuate'),</div><div><span class="" style="white-space:pre">            </span> :xlink_show_attribute => att('show')</div><div><span class="" style="white-space:pre">   </span> }</div><div><span class="" style="white-space:pre"> </span> set ancestor(:instance), :digital_object, obj </div><div>  end</div><div><br></div><div>end</div><div><br></div><div>That works (and we were excited about that!), but now we'd like add some code to handle cases when the parent archival object only has a date, not a title, or title and date. </div><div><br></div><div>Specifically, what we're having trouble figuring out is how to form a string similar to the one that gets created for archival object titles, something like:</div><div><ul><li>If the archival object has a title and date, form a string using the title and the date.</li><li>Else if the archival object only has a title, use the title.</li><li>Else if the archival object only has a date, use the date as the title.</li></ul></div><div>We're pretty sure that something <a href="https://github.com/cfitz/archivesspace/blob/master/backend/app/model/archival_object.rb#L37-56">here</a> in the archival_object.rb code could help, but we're not sure how to translate that for the EAD Converter.</div><div><br></div><div>Any help we could get on or off list would be greatly appreciated!</div><div><br></div><div>Thanks,</div><div>Max and Dallas</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><b style="font-size:12.8000001907349px">Max Eckard</b><br style="font-size:12.8000001907349px"><b style="font-size:12.8000001907349px">Assistant Archivist for Digital Curation</b><div style="font-size:12.8000001907349px"><b><br></b><div><img src="https://webapps.lsa.umich.edu/dean/lsa_emails/bentley-sig-em.png" width="351" height="40" style=""><br><div><span style="font-size:x-small">Bentley Historical Library</span><br></div><div><font size="1">1150 Beal Ave.<br>Ann Arbor, MI 48109-2113<br><a href="tel:734.763.7518" value="+17349361344" style="color:rgb(17,85,204)" target="_blank">734/763-7518</a><br></font></div><div><font size="1"><a href="http://bentley.umich.edu/" style="color:rgb(17,85,204)" target="_blank">http://bentley.umich.edu/</a> </font></div></div></div></div></div></div></div></div>
</div></div>
_______________________________________________<br>Archivesspace_Users_Group mailing list<br><a href="mailto:Archivesspace_Users_Group@lyralists.lyrasis.org">Archivesspace_Users_Group@lyralists.lyrasis.org</a><br>http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group<br></blockquote></div><br></div></body></html>