Closed loreanvictor closed 10 months ago
Looks good to me! Nicely done! Apollon itself as well as the deserialization of v2 diagrams operate as expected.
Can you merge this one @loreanvictor ? :)
Can you merge this one @loreanvictor ? :)
Unfortunately, I do not seem to have the permission 😅
I will merge the PR
Checklist
I added multiple screenshots/screencasts of my UI changes(NA)I translated all the newly inserted strings into German and English(NA)Motivation and Context
Following up on this discussion: Current model schema of Apollon results in unnecessary conflicts when patching / merging two replicas (e.g. in realtime collaboration) using JSONPatch and JSONPointer standards.
Description
The proposed change will use
id -> element
maps instead of arrays forelement
,relationships
,assessments
andinteractive
fields of the model schema, causing standard patch operations on these collections to become idempotent, and if not directly targeting the same element, commutative, effectively resolving most conflicts that could arise while merging two replicas of the model. It results in a major bump in model version to v3, with import support for v2 models (no export support added atm).Steps for Testing
Test Coverage
There are some other files that are changed by prettier, I have not included them since their coverage is unchanged.