Sha256: 1c0ae540e4281ddf5518e84616ec7d6be7465efd9bf8838f883dba9d06945356

Contents?: true

Size: 1.43 KB

Versions: 22

Compression:

Stored size: 1.43 KB

Contents

# Customizing metadata import

Often the data you will want to import will not conform exactly to the fields you get from `Hyrax::BasicMetadata`, in which case you will need to make a custom mapper.

Again, let's start with making a test. Make a file called `spec/importers/custom_mapper.rb`. Let's start by describing the CSV we expect to import:

```ruby
# frozen_string_literal: true

require 'rails_helper'

RSpec.describe CustomMapper do
  subject(:mapper) { described_class.new }

  let(:metadata) do
    { "Name.architect" => "Imhotep", # architect
      "Type.genre" => "Journalism" # genre
    }

    describe '#fields' do
    it 'has expected fields' do
      expect(mapper.fields).to include(
        :architect,
        :genre
      )
    end
  end
```
From this rspec test, I can conclude that I have two customized metadata fields, `architect` and `genre`. Actually adding custom metadata fields is covered elsewhere (See [this guide](https://samvera.github.io/customize-metadata-generate-work-type.html), for example), so here we are just going to assume that these fields exist already, and are defined as multi-valued strings.


* Put a file in `config/initializers/zizia.rb`

It should look like this:

```ruby
Zizia.config do |config|
  config.metadata_mapper_class = CustomMapper
end
```
This tells zizia what class to use for metadata mappings. Output is logged to `Rails.logger` and all output is prefixed with `[zizia]` for easy log parsing.

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
zizia-6.0.1 docs/customizing_metadata.md
zizia-6.0.0 docs/customizing_metadata.md
zizia-5.5.0 docs/customizing_metadata.md
zizia-5.4.0 docs/customizing_metadata.md
zizia-5.3.0 docs/customizing_metadata.md
zizia-5.2.0 docs/customizing_metadata.md
zizia-5.1.0 docs/customizing_metadata.md
zizia-5.0.1 docs/customizing_metadata.md
zizia-5.0.0 docs/customizing_metadata.md
zizia-4.6.0.alpha.01 docs/customizing_metadata.md
zizia-4.5.4.alpha.01 docs/customizing_metadata.md
zizia-4.5.3.alpha.01 docs/customizing_metadata.md
zizia-4.5.2.alpha.01 docs/customizing_metadata.md
zizia-4.5.1.alpha.01 docs/customizing_metadata.md
zizia-4.4.1.alpha.01 docs/customizing_metadata.md
zizia-4.4.0.alpha.01 docs/customizing_metadata.md
zizia-4.3.1.alpha.01 docs/customizing_metadata.md
zizia-4.2.0.alpha.01 docs/customizing_metadata.md
zizia-4.1.0.alpha.01 docs/customizing_metadata.md
zizia-4.0.4.alpha.01 docs/customizing_metadata.md