Multivalue Separator Not Working in CSV Import

I’ve tried multiple time to upload a CSV and ODS file that contains 2 columns with multiple values (one of them being images uploaded on a server). The multivalue was originally a semicolon and when it didn’t work I tried an exclamation point and that didn’t work either. Has anyone else had a this problem with Omeka S 3.1.1 and solved this problem? There are too many fields to manually enter these items.

Hi,
Never got the multi-value option working with media.
So I always create a separate ods file with one media-file per row, so there are multiple occurrences for the identifier (needed for the media import) in the import file.

Hope that’s a solution for you,
Cheers,
Hans Ruedisueli, Bureau Jorwert

@siriusweb
Forgot to mention that I created a crude nodejs script that takes care of multi-value columns in an excel spreadsheet (easy to convert to .ods and back).
You need to handle npm etc to get it working though…

When there is some interest, I can do a Vimeo video explaining the use of this script.

Cheers,
Hans Ruedisueli, Bureau Jorwert

1 Like

Thank you for your prompt response. Just for clarification, after importing one media file per item, a second import file (CSV or ODS) is uploaded with the additional media files that are automatically appended to each item correct?

You’re welcome @siriusweb !
To make it more easy, import the records first, without images, then do the media import, with linking to the identifier of each imported record.

My script takes a import file (.xlsx converted from .ods) and takes the media column and splits the record in separate rows (for each media file in the column).

If you don’t import the media in the first import you don’t have to sort out which file is already imported, makes life a bit easier :wink:

Cheers,
Hans Ruedisueli, Bureau Jorwert

Can either of you clarify what kinds of imports and settings you’re using? I’m not aware of any general inability to do multi-value imports, beyond what you’ve mentioned in this post.

I will note two possible hiccups:

First, you have to opt-in for each column you want to use the multivalue separator for. There’s an option for this in the menu accessible by clicking the “wrench” icon for each column in the mapping table. When you’ve enabled it, the mapping table will show “Multivalue” in the options for that column.

The second is that for a media import, where you pick the type as Media on the first screen, and the sheet is entirely media, multivalue is not supported for the “source” column, since in a media import each row represents one media always. This doesn’t apply to the typical “Items” import though, you can enable multivalue on a “Media source” column for those imports.

Hi @jflatnes,
I’m aware of the options available when importing via a csv- or spreadsheet file.

One problem I had while importing comma-separated media urls from one column in a big object import-file with the csv import module, not all the media got imported.
This was more than a year ago, not familiar with the current status.
Other multi-value columns (like: materials, creators, etc.) were imported without any problems.

What I suggested, was doing the import without the media, after this, convert the import file into a media-import-file (I do it with a nodejs script) which only contains the necessary column needed for a media import and using one row for each media-url in the original import file.

Works like a charm, but needs a little bit of javascript knowledge.

As said earlier, I am willing to share this approach if there is interest.

Cheers,
Hans Ruedisueli, Bureau Jorwert

Sorry if I was unclear. Your strategy of doing the import in two steps, once for the items and once for the media, that’s a good approach also. The advantage of doing it that way is that you can also set metadata on each media when you’re doing that second import.

I was just offering some possibilities as to @siriusweb’s problem here. In particular it’s very easy to miss that you have to also enable that “Use multivalue separator” checkbox for each column you want multiple values from, so I was just suggesting that as a possible reason for why it’s not working for them.

To answer your question, the multivalue separator checkbox was selected with each import attempt. It only appears in one place for the entire spreadsheet. Then on the next tab the separator being used is identified.

Okay.

I double-checked on this just to be sure, but there’s no general issue with using multivalue with media source columns. Are you using the URL source, or something else? It’s possible the issue is contained to only one source.

A minimal example (one row, even one column?) might help confirm or reproduce your problem. A screenshot of your configured mapping screen could help as well.

Also, just so I’m clear: are you having the same problem with your other column that’s not media? In other words, are all multivalue columns not working, or just the media one?

Here are the screenshots of what I see when attempting to import the files. The Media field is where the multiple direct URLs are listed. When mapping the Media field the source is URL.



So the last thing to check on, when you enable the “Use multivalue separator” box from the “wrench” sidebar, is “Multivalue” then listed under Options in the mapping table? It’s possible to check the box but not “save” or apply the settings.

I was able to select Multivalue during the mapping process, but it still did not import any records. I selected the Media field and click the Bulk Edit Options button (see screenshot). Should the Data Type be set to Text or URI?

The data type option is irrelevant for a media source column.

What’s necessary is that you map the column, using the “plus” icon, to “Media source” and then select “URL” in the dropdown there and click “Apply changes” (this maps the column as media URLs to import), then using the “wrench” icon, check the “Use multivalue separator” box and click “Apply changes” (this sets the column as having multivalue data).

With that done, the mapping table for your column should look like the “source” column shown here, with “Media source [URL]” listed under Mappings and “Multivalue” listed under Options:

Is this how you’re doing your import attempts?

Thank you for your assistance. I was able to upload one of the CSV files and will prepare the others for upload.

Glad to hear you got it working.

There are a lot of options on the CSV Import interface so it’s easy to kind of get going down the wrong path without realizing it.