compare new entered term against database while entering

Registered by Normunds

lookup if the new term exists before user submits the new entry. In some cases it may be legitimate to enter twice the same term such as in different languages, in some it is a waste of time - if I have forgotten that I have the word in my wordlist, I will spend a lot of time looking up in dictionary and entering the info only to find out it already exists - so it may lookup the word as it gets typed in and suggests to edit existing entry if necessary. Or this maybe of course coexist with search - I type in the word in a search field (in main window preferably), search and if the word does not exist, application suggests to enter a new term.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Low
Drafter:
None
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Not started
Milestone target:
None

Related branches

Sprints

Whiteboard

We are migrating the feature requests from here to https://mnemosyne.uservoice.com/ . Please submit your request there.

There is an option 'check duplicates when adding new card' which does exactly that. [PB]

The keyword is probably _before_. Check for existence as soon as the source term has been entered and let edit existing entry if necessary. Current settings check _after_ the entry has been prepared and the user submits it [Normunds]

I don't see why that would be such a major improvement over what we do now. Besides, waiting until after you also have typed in the answer field allows you e.g. to merge the two answers, as happens now. [PB]

It will save a lot of entry time - it would allow you, if entry turns out to exist, to either:
1) save time by allowing you to consciously edit exiting entry (instead or in addition to subsequent merge) - because if you enter same entry twice, most probably you enter the same info in double - normally you do not need to enter it twice no matter what.
2) save time by avoid the user completing the whole entry that exists already - looking up in dictionary, typing and doing lots of other actions that goes before I can add a entry. I guess it will save at least about 1-2 min. per entry. Right now I frequently spend quite a lot of time to add the entry, just to find that it is already there and I have just completely forgotten this word. Not sure if anybody else have this problem, but for me it's pretty obvious...

And even if I know that the word exists. It would be much nicer and quicker to have one interface for editing and adding - you type the word - if it exists you edit, if not add.

Right now you can edit entries only from the list and add only from a separate window, so you need 1) to know before it if it exists and 2) to switch between 2 windows.

When you are in study process and find an "unknown" word - you add it, so you are in the entry window; then you find the next word that you think it's already there, but might need editing, so you need to close the adding window, switch to list, find the word and see if it needs editing... and if it turns out it's not there, you close list, go to entry window and create a new entry. OR you can try to create and submit the new entry nevertheless and if it turns out it exists and you have spend 2 min to add twice the same info OR you write a quick stub and submit it to see it it exists aand if exists do the merge bit, BUT then, if it did not exist, you need to close the entry window, open the list, find the word and edit entry to complete it.

As an alternative - if we just had a quick way to return to already created entry - so you could type "new word" and submit it; if application says "exists", then the ser has an option ignore/cancel, if it says nothing, I return to the just submitted entry to complete it.

This second thing (quick return to submitted entry) could be useful anyway, because at least for me, I frequently remember what else I should have added. But there is no quick way to get back to entry you just edited, so you need to go the whole list and search for it again...

But I think if you did not see the merit already after reading of what I wrote before, I doubt you would perceive it as useful now after my careful explanation... There is some kind of API to add and lookup entries, right? I probably I have to look what options do you provide. [Normunds]

OK, if you indeed spend a lot of time preparing the answer, I see the advantage of checking quicker. This will probably not be for the next version, unless you help out and write that yourself (be sure to use the 2.x codebase, though) [PB]

Thanks, on more thing to this - current "merge duplicates" work either globally or within a category. However there can be situation when it would be useful to merge within some categories not others. Example: I categorise words by lesson or source text. In this way I have found that, if I several times in a row fail to learn some word, I can go back to the lesson or source text, add a sentence this word has been used in, to translation part so that the context helps remembering. Now if I study 2 or more languages I end up with a category list: Dutch:31, Dutch:32, ... Indonesian:32, Indonesian:33. In this case I'd like to merge entries within different "dutch" and different "indonesian"categories, but not between Dutch and Indonesian. This particular case currently can well be treated by having different installation for different languages. Maybe preferable anyway unless I want activate/desactivate categories all the time...

But the "lookup" would also help - if it shows the word along with category; if I enter the word in Indonesian, but the same spelled word exists in Dutch, I ignore it and add a new entry, but if it exists in Indonesian part I can select to edit it and see if I need to complete the entry.

As for doing myself - I have neither any experience with QT nor UI work in C++ in general; what I meant when I asked about API is, that if there is way to hook in with Java or VB/VB.NET that I feel more comfortable with, I'd rather "hack" my private UI for input.
Edited: just checked and it says "Python", I guess I assumed too much about what QT means.. [Normunds]

As for merging and categories, this is already in 2.0, as there you have the concept of card type (Dutch, Indonesian, ...) in addition to categories (lesson 1, verbs, difficult cards, ...). A card can belong to multiple categories but only a single card type, and duplicate checking is only done within a single card type. [PB]

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.