Hi Carolina,
I still think you should consider exporting from the clipboard to get the records you want to update, even if they were created in the user interface. Since the update is first looking for a match on legacyID, anything you add to your update csv will not match. It's true that when a match on source_name and legacyID can't be made, the system should next check for a match on title/repository/identifier, but since we have already identified a potential issue with matching on repository, better to try to match on legacyID if we can!
As for updating titles this way.... it is in imperfect system. We went almost double over the project budget when developing this feature because of its complexity, and we still could have spend many many more hours refining and improving it further. We're hoping that users like yourself will help us identify where things are not working, and help us to sponsor iterative improvements through subsequent releases so the feature keeps getting better. In the meantime - you may need to update some fields manually, unfortunately!
I think that having the legacyID present, as it is exported, may help. In the meantime, I ran a little test with my Vagrant box with this collection from our demo site:
I added it to the clipboard, and exported with all levels included. I then opened the CSV locally.
- In test 1, I removed the repository row entirely and changed the identifier values, to see if legacyID alone would be enough. It was not - all rows were skipped on re-import.
- In test 2, I only changed the extent and scope and content fields -so legacy and parentID as well as title + identifier + repository were all present for matching. Interestingly, the top-level record was skipped, but all the rest updated successfully.
- In test 3, I removed legacyID and parentID columns and changed the extent and scope/content fields. So now matching had to proceed via title + identifier + repository. Same result! The parent was skipped, but the rest still managed to match and update.
Some things of note:
RE: repository - even though the repository is inherited at lower levels, it still is included in the export for each row. After my update import, it was still inherited - so it seems that the import is smart enough to find a match even if the value is inherited, and it will not update an inherited value with a literal one.
I also noticed something interesting in the console output. Whenever the description found a match, the id provided by the console was the internal object ID in the database. If these descriptions are created via the user inteface (and these ones are, then the objectID is used as the legacyID on export). It was ONLY when no match is found that the console output the id as the identifier value.
Here's a sample of my console output:
[info] [2017-10-27 14:05:52] Job 2003039 "arFileImportJob": Row 1: Unable to match row. Skipping record: Irving Steinberg Sudbury Slide Collection (id: 7)
[info] [2017-10-27 14:05:52] Job 2003039 "arFileImportJob": Row 2: Matching description found, updating in place; row (id: 71477, culture: en, legacyId: )...
[info] [2017-10-27 14:05:52] Job 2003039 "arFileImportJob": Row 3: Matching description found, updating in place; row (id: 71478, culture: en, legacyId: )...
[info] [2017-10-27 14:05:52] Job 2003039 "arFileImportJob": Row 4: Matching description found, updating in place; row (id: 71479, culture: en, legacyId: )...
[info] [2017-10-27 14:05:52] Job 2003039 "arFileImportJob": Row 5: Matching description found, updating in place; row (id: 71480, culture: en, legacyId: )...