CSVImport Mixed Resource success?

I have been posting in a related topic, but now I’m thinking this can be more helpful as its own topic.

I’m trying to upload a spreadsheet with items and media (you’ll notice I deleted the dcterms:identifier cells for the 1st 2 media row as a test to see if I needed that info or not) The Internal_IDs all have .jpg attached, but the cells are clipped in this view:

I have renamed my filename column to Internal_ID and mapped it to Media to retrieve from Sideload

I made these selections in the basic settings page for the appropriate item set (not pictured)

This import is creating new resources.

I can’t get the import to work correctly - it imports the parent rows but not the children (media with filenames/Internal_IDs).

Any advice, success stories, spreadsheet examples are appreciated.
Thanks for your time.


How are you connecting the children to the parent in the spreadsheet? That doesn’t appear in your screenshot.

To import media as their own row, whether as part of a mixed resource import or a Media-only import, you need to map a column that identifies which Item the media should be added to. In a mixed import you’ll find this mapping option under “Resource data” -> “Media” -> “Item (by selected property)”. You choose there what property on the Item to look up to match against the data in the column you’re mapping.

For example, in your sheet, you’re mapping a dcterms:identifier for all the items you’re importing. To import media children of those items, there needs to be a column that maps each media row to its parent item, and Identifier is usually the right choice. So, you’d make a new “media_item_identifier” column and for every media, fill in the identifier of the item they belong to (so rows 3 and 4 of this sheet would both have jjp-0000001 as the value for that column). Then when doing the import, you’d map that column as “Item (by selected property)” and select Dublin Core: Identifier as the property.

You’re additionally getting a couple errors simply stating that the files specified in the sheet don’t exist or can’t be read, but the main problem is the missing mapping.

A final note: it’s unclear from your screenshot, but if you have no additional properties or data you want to set on the media themselves, there’s no need to import them as separate rows with the complexity that entails. The mixed-resource import is only necessary when you want to fill in metadata properties (or other data) for the media. Of course, if there is media metadata cropped out of this shot, or the identifiers shown here for the media rows are important to you, then the mixed import makes sense.

Thank you, @jflatnes!
The media does have added metadata, which is why I’m using mixed-resource import.

I tried what you stated here, but I’m receiving this error:

Here is a broader screenshot of my spreadsheet:

Here is how I did the mapping:

I can’t wrap my head around this for some reason. I feel like I’m missing something obvious.

Couldn’t I delete the column you suggested (media_item_identifer) and the delete the extensions in the dcterms:identifer column?

Thank you for your time, I appreciate it. I apologize if this is pretty common work I’m having a problem with.


For one, internal_ID should still be mapped to “Media source”, that’s still the sideload filename and so should be unchanged.

The rest looks pretty much okay, but doesn’t quite line up with the error message you’re getting. If you make the change I suggested do you still get that same error?


I’m still having errors with mapping.
Why does mapping from media_item_identifer make me choose an item set after choosing to map to item? That’s where the error I keep getting is related to I think…

The two items without children uploaded successfully with their files from Sideload :slight_smile:

Okay, I was thinking we might have some confusion there. The image you showed in your previous post reflected the correct mapping, but what you actually used looks like it might have been different.

You want to go to the “Resource data” section, choose “Media” (instead of “Item” as you’ve chosen in this shot), and then there should be an “Item (by selected property)” option. The option you have shown in this latest screenshot is there for mapping items into item sets, so it doesn’t apply here.

It worked!
Thank you, thank you!
I have 2 files that didn’t work, but I see the error in the spreadsheet, fingers crossed anyway

Thanks again for your time,