artefactual / artefactual/atom

Problem: Duplicate "Level of description" terms created during CSV imports

Open
#2,172 2 comments 0 reactions 0 assignees View on GitHub
Type: bug
Dominant language
PHP
Stars
297
Forks
152
Avg merge
1d 8h
Merged PRs (30d)
3

Description

### Current Behavior

**Steps to reproduce the behavior**
1. Import a CSV with "Level of description" values that differ in capitalization/spelling from the canonical terms (e.g. `Unidad Documental Simple` instead of `Unidad documental simple`).
2. After import, check the "Levels of description" taxonomy (id=34 in my DB).
3. Duplicate terms are created:
- *Unidad Documental Simple* (new, ID 5027)
- *Unidad Documental Compuesta* (new, ID 5023)

Some descriptions (143 in my case) were assigned to the duplicate term instead of the canonical ones (ID 241 = File, ID 242 = Item).

### Expected Behavior

During CSV import, AtoM should match the provided values against the existing terms in the taxonomy (case-insensitive) and reuse them, instead of creating new duplicates for minor differences in capitalization or spelling.

### Possible Solution

- Normalize term matching during import (ignore case, possibly accent-insensitive).
- Provide a clear warning in logs or in the UI when an incoming value does not match any existing term.
- Alternatively, allow admins to enforce "strict matching only" to avoid silent creation of new terms.

### Context and Notes

_No response_

### Version used

Atom 2.9

### Operating System and version

Ubuntu 22.04

### Default installation culture

es

### PHP version

8.3

### Contact details

alejandroarturom@gmail.com

Contributor guide

Open the contributing guide

Research direction

Reproduce the CSV import using capitalization variants such as “Unidad Documental Simple” and inspect the resulting Levels of description taxonomy. Done means matching values reuse the existing canonical terms, descriptions are assigned to those terms, and duplicate terms are not created.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.