[Archivesspace_Users_Group] Accession CSV Subject Import
Brian Hoffman
brianjhoffman at gmail.com
Wed Apr 8 12:25:06 EDT 2015
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.
Brian
On Apr 8, 2015, at 10:24 AM, Maura Carbone <mauraa at brandeis.edu> wrote:
> Hi Brian,
>
> Hmm, somewhat, but working on that base doesn't seem to work?
>
> If I wanted to copy how date is set up it seems it would look something like this:
>
> 'subject_1_source' => 'subject_1.source',
> 'subject_1_term' => 'subject_1.term',
> 'subject_1_term_type' => 'subject_1.term_type',
>
> 'subject_2_source' => 'subject_2.source',
> 'subject_2_term' => 'subject_2.term',
> 'subject_2_term_type' => 'subject_2.term_type',
>
> 'subject_3_source' => 'subject_3.source',
> 'subject_3_term' => 'subject_3.term',
> 'subject_3_term_type' => 'subject_3.term_type',
>
> and then
>
> :subject_1 => {
> :record_type => :subject,
> :on_create => Proc.new {|data, obj|
> obj.terms = [{:term => data['term'], :term_type => data['term_type'], :vocabulary => '/vocabularies/1'}]
> obj.vocabulary = '/vocabularies/1'
> },
> :on_row_complete => Proc.new {|cache, this|
> digital_object = cache.find {|obj| obj.class.record_type == 'accession'}
> digital_object.subjects << {'ref' => this.uri}
> }
> },
>
> :subject_2 => {
> :record_type => :subject,
> :on_create => Proc.new {|data, obj|
> obj.terms = [{:term => data['term'], :term_type => data['term_type'], :vocabulary => '/vocabularies/1'}]
> obj.vocabulary = '/vocabularies/1'
> },
> :on_row_complete => Proc.new {|cache, this|
> digital_object = cache.find {|obj| obj.class.record_type == 'accession'}
> digital_object.subjects << {'ref' => this.uri}
> }
> },
>
> :subject_3 => {
> :record_type => :subject,
> :on_create => Proc.new {|data, obj|
> obj.terms = [{:term => data['term'], :term_type => data['term_type'], :vocabulary => '/vocabularies/1'}]
> obj.vocabulary = '/vocabularies/1'
> },
> :on_row_complete => Proc.new {|cache, this|
> digital_object = cache.find {|obj| obj.class.record_type == 'accession'}
> digital_object.subjects << {'ref' => this.uri}
> }
> },
>
> 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).
>
> When I make the changes above and implement the plugin, subjects just stop being imported at all (although no errors, they're just ignored).
>
> -Maura
>
>
> On Tue, Apr 7, 2015 at 1:04 PM, Brian Hoffman <brianjhoffman at gmail.com> wrote:
> Hi Maura,
>
> 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).
>
> Does that make sense?
>
> Brian
>
>
>
>
>
> On Apr 7, 2015, at 10:45 AM, Maura Carbone <mauraa at brandeis.edu> wrote:
>
>> Hi Brian,
>> 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:
>>
>> 'date_1_label' => 'date_1.label',
>> 'date_1_expression' => 'date_1.expression',
>> 'date_1_begin' => 'date_1.begin',
>> 'date_1_end' => 'date_1.end',
>> 'date_1_type' => 'date_1.date_type',
>>
>> and then the date object creator is:
>>
>> :date_1 => {
>> :record_type => :date,
>> :defaults => date_defaults,
>> :on_row_complete => Proc.new { |queue, date|
>> queue.select {|obj| obj.class.record_type == 'accession'}.each do |accession|
>> accession.dates << date
>> end
>> }
>>
>> so I thought there must be a file mapping the date_1 labels to the date object fields in the schema?
>>
>>
>> Thanks,
>> Maura
>>
>> On Mon, Apr 6, 2015 at 9:11 PM, brian <brianjhoffman at gmail.com> wrote:
>> Hi Maura,
>>
>> Here's the base converter file for accession csv.
>>
>> https://github.com/archivesspace/archivesspace/blob/master/backend/app/converters/accession_converter.rb
>>
>>
>> Brian
>>
>>
>>
>> Sent from my T-Mobile 4G LTE Device
>>
>>
>> -------- Original message --------
>> From: Maura Carbone <mauraa at brandeis.edu>
>> Date:04/06/2015 3:35 PM (GMT-05:00)
>> To: Archivesspace Users Group <archivesspace_users_group at lyralists.lyrasis.org>
>> Cc:
>> Subject: Re: [Archivesspace_Users_Group] Accession CSV Subject Import
>>
>> Hi Chris,
>> 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.)
>>
>> Thanks!
>> Maura
>>
>> On Tue, Mar 31, 2015 at 4:03 PM, Maura Carbone <mauraa at brandeis.edu> wrote:
>> What I was doing was:
>> 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.
>>
>> 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.
>>
>> Thanks!
>> Maura
>>
>> On Tue, Mar 31, 2015 at 3:29 PM, Chris Fitzpatrick <Chris.Fitzpatrick at lyrasis.org> wrote:
>> Hi Maura,
>>
>>
>> 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.
>>
>>
>> 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...
>>
>>
>> b,chris.
>>
>>
>> Chris Fitzpatrick | Developer, ArchivesSpace
>> Skype: chrisfitzpat | Phone: 918.236.6048
>> http://archivesspace.org/
>> From: archivesspace_users_group-bounces at lyralists.lyrasis.org <archivesspace_users_group-bounces at lyralists.lyrasis.org> on behalf of Maura Carbone <mauraa at brandeis.edu>
>> Sent: Tuesday, March 31, 2015 7:06 PM
>> To: Archivesspace Users Group
>> Subject: [Archivesspace_Users_Group] Accession CSV Subject Import
>>
>> Hi all,
>> 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.
>>
>> Thanks,
>> Maura
>>
>> --
>> Maura Carbone
>> Digital Initiatives Librarian
>> Brandeis University
>> Library and Technology Services
>> (781) 736-4659
>> 415 South Street, (MS 017/P.O. Box 549110)
>> Waltham, MA 02454-9110
>> email: mauraa at brandeis.edu
>>
>> _______________________________________________
>> Archivesspace_Users_Group mailing list
>> Archivesspace_Users_Group at lyralists.lyrasis.org
>> http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group
>>
>>
>>
>>
>> --
>> Maura Carbone
>> Digital Initiatives Librarian
>> Brandeis University
>> Library and Technology Services
>> (781) 736-4659
>> 415 South Street, (MS 017/P.O. Box 549110)
>> Waltham, MA 02454-9110
>> email: mauraa at brandeis.edu
>>
>>
>>
>> --
>> Maura Carbone
>> Digital Initiatives Librarian
>> Brandeis University
>> Library and Technology Services
>> (781) 736-4659
>> 415 South Street, (MS 017/P.O. Box 549110)
>> Waltham, MA 02454-9110
>> email: mauraa at brandeis.edu
>>
>> _______________________________________________
>> Archivesspace_Users_Group mailing list
>> Archivesspace_Users_Group at lyralists.lyrasis.org
>> http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group
>>
>>
>>
>>
>> --
>> Maura Carbone
>> Digital Initiatives Librarian
>> Brandeis University
>> Library and Technology Services
>> (781) 736-4659
>> 415 South Street, (MS 017/P.O. Box 549110)
>> Waltham, MA 02454-9110
>> email: mauraa at brandeis.edu
>> _______________________________________________
>> Archivesspace_Users_Group mailing list
>> Archivesspace_Users_Group at lyralists.lyrasis.org
>> http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group
>
>
> _______________________________________________
> Archivesspace_Users_Group mailing list
> Archivesspace_Users_Group at lyralists.lyrasis.org
> http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group
>
>
>
>
> --
> Maura Carbone
> Digital Initiatives Librarian
> Brandeis University
> Library and Technology Services
> (781) 736-4659
> 415 South Street, (MS 017/P.O. Box 549110)
> Waltham, MA 02454-9110
> email: mauraa at brandeis.edu
> _______________________________________________
> Archivesspace_Users_Group mailing list
> Archivesspace_Users_Group at lyralists.lyrasis.org
> http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lyralists.lyrasis.org/pipermail/archivesspace_users_group/attachments/20150408/4e2befdf/attachment.html>
More information about the Archivesspace_Users_Group
mailing list