-
-
Notifications
You must be signed in to change notification settings - Fork 275
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Entity merging tool #333
Conversation
484021a
to
cfd0652
Compare
@MonkeyDo |
This one is a pretty complex PR to jump into like that, but there is something you can do to help: testing ! :D |
@MonkeyDo |
Deleted some previous work
Consider reworking and squashing this commit
This allows us to have the same submisison structure for entity and entity merge components.
The controller for merging pages was almost identical to the entity-editor. Refactored to make entity-editor controller work for regular edits and merges
There's no other way I can come up ith to know whether a revision is a merge or a standard edit
& Use ORM option to keep multiple EntityRevisions with the same ID
Remove whatever I tried with revisionParents
so we can retrieve them from the body of the /edit/handler request, which sends the rootState
on all 5 $entity$_revision, so that we can deduce which entities have been merged by the revision. Otherwise, if for example we're merging two authors, but there are relationships with another author, three author_revision rows will be created, but onyl two of the entities are merged.
Need some features from LTS version 0.33.1 (Panel subcomponents)
c6775dc
to
e161196
Compare
And empty string date parsing issue
Includes a few fixes for issues (eg react proptypes) that were throwing errors
Use ISO strings everywhere we can and {year month day} objects only for date field and validation. Rename date utility isNullValue to isNullDate.
This got borked during a rebase I think
Problem
Plenty of duplicates in the database, and no way to merge them…
Solution
This implements merging routes to allow users to add entities to a merge queue.
![merge-4](https://user-images.githubusercontent.com/6179856/70739319-d77cfc80-1d16-11ea-90bc-e213355ce417.png)
Once submitted, the user is redirected to a merging page with dropdowns to select which options to keep.
![merge-5](https://user-images.githubusercontent.com/6179856/70739615-84f01000-1d17-11ea-9872-6bce5978fb2e.png)
If the value is the same for all selected entities, it shows that single option (dropdown disabled).
If corrections need to be made, the user needs to modify the entity after merging.
Merge revisions are show in a special way, and have a merge icon in front to denote them:
Areas of Impact