"Import file" function QOL suggestions + FSRS

Goodafternoon all,

Please correct me if I’m ignorant. I couldn’t find anything about this topic so if it seems to have been discussed please do what is appropriate.

I am, like many others I suppose, a frequent user of the “Import file” option as it significantly decreases the time needed to add the needed cards to its corresponding deck.

I completely understand the anki’s goal and I extremely appreciate it, however I found the “import file” feature rather strenuous sometimes especially when used in large volumes. Such as when I am about to import a csv file to anki, I have keep manually having to change the target deck every time I want to upload a file, this happens for the note type too.

Some settings dedicated to this would be amazing and would drastically ease the use of this excellent feature. A setting with which you could set a default deck for this purpose would be great as the amount of scrolling I would have to do to reach my desired subdeck would also decrease drastically. Decks will of course still need to be selected manually but it will be much easier to use if one happens to have as much subdecks as I do. Maybe adding a field that isn’t mandatory or something along those lines which would function as a separate data field within the file wants to upload where one could also write the desired location of the card. This might even be a better solution but I have no idea how feasible this could be.

Moreover, I’d like to stress the importance of being able to individually cater the FSRS settings to each (sub)deck. Again if you are like me you don’t use Anki for one specific task such as learning words in a foreign tongue but also e.g. medical theory. Therefore as all anki cards aren’t made the same, the FRSR algorithm shouldn’t be either. I have read that this would create more problems than it solves but I would really be the icing on the cake. This is also the sole reason why I’m wary of switching to FSRS as I don’t want my car theory cards to reoccur in the same way may german words do for instance.

Creating a separate instance of FSRS might work, but take my suggestion with a grain of salt as I’m far from being informatically gifted.

I’d greatly receive feedback on my suggestions and I’d like to sincerely thank you all for letting me put my two cents in.

You don’t have to. Have a look at this: Text Files - Anki Manual (the deck part).

You can do that. Use presets: Deck Options - Anki Manual.

2 Likes

Thanks so much, everything already seems to be implemented :grin:.
For FSRS question, would I have to add the deck location using the headers in the box underneath the parameters?


There approximately and do you happen to know if I could also optimise the FSRS algorithm for a specific preset after making one?

Thank you for your reply

that reminds me, I think I noticed a month ago that the section of the manual that describes the file metadata is incomplete, missing one or two of the permitted options

Not sure what you’re asking for. You would create a preset and apply that preset to the deck. If you import, you use the file headers to specify the deck – which means, that your imported cards automatically get assigned to a specific deck with a specific separate preset.

The link I shared above helps you to achieve this.

Yes, you can. That is one of the most important features of deck presets.

3 Likes

If you know which ones are missing, you can add them in github:

Or you can share them here on the forum and I can add them.

1 Like

Right, thank you. I didn’t articulate it correctly. I was asking were I could explicitly tell the algorithm to optimise a specific deck and if it happend to be in the box underneath its parameters. Does the optimisation to a deck happen by default by the way, that if add a different deck preset the algorithm will change for that one specific (sub)deck?

Thanks for your answers, I will also close the thread if you can confirm this. :slightly_smiling_face:

You don’t optimize a deck, but rather a preset. In practise, if you assign one deck per preset, then you essentially “optimize per deck”.

To optimize a specifc preset:

  1. select the right preset in the drop down menu at the top (where it says “Druits Woordenlijsten” in your picture).
  2. Press the optimize button.

If you wish to optimize all presets, use Optimize all presets instead.

Optimizations aren’t done by default, you’d have to regularily open the deck options and optimize (as a rule of thumb: optimize every month).

If you add / create a new preset, then no optimization happens.

2 Likes

I’ll do it, but need a little advice as I haven’t contributed to an open source repo before. This will be a good introduction.

I did read anki-manual/CONTRIBUTING.md at main · ankitects/anki-manual · GitHub

I work with github regularly, but the repositories aren’t shared. Is this the correct workflow:

  1. clone the repo locally
  2. make a new branch for the fix
  3. make the fix
  4. check it by building as described in CONTRIBUTING.md
  5. push my branch to remote
  6. create a pull request for moving my fix to the main branch

or is it some other workflow like I clone the repo remotely on my own GitHub account and then in the pull request I reference my remote repo?

1 Like

Option 1

I usually do the following:

  1. Fork anki repo, so that I have the exact copy of the repo in my github account.
  2. Create a new branch.
  3. Clone my new branch onto my machine.
  4. Make the change.
  5. Test the change.
  6. Push to local changes to the branch in my fork on github.
  7. Then open a PR.

For 7: If you go to your fork on github and select the right branch, it should show a button saying something like “Your branch is 2 commits ahead of ankitects/anki-manual.” and a “Contribute” button. If you hit this button, a PR in ankis repo is automatically created with the contents of your fork and branch.

Option 2

Or: If the changes you make are fairly trivial – like correcting typos – you could also just

  1. Go to ankis repo.
  2. Open the right file.
  3. Press the pen icon.
  4. Make your changes.
  5. Hit the commit button.

Let’s try to stay away from that. If it’s possible for you to directly edit the repo main (is it?) – I don’t think it is supposed to be.

Well, github forks the anki repo under the hood, so that the contributor doesn’t have to do that manually. It’s less work for the contributor and thus ideal for very small changes.

Writing directly to ankitects repos is only possible if you’re a member (or a collaborator I think).

2 Likes

Got it! That makes sense, thanks!

1 Like