collectionspace / cspace-config-untangler

Generate CollectionSpace data overviews from profile/tenant configs
MIT License
0 stars 4 forks source link

What to do about identifier field assignment when record type contains no appropriate identifier fields? #34

Closed kspurgin closed 4 years ago

kspurgin commented 4 years ago

It was a known problem that some record types in some profiles didn't have any fields defined as required. For example, botgarden loanout has loanOutNumber field, but it is not required by CSpace.

We'd decided in these cases that the collectionspace-mapper would consider loanOutNumber as a faux-required field (required for batch import, anyway) due to need for a unique value in record being processed. That was added in v.1.0.0.

Remaining issue

botgarden movement and pottag record types have no required fields.

They ALSO contain no fields that would be obviously be suitable for use as an ID field (i.e. that would be unique) in a batch import. See field lists below.

:question: Thoughts on how to handle these? :question:

There's a larger problem with these, in that I don't see how we can batch-create relationships between objects and movement records without some movementReferenceNumber in the movement record.

movement only has the following fields: currentLocation movementContact labelRequested labelSize labelStandType reasonForMove locationDate movementNote labelCount

pottag only has the following fields: family taxonName printLabels commonName locale numberOfLabels labelData

kspurgin commented 4 years ago

The resolution for this was to add suitable ID fields to botgarden movement and pottag in 6.1.

Going forward, all new procedures should have a field that is suitable for use as a "faux-required-for-batch-processing" ID for use in batch processing/round tripping.