<div dir="ltr">Here's the sample file; it worked before the changes (i.e. when the subjects were just over-written until the last), but now when I import I just get no subjects created. If I can figure it out I thought it would be nice to implement for subjects and agents since our accessions often have multiple of both.<div><br></div><div>Thanks!</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 8, 2015 at 12:25 PM, Brian Hoffman <span dir="ltr"><<a href="mailto:brianjhoffman@gmail.com" target="_blank">brianjhoffman@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">What you have looks right to me. If you want to send me a sample CSV with a few rows filled in I’ll see if I can figure it out.<span class="HOEnZb"><font color="#888888"><div><br></div><div>Brian</div></font></span><div><div class="h5"><div><br></div><div><br><div><div>On Apr 8, 2015, at 10:24 AM, Maura Carbone <<a href="mailto:mauraa@brandeis.edu" target="_blank">mauraa@brandeis.edu</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr"><div>Hi Brian,</div><div><br></div>Hmm,  somewhat, but working on that base doesn't seem to work?<div><br></div><div>If I wanted to copy how date is set up it seems it would look something like this:</div><div><br></div><div><div>      'subject_1_source' => 'subject_1.source',</div><div>      'subject_1_term' => 'subject_1.term',</div><div>      'subject_1_term_type' => 'subject_1.term_type',</div><div><span style="white-space:pre-wrap">     </span>  </div><div><span style="white-space:pre-wrap">      </span>  'subject_2_source' => 'subject_2.source',</div><div>      'subject_2_term' => 'subject_2.term',</div><div>      'subject_2_term_type' => 'subject_2.term_type',</div><div><span style="white-space:pre-wrap">        </span>  </div><div><span style="white-space:pre-wrap">      </span>  'subject_3_source' => 'subject_3.source',</div><div>      'subject_3_term' => 'subject_3.term',</div><div>      'subject_3_term_type' => 'subject_3.term_type',</div></div><div><br></div><div>and then </div><div><br></div><div><div>     :subject_1 => {</div><div><span style="white-space:pre-wrap">     </span>:record_type => :subject,</div><div>        :on_create => Proc.new {|data, obj|</div><div>          obj.terms = [{:term => data['term'], :term_type => data['term_type'], :vocabulary => '/vocabularies/1'}]</div><div>          obj.vocabulary = '/vocabularies/1'</div><div>        },</div><div>        :on_row_complete => Proc.new {|cache, this|</div><div>          digital_object = cache.find {|obj| obj.class.record_type == 'accession'}</div><div>          digital_object.subjects << {'ref' => this.uri}</div><div>        }</div><div>      },</div><div><br></div><div><span style="white-space:pre-wrap">     </span>   :subject_2 => {</div><div><span style="white-space:pre-wrap">           </span>:record_type => :subject,</div><div>        :on_create => Proc.new {|data, obj|</div><div>          obj.terms = [{:term => data['term'], :term_type => data['term_type'], :vocabulary => '/vocabularies/1'}]</div><div>          obj.vocabulary = '/vocabularies/1'</div><div>        },</div><div>        :on_row_complete => Proc.new {|cache, this|</div><div>          digital_object = cache.find {|obj| obj.class.record_type == 'accession'}</div><div>          digital_object.subjects << {'ref' => this.uri}</div><div>        }</div><div>      },</div><div><span style="white-space:pre-wrap">      </span>  </div><div><span style="white-space:pre-wrap">      </span>   :subject_3 => {</div><div><span style="white-space:pre-wrap">           </span>:record_type => :subject,</div><div>        :on_create => Proc.new {|data, obj|</div><div>          obj.terms = [{:term => data['term'], :term_type => data['term_type'], :vocabulary => '/vocabularies/1'}]</div><div>          obj.vocabulary = '/vocabularies/1'</div><div>        },</div><div>        :on_row_complete => Proc.new {|cache, this|</div><div>          digital_object = cache.find {|obj| obj.class.record_type == 'accession'}</div><div>          digital_object.subjects << {'ref' => this.uri}</div><div>        }</div><div>      },</div></div><div><br></div><div>Although I admit I'm not sure if I'd have to change some of the inner working of the subject_# fields in part two (it seems like on_create is building the subject object, and the on_row is then connecting it to the record so I shouldn't but I could be wrong).<br><br>When I make the changes above and implement the plugin, subjects just stop being imported at all (although no errors, they're just ignored). </div><div><br></div><div>-Maura</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 7, 2015 at 1:04 PM, Brian Hoffman <span dir="ltr"><<a href="mailto:brianjhoffman@gmail.com" target="_blank">brianjhoffman@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hi Maura,<div><br></div><div>No, there’s nothing else. Generally the keys in the callbacks section (:date_1 => etc) are used to tie things together with the schema. Where there are multiple objects created per row, there’s an optional :record_type key in the callback config that does the mapping (:record_type => :date).</div><div><br></div><div>Does that make sense?</div><span><font color="#888888"><div><br></div><div>Brian</div></font></span><div><div><div><br></div><div><br></div><div><br></div><div><br></div><div><br><div><div>On Apr 7, 2015, at 10:45 AM, Maura Carbone <<a href="mailto:mauraa@brandeis.edu" target="_blank">mauraa@brandeis.edu</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr">Hi Brian,<div>I found that one all right, but is there another file that would have to be edited? Looking at that file I can't see where the 'labels' are linked to the data types, so I was assuming there was another file that does that. For example, the first half has labels for date_1:</div><div><br></div><div><div>'date_1_label' => 'date_1.label',</div><div>'date_1_expression' => 'date_1.expression',</div><div>'date_1_begin' => 'date_1.begin',</div><div>'date_1_end' => 'date_1.end',</div><div>'date_1_type' => 'date_1.date_type',</div></div><div><br></div><div>and then the date object creator is:</div><div><br></div><div><div>     :date_1 => {</div><div>        :record_type => :date,</div><div>        :defaults => date_defaults,</div><div>        :on_row_complete => Proc.new { |queue, date|</div><div>          queue.select {|obj| obj.class.record_type == 'accession'}.each do |accession|</div><div>            accession.dates << date</div><div>          end</div><div>        }</div></div><div><br></div><div>so I thought there must be a file mapping the date_1 labels to the date object fields in the schema?</div><div><br></div><div><br></div><div>Thanks,</div><div>Maura</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 6, 2015 at 9:11 PM, brian <span dir="ltr"><<a href="mailto:brianjhoffman@gmail.com" target="_blank">brianjhoffman@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>Hi Maura,</div><div><br></div><div>Here's the base converter file for accession csv.</div><div><br></div><div><a href="https://github.com/archivesspace/archivesspace/blob/master/backend/app/converters/accession_converter.rb" target="_blank">https://github.com/archivesspace/archivesspace/blob/master/backend/app/converters/accession_converter.rb</a></div><div><br></div><div><br></div><div>Brian</div><div><br></div><div><br></div><div><br></div><div><div style="font-size:9px;color:#575757">Sent from my T-Mobile 4G LTE Device</div></div><div><br><br><div>-------- Original message --------</div><div>From: Maura Carbone <<a href="mailto:mauraa@brandeis.edu" target="_blank">mauraa@brandeis.edu</a>> </div><div>Date:04/06/2015  3:35 PM  (GMT-05:00) </div><div>To: Archivesspace Users Group <<a href="mailto:archivesspace_users_group@lyralists.lyrasis.org" target="_blank">archivesspace_users_group@lyralists.lyrasis.org</a>> </div><div>Cc:  </div><div>Subject: Re: [Archivesspace_Users_Group] Accession CSV Subject Import </div><div><br></div><div dir="ltr">Hi Chris,<div>Any progress on that example? I actually tried to work on it myself, but I'm not entirely sure which files need to be altered (aside from accession_converter). Ideally, I want to be able to import multiple subjects and multiple agents -- I was hoping to copy the date setup (where there are multiple dates date1 date2 etc.) but I haven't found the file where the terms (such as date_label_1) are mapped to the date object (and so on for subject and agents etc.)</div><div><br></div><div>Thanks!</div><div>Maura</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 31, 2015 at 4:03 PM, Maura Carbone <span dir="ltr"><<a href="mailto:mauraa@brandeis.edu" target="_blank">mauraa@brandeis.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">What I was doing was:<div>subject_source,subject_term_type,subject_term,subject_source,subject_term_type,subject_term, Unspecified ingested source,Topical,Pepperoni,Unspecified ingested source,Topical,Cheese. Then only Cheese gets created and imported.<br></div><div><br></div><div>Yeah, and I can take a look at how the importer works now as well, I just wasn't sure if it was a known issue, or if there was a specific reason for it.</div><div><br></div><div>Thanks!</div><div>Maura</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div>On Tue, Mar 31, 2015 at 3:29 PM, Chris Fitzpatrick <span dir="ltr"><<a href="mailto:Chris.Fitzpatrick@lyrasis.org" target="_blank">Chris.Fitzpatrick@lyrasis.org</a>></span> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>




<div dir="ltr">
<div style="font-size:12pt;background-color:rgb(255,255,255);font-family:Calibri,Arial,Helvetica,sans-serif"><p>Hi Maura,</p><p><br>
</p><p>So, you're just adding more subject columns to the CSV? Yes, what you describe about overwriting is exactly what's happening...the CSV importer only allows for one subject per row.
</p><p><br>
</p><p>I have a plugin example I started working on last week to show how to tweak the CSV importer...I'll try and finish that up tomorrow and send it out for people to have a look...</p><p><br>
</p><p>b,chris. <br><span><font color="#888888">
</font></span></p><span><font color="#888888"><p><br>
</p>
<div>
<div name="divtagdefaultwrapper">
<div><font>
<div>Chris Fitzpatrick | <font>Developer, ArchivesSpace</font><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>
</div>
</font></div>
</div>
</div>
</font></span><div style="color:rgb(33,33,33)"><span><font color="#888888">
<hr style="display:inline-block;width:98%">
<div dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif"><b>From:</b> <a href="mailto:archivesspace_users_group-bounces@lyralists.lyrasis.org" target="_blank">archivesspace_users_group-bounces@lyralists.lyrasis.org</a> <<a href="mailto:archivesspace_users_group-bounces@lyralists.lyrasis.org" target="_blank">archivesspace_users_group-bounces@lyralists.lyrasis.org</a>> on behalf of Maura Carbone
 <<a href="mailto:mauraa@brandeis.edu" target="_blank">mauraa@brandeis.edu</a>><br>
<b>Sent:</b> Tuesday, March 31, 2015 7:06 PM<br>
<b>To:</b> Archivesspace Users Group<br>
<b>Subject:</b> [Archivesspace_Users_Group] Accession CSV Subject Import</font>
<div> </div>
</div></font></span><div>
<div>
<div dir="ltr">Hi all,
<div>I've been working on importing accessions with CSV files, but I've noticed that on import only one subject ever gets brought in (the last one). Is this a bug, or just a current limitation? I'm not getting an error, it just appears that the subject field
 keeps being over-written until the last subject, then imported.</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Maura<br clear="all">
<div><br>
</div>
-- <br>
<div>
<div dir="ltr">Maura Carbone
<div>Digital Initiatives Librarian<br>
Brandeis University<br>
Library and Technology Services<br>
<a href="tel:%28781%29%20736-4659" value="+17817364659" target="_blank">(781) 736-4659</a><br>
415 South Street, (MS 017/P.O. Box 549110)<br>
Waltham, MA 02454-9110<br>
email: <a href="mailto:mauraa@brandeis.edu" target="_blank">mauraa@brandeis.edu</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
</div>
</div>

<br></div>_______________________________________________<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><span><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr">Maura Carbone<div>Digital Initiatives Librarian<br>Brandeis University<br>Library and Technology Services<br><a href="tel:%28781%29%20736-4659" value="+17817364659" target="_blank">(781) 736-4659</a><br>415 South Street, (MS 017/P.O. Box 549110)<br>Waltham, MA 02454-9110<br>email: <a href="mailto:mauraa@brandeis.edu" target="_blank">mauraa@brandeis.edu</a><br></div></div></div>
</span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr">Maura Carbone<div>Digital Initiatives Librarian<br>Brandeis University<br>Library and Technology Services<br><a href="tel:%28781%29%20736-4659" value="+17817364659" target="_blank">(781) 736-4659</a><br>415 South Street, (MS 017/P.O. Box 549110)<br>Waltham, MA 02454-9110<br>email: <a href="mailto:mauraa@brandeis.edu" target="_blank">mauraa@brandeis.edu</a><br></div></div></div>
</div>
</div></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><br clear="all"><div><br></div>-- <br><div><div dir="ltr">Maura Carbone<div>Digital Initiatives Librarian<br>Brandeis University<br>Library and Technology Services<br><a href="tel:%28781%29%20736-4659" value="+17817364659" target="_blank">(781) 736-4659</a><br>415 South Street, (MS 017/P.O. Box 549110)<br>Waltham, MA 02454-9110<br>email: <a href="mailto:mauraa@brandeis.edu" target="_blank">mauraa@brandeis.edu</a><br></div></div></div>
</div>
_______________________________________________<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></blockquote></div><br></div></div></div></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><br clear="all"><div><br></div>-- <br><div><div dir="ltr">Maura Carbone<div>Digital Initiatives Librarian<br>Brandeis University<br>Library and Technology Services<br><a href="tel:%28781%29%20736-4659" value="+17817364659" target="_blank">(781) 736-4659</a><br>415 South Street, (MS 017/P.O. Box 549110)<br>Waltham, MA 02454-9110<br>email: <a href="mailto:mauraa@brandeis.edu" target="_blank">mauraa@brandeis.edu</a><br></div></div></div>
</div>
_______________________________________________<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></blockquote></div><br></div></div></div></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><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Maura Carbone<div>Digital Initiatives Librarian<br>Brandeis University<br>Library and Technology Services<br>(781) 736-4659<br>415 South Street, (MS 017/P.O. Box 549110)<br>Waltham, MA 02454-9110<br>email: <a href="mailto:mauraa@brandeis.edu" target="_blank">mauraa@brandeis.edu</a><br></div></div></div>
</div>