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

AnkiDroid export: Allow duplicite cards to be exported #752

Closed
dantedg opened this Issue Apr 28, 2017 · 15 comments

Comments

Projects
None yet
3 participants
@dantedg

dantedg commented Apr 28, 2017

Hey guys,
For an unknown reason, the transfer from Aedict to AnkiDroid is not working anymore.
When I try to do it, I've got a message which says "0 cards added to deck '' xxx'' '' so it acts like it was successfully added but in reality, it's not.
Do you know why? So far I've transferred thousand cards without any problems so what's going on?
Thanks.

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny Apr 28, 2017

Owner

This happens when exactly identical card is already present in the deck. Could you verify that this is the case, or it is something different? Can you try to add the card to a different (perhaps newly created) deck?

Owner

mvysny commented Apr 28, 2017

This happens when exactly identical card is already present in the deck. Could you verify that this is the case, or it is something different? Can you try to add the card to a different (perhaps newly created) deck?

@dantedg

This comment has been minimized.

Show comment
Hide comment
@dantedg

dantedg Apr 28, 2017

You're right, I've already added this card to another deck. So it's impossible to export 2 times the same card in 2 differents decks ? I'm a little bit suprised by that...
I've got a LOT of decks and cards so how can I find where are the duplicate cards that's I've got ?

Thanks.

dantedg commented Apr 28, 2017

You're right, I've already added this card to another deck. So it's impossible to export 2 times the same card in 2 differents decks ? I'm a little bit suprised by that...
I've got a LOT of decks and cards so how can I find where are the duplicate cards that's I've got ?

Thanks.

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny Apr 29, 2017

Owner

Ooops, I am sorry. I see the value of not adding duplicite cards into one deck, yet a single card should be able to be present in different decks. Think different sets, maybe JLPT5 and "most 100 common kanjis" - some kanjis are bound to overlap.
If you agree with the above, I'll look into the export code and fix it as explained above.

Owner

mvysny commented Apr 29, 2017

Ooops, I am sorry. I see the value of not adding duplicite cards into one deck, yet a single card should be able to be present in different decks. Think different sets, maybe JLPT5 and "most 100 common kanjis" - some kanjis are bound to overlap.
If you agree with the above, I'll look into the export code and fix it as explained above.

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny May 3, 2017

Owner

AnkiDroid API needs to be changed for the removeDuplicates() method to target the scope of deck only.

Owner

mvysny commented May 3, 2017

AnkiDroid API needs to be changed for the removeDuplicates() method to target the scope of deck only.

@timrae

This comment has been minimized.

Show comment
Hide comment
@timrae

timrae May 3, 2017

AnkiDroid API needs to be changed

Remove duplicates code is not part of the API; it's example code for applications. Every application has different requirements so we decided not to integrate that code into the API. If you want different behavior, you'll need to customize it yourself; that's what example code means ;)

My personal feeling is that it's harmful to the learning process to have the same card in multiple decks, as your learning history will be split across two cards. The situation you described with jlpt is better handled with tags and filtered decks.

timrae commented May 3, 2017

AnkiDroid API needs to be changed

Remove duplicates code is not part of the API; it's example code for applications. Every application has different requirements so we decided not to integrate that code into the API. If you want different behavior, you'll need to customize it yourself; that's what example code means ;)

My personal feeling is that it's harmful to the learning process to have the same card in multiple decks, as your learning history will be split across two cards. The situation you described with jlpt is better handled with tags and filtered decks.

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny May 3, 2017

Owner

@timrae thanks, your opinion makes sense. @dantedg what do you think?

Owner

mvysny commented May 3, 2017

@timrae thanks, your opinion makes sense. @dantedg what do you think?

@timrae

This comment has been minimized.

Show comment
Hide comment
@timrae

timrae May 3, 2017

If you do end up changing it, you might want to at least show a warning when there's duplicates in different decks

timrae commented May 3, 2017

If you do end up changing it, you might want to at least show a warning when there's duplicates in different decks

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny May 3, 2017

Owner

This should definitely be made configurable. Some users prefer no dupes at all (current behavior); some want one card to be present in multiple decks. Let's see what @dantedg will say - it would be great if @dantedg could provide his use case which should solidify this request.

Owner

mvysny commented May 3, 2017

This should definitely be made configurable. Some users prefer no dupes at all (current behavior); some want one card to be present in multiple decks. Let's see what @dantedg will say - it would be great if @dantedg could provide his use case which should solidify this request.

@dantedg

This comment has been minimized.

Show comment
Hide comment
@dantedg

dantedg May 3, 2017

Hey guys,

