Skip to content

[Schema Builder] Import: Prevent data corruption and loss #548

Description

@cmrn-rhi

Disclaimer: Generated from 'UX Review - DH Schema Editor (2025)' worksheet tab '2) Heuristic Review' using Claude Code on 2026-06-04; please review to the original sheet for the original human curated version of this information.

ID: 40 | Severity: Minor - Action Friction
Review Status: 2 - Development Queue (Present)
Priority: Direct to implementation
Originally Reported: 2025-08-06 (DH 1.9.8, dh2-1m-rework)

Issue

If the user puts information into a Schema row (e.g. an item under "Translations") and then loads a schema.yaml to that row two things occur that cause the reviewer concern: (1) Information in editor columns that are empty in the load schema.yaml are not overwritten with blanks; this could cause users to mistake these artifacts as content of the loaded schema. This could also occur if someone decides to just reload a different schema.yaml to copy from over the one they had been copying from previously (e.g. "I'm done the the CanCOGeN spec, I'll just load the GRDI one in this row so I just have one specification to copy over from"). (2) Information in editor columns that are not empty in the loaded schema.yaml are overwritten with the contents of the loaded schema; this could cause users to accidently overwrite their work if the accidently load a yaml to the wrong row.

Goal

Prevent data corruption and data loss.

Recommendation

(1) Warn the user that they are loading a schema.yaml to a row that already contains information. E.g. "The row you are loading the schema file to already contains data. Please know that if you proceed the contents of this row will be overwritten by the loaded schema." (2) Wipe the data from the entire row before placing the contents of the schema.

Discussion Notes

DH/GENEPIO Dev Meeting (2025-08-28): We'll proceed with recommendation (2) "Wipe the data from the entire row before placing the contents of the schema." as (1) already applies when there is a key and if someone doesn't have a key they haven't progressed very far.

Issue Screenshot / GIF

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    UXUser Experience related issuebugSomething isn't workingdevelopment queue (current)In the active development queue with a defined implementation timeline

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions