-
-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
Size: MMedium sized issueMedium sized issueenhancementNew feature or requestNew feature or requestfrontendgoal: MergeDup
Description
When all sets of words with identical vernacular have been dealt with (or deferred) is a good time to:
- Congratulate the user for getting through them all
- Warn that finding potential duplicates with similar vernacular forms takes a long time (e.g., 2.5 minutes for an 18,000 entry project)
- If there are deferred duplicates, say so and offer button to load those instead
Todo:
Backend/Services/MergeService.cs:- Add to
GetPotentialDuplicatesa new parameterbool identicalVernacular, right afterint maxLists,. If true, usedupFinder.GetIdenticalVernWords; if false, usedupFinder.GetSimilarWords(collection, isUnavailableSet, ignoreProtected). - Update
GetAndStorePotentialDuplicatesto callGetPotentialDuplicateswithidenticalVernacular = false
- Add to
Backend/Controllers/MergeController.cs:- Add method for new endpoint
[HttpGet("findidenticaldups/{maxInList:int}/{maxLists:int}/{ignoreProtected:bool}", Name = "FindIdenticalPotentialDuplicates")]. Unlike the existingFindPotentialDuplicates, finding those with identical vernacular is fast, so instead of using a get-then-signal function, just call on_mergeService.GetPotentialDuplicatesdirectly with identicalVernacular = true
- Add method for new endpoint
- Update interfaces, mocks, and tests
- Run
npm run fmt-backend - Run
npm run backend, initiate the Python virtual environment (venv) specified in the README, then runpython scripts/generate_openapi.py src/backend/index.ts:- Add new function
findIdenticalDuplicates(beforefindDuplicates) that usesmergeApi.findIdenticalPotentialDuplicates
- Add new function
src/goals/Redux/GoalActions.ts:asyncAddGoalno longer needs a specialGoalType.MergeDupsloadGoalDatain theGoalType.MergeDupscase should use the newfindIdenticalDuplicatesfunction
src/goals/MergeDuplicates/*- If
loadGoalDataloaded an empty list, then instead of the "nothing to merge" screen, an action should be dispatched to do the stuff dropped fromasyncAddGoal - While loading (i.e. waiting for the signal), there should be a dialog pop up over the loading screen:
- Congratulate user for having processed all sets of words with identical vernacular
- If there are any deferred dups, let user know how many there are, and include a button at the bottom of the dialog to review deferred duplicate
- Explain that The Combine is now finding potential duplicates with similar (non-identical) vernacular form.
- If the project has more than 1000 frontier entries, warn that this can take several minutes
- Have button at bottom to cancel (returns to Data Entry)
- Have button at bottom to continue loading
- Automatically close the dialog if the signal comes that the duplicate finding is done
- If
Copilot
Metadata
Metadata
Assignees
Labels
Size: MMedium sized issueMedium sized issueenhancementNew feature or requestNew feature or requestfrontendgoal: MergeDup