Overview
I previously wrote the following article about how to use the “Bulk Import” module for batch registration of metadata (items) and images (media) in Omeka S.
https://nakamura196.hatenablog.com/entry/2021/07/28/080952
However, due to updates to Omeka S and its modules, some behaviors differ as of March 2023. In this article, while deferring detailed explanations to the above article, I will re-introduce the workflow from item set registration to media registration.
Module Installation
Installing Related Modules
First, install the following two modules: “Log” and “Generic.”
https://github.com/Daniel-KM/Omeka-S-module-Log
https://github.com/Daniel-KM/Omeka-S-module-Generic
(Optional) Log Configuration
After installing the Log module, an alert like the following will be displayed. By changing the config/local.config.php settings, you can check error details when using Bulk Import, which is convenient.

Specifically, in /config/local.config.php, set log to true.
By applying this setting, logs like the following will be displayed during batch registration described later. This is particularly helpful for investigating the cause when batch registration does not work as intended.

Installing Bulk Import
Install from the following repository.
https://github.com/Daniel-KM/Omeka-S-module-BulkImport
After installation, a settings screen like the following will be displayed, but you can leave it as is for now.

Registering Item Sets
First, register item sets. From the import screen, select “CSV - Item sets.”

Download the following CSV file as sample data.
https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/item_set.csv
Select the downloaded file.

On the next screen, there are various configuration options, but you can leave them at their defaults for now.

Once registration is complete, the title (dcterms:title) and Identifier (dcterms:identifier) will be registered as shown below.

Registering Items
Next, register items. Use the following CSV file.
https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/item.csv
For details about the CSV file contents, please refer to the article introduced at the beginning.
https://nakamura196.hatenablog.com/entry/2021/07/28/080952#アイテム
An important note: in the settings screen, add “dcterms:identifier” to “Identifier to use for linked resources or update.” This is because the item set is entered with the value baby, which specifies the item set whose “dcterms:identifier” is “baby.” Therefore, “dcterms:identifier” needs to be added as the “Identifier to use for linked resources or update.” Without this setting, the associated item set (baby) will not be found, and the sample data (2 items) cannot be registered.

On the other hand, if you remove the item set-related column from the CSV file to be registered, you can register without the above setting. However, having an identifier (typically dcterms:identifier) is more convenient when performing resource association and updates.
Registering Images
Next, register images. Use the following CSV file.
https://github.com/omeka-j/Omeka-S-module-BulkImport-Sample-Data/blob/main/media.csv
Here as well, as mentioned above, add “dcterms:identifier” to “Identifier to use for linked resources or update” in the settings screen. This setting is necessary because the value of “dcterms:identifier” is used to specify the item to which the media (image) is registered.

As a result, media (images) will be registered to the registered items as shown below.

Supplement: Registering Multiple Values
In the CSV file used for batch item registration, the value for “dcterms:subject @ja” was given as follows.
あかちゃん|リクエスト
This notation uses the pipe (|) delimiter to register multiple values. This delimiter can be changed in the registration settings screen. Specifically, it is specified in the “Multi-value separator” field.

As a result, multiple values are registered for the “Subject” field.

Summary
The features provided by this module are extensive, including resource updates and deletions. While this makes it a very useful module, the many configuration options may feel difficult to use at first.
I hope this article serves as a useful reference when using this module.