Thank you for taking care of that problem. As you said, it depends on user's behavior's. Here's mine : I'm studying japanese everyday in a super intensive class. It means that I create something between 50 and 100 new vocabulary flashcards everyday. At the end of the week, I've a LOT of cards to review. I tried several methods and my current method is : I have 1 DECK per WEEK. Of course I also have extra decks (like japanese video games vocabulary and so on). Because I'm in that school since 10 months, I've thousands of flashcards and a TONS of decks.
This is WAY too much for me to learn efficiently. I know that and I would say that I just remember 10% of each deck. But this is how my school is working so I have no choice about it. That's why I really need to have the SAME word in differents decks because I know that there is a great chance that I didn't remember this word the first time.
By putting the same word in different deck, I increase the probability to remember this word. Because of the high pace and lack of time, it's impossible for me to review old decks (more than two weeks ago).
I know that this technique is not perfect, but that's mine and I didn't find anything better till now.
That's why this "duplicate" thing is so important for me. Without the possibility to duplicate the same cards in different decks, I've to look for this word in my other decks which is time consuming.

I'm sorry if my use of aedict is not the one which was planned.

Let me know what you think.

Thanks guys.

dantedg commented May 3, 2017

Hey guys,

Thank you for taking care of that problem. As you said, it depends on user's behavior's. Here's mine : I'm studying japanese everyday in a super intensive class. It means that I create something between 50 and 100 new vocabulary flashcards everyday. At the end of the week, I've a LOT of cards to review. I tried several methods and my current method is : I have 1 DECK per WEEK. Of course I also have extra decks (like japanese video games vocabulary and so on). Because I'm in that school since 10 months, I've thousands of flashcards and a TONS of decks.
This is WAY too much for me to learn efficiently. I know that and I would say that I just remember 10% of each deck. But this is how my school is working so I have no choice about it. That's why I really need to have the SAME word in differents decks because I know that there is a great chance that I didn't remember this word the first time.
By putting the same word in different deck, I increase the probability to remember this word. Because of the high pace and lack of time, it's impossible for me to review old decks (more than two weeks ago).
I know that this technique is not perfect, but that's mine and I didn't find anything better till now.
That's why this "duplicate" thing is so important for me. Without the possibility to duplicate the same cards in different decks, I've to look for this word in my other decks which is time consuming.

I'm sorry if my use of aedict is not the one which was planned.

Let me know what you think.

Thanks guys.

@dantedg

This comment has been minimized.

Show comment
Hide comment
@dantedg

dantedg May 8, 2017

Do you have any updates guys?
@mvysny

dantedg commented May 8, 2017

Do you have any updates guys?
@mvysny

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny May 9, 2017

Owner

@dantedg sorry I was occupied elsewhere ... Anyways, your use-case absolutely makes sense. I would thus propose the following: by default Aedict will not export duplicite cards to AnkiDroid, for compatibility reasons. However I will introduce a special switch into the Settings which will disable/bypass this duplicity check completely, and will thus allow you to export anything. This is the easiest for me to implement; yet the disadvantage is that this may cause a deck to have multiple words. But I believe this should be acceptable for your use-case.

Owner

mvysny commented May 9, 2017

@dantedg sorry I was occupied elsewhere ... Anyways, your use-case absolutely makes sense. I would thus propose the following: by default Aedict will not export duplicite cards to AnkiDroid, for compatibility reasons. However I will introduce a special switch into the Settings which will disable/bypass this duplicity check completely, and will thus allow you to export anything. This is the easiest for me to implement; yet the disadvantage is that this may cause a deck to have multiple words. But I believe this should be acceptable for your use-case.

@dantedg

This comment has been minimized.

Show comment
Hide comment
@dantedg

dantedg May 9, 2017

@mvysny
That's more than acceptable. That's really great and I think that a lot of ppl will use this feature.
I'm sorry to give you extra work... I can't wait for the update :)

dantedg commented May 9, 2017

@mvysny
That's more than acceptable. That's really great and I think that a lot of ppl will use this feature.
I'm sorry to give you extra work... I can't wait for the update :)

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny May 9, 2017

Owner

Implemented in Aedict 3.39.36; to allow duplicite cards just head to Settings / Export / Allow Duplicates and check that.

Owner

mvysny commented May 9, 2017

Implemented in Aedict 3.39.36; to allow duplicite cards just head to Settings / Export / Allow Duplicates and check that.

@mvysny mvysny closed this May 9, 2017

@mvysny mvysny changed the title from Transfer from Aedict to AnkiDroid is not working anymore to AnkiDroid export: Allow duplicite cards to be exported May 9, 2017

@dantedg

This comment has been minimized.

Show comment
Hide comment
@dantedg

dantedg May 11, 2017

Do you know when this version of aedict will be released?

Thanks again :-)

dantedg commented May 11, 2017

Do you know when this version of aedict will be released?

Thanks again :-)

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny May 11, 2017

Owner

Sorry, can't promise anything. I'll try to fix other bugs and release this weekend hopefully.

Owner

mvysny commented May 11, 2017

Sorry, can't promise anything. I'll try to fix other bugs and release this weekend hopefully.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment