Handle Device conflicts between core schema and extensions #2132
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Fix #2108. Related to updates in hdmf-dev/hdmf#1309 that will warn a user when there are extension conflicts, these changes remap some of these conflicts on read.
Device.model
as a string attribute to aDeviceModel
object on read.Device.model
defined by other extensions to aDevice.{extension_name}_model
field to allow data from files with an older extension with a conflicting Device.model to be read.Note - the tests will not pass until hdmf-dev/hdmf#1309 is merged since it raises a warning instead of an error if an extension attempts to overwrite an existing specification.
How to test the behavior?
Checklist
ruff check . && codespell
from the source directory.