Skip to content

Commit

Permalink
Hotfix/bulkrax (#1167)
Browse files Browse the repository at this point in the history
* Arranges fields in Bulkrax initializer.

* Adds more metadata to collections manifest.

---------

Co-authored-by: Thomas Scherz <scherztc@ucmail.uc.edu>
  • Loading branch information
scherztc and Thomas Scherz authored Oct 31, 2024
1 parent edc4342 commit 5ef61ae
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 38 deletions.
2 changes: 2 additions & 0 deletions app/services/collections_report.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ def self.fields(collection = Collection.new)
[
{ id: collection.id },
{ title: collection.title },
{ description: collection.description },
{ creator: collection.creator },
{ depositor: collection.depositor },
{ edit_users: collection.edit_users.join(" ") },
{ works: collection_members(collection).join(" ") }
Expand Down
64 changes: 32 additions & 32 deletions config/initializers/bulkrax.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,58 +36,58 @@

config.field_mappings = {
"Bulkrax::CsvParser" => {
"advisor" => { from: ["advisor"], parsed: true, split: '\|' },
"alternate_title" => { from: ["alternate_title"], parsed: true, split: '\|' },
"college" => { from: ["college"] },
"committee_member" => { from: ["committee_member"], parsed: true, split: '\|' },
"title" => { from: ["title"], parsed: true, split: '\|' },
"creator" => { from: ["creator"], split: '\|' },
"date_created" => { from: ["date_created"] },
"degree" => { from: ["degree"] },
"college" => { from: ["college"] },
"department" => { from: ["department"] },
"description" => { from: ["description"] },
"doi" => { from: ["doi"] },
"etd_publisher" => { from: ["etd_publisher"] },
"genre" => { from: ["genre"] },
"issn" => { from: ["issn"], split: '\|' },
"journal_title" => { from: ["journal_title"], split: '\|' },
"language" => { from: ["language"], split: '\|' },
"license" => { from: ["license"], split: '\|', parsed: true },
"note" => { from: ["note"] },
"publisher" => { from: ["publisher"] },
"related_url" => { from: ["related_url"], split: '\|' },
"required_software" => { from: ["required_software"] },
"date_created" => { from: ["date_created"] },
"alternate_title" => { from: ["alternate_title"], parsed: true, split: '\|' },
"subject" => { from: ["subject"], split: '\|' },
"geo_subject" => { from: ["geo_subject"], split: '\|' },
"time_period" => { from: ["time_period"], split: '\|' },
"title" => { from: ["title"], parsed: true, split: '\|' }
"language" => { from: ["language"], split: '\|' },
"required_software" => { from: ["required_software"] },
"note" => { from: ["note"] },
"related_url" => { from: ["related_url"], split: '\|' },
"advisor" => { from: ["advisor"], parsed: true, split: '\|' },
"committee_member" => { from: ["committee_member"], parsed: true, split: '\|' },
"degree" => { from: ["degree"] },
"doi" => { from: ["doi"] },
"etd_publisher" => { from: ["etd_publisher"] },
"genre" => { from: ["genre"] },
"issn" => { from: ["issn"], split: '\|' },
"journal_title" => { from: ["journal_title"], split: '\|' }
}
}

config.field_mappings['Bulkrax::BagitParser'] = {
"advisor" => { from: ["advisor"], parsed: true, split: '\|' },
"alternate_title" => { from: ["alternate_title"], parsed: true, split: '\|' },
"college" => { from: ["college"] },
"committee_member" => { from: ["committee_member"], parsed: true, split: '\|' },
"title" => { from: ["title"], parsed: true, split: '\|' },
"creator" => { from: ["creator"], split: '\|' },
"date_created" => { from: ["date_created"] },
"degree" => { from: ["degree"] },
"college" => { from: ["college"] },
"department" => { from: ["department"] },
"description" => { from: ["description"] },
"doi" => { from: ["doi"] },
"etd_publisher" => { from: ["etd_publisher"] },
"genre" => { from: ["genre"] },
"issn" => { from: ["issn"], split: '\|' },
"journal_title" => { from: ["journal_title"], split: '\|' },
"language" => { from: ["language"], split: '\|' },
"license" => { from: ["license"], split: '\|', parsed: true },
"note" => { from: ["note"] },
"publisher" => { from: ["publisher"] },
"related_url" => { from: ["related_url"], split: '\|' },
"required_software" => { from: ["required_software"] },
"date_created" => { from: ["date_created"] },
"alternate_title" => { from: ["alternate_title"], parsed: true, split: '\|' },
"subject" => { from: ["subject"], split: '\|' },
"geo_subject" => { from: ["geo_subject"], split: '\|' },
"time_period" => { from: ["time_period"], split: '\|' },
"title" => { from: ["title"], parsed: true, split: '\|' }
"language" => { from: ["language"], split: '\|' },
"required_software" => { from: ["required_software"] },
"note" => { from: ["note"] },
"related_url" => { from: ["related_url"], split: '\|' },
"advisor" => { from: ["advisor"], parsed: true, split: '\|' },
"committee_member" => { from: ["committee_member"], parsed: true, split: '\|' },
"degree" => { from: ["degree"] },
"doi" => { from: ["doi"] },
"etd_publisher" => { from: ["etd_publisher"] },
"genre" => { from: ["genre"] },
"issn" => { from: ["issn"], split: '\|' },
"journal_title" => { from: ["journal_title"], split: '\|' }
}

# Add to, or change existing mappings as follows
Expand Down
12 changes: 6 additions & 6 deletions spec/services/collections_report_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@

describe '#create_report' do
let(:fake_collections) { [
FakeCollection.new('pid', 'title', 'foo@bar.org', ['foo@bar.org'], ['pid', 'pid']),
FakeCollection.new('pid', 'title', 'foo@bar.org', ['foo@bar.org'], ['pid']),
FakeCollection.new('pid', 'title', 'foo@bar.org', ['foo@bar.org'], ['']),
FakeCollection.new('pid', 'title', 'foo@bar.org', ['foo@bar.org'], ['pid', 'pid'])
FakeCollection.new('pid', 'title', 'test description','Test, User', 'foo@bar.org', ['foo@bar.org'], ['pid', 'pid']),
FakeCollection.new('pid', 'title', 'test description','Test, User','foo@bar.org', ['foo@bar.org'], ['pid']),
FakeCollection.new('pid', 'title', 'test description','Test, User','foo@bar.org', ['foo@bar.org'], ['']),
FakeCollection.new('pid', 'title', 'test description','Test, User','foo@bar.org', ['foo@bar.org'], ['pid', 'pid'])
] }

before do
Expand All @@ -34,7 +34,7 @@
).to eq(fake_collections.length + 1)
end

class FakeCollection < Struct.new(:id, :title, :depositor, :edit_users, :member_ids)
class FakeCollection < Struct.new(:id, :title, :description, :creator, :depositor, :edit_users, :member_ids)
end
end
end
end

0 comments on commit 5ef61ae

Please # to comment.