Default card templates are deleteable - They shouldn't!

In anki it is possible to delete default card templates (note types).
Templates like:
Basic
Basic (and reversed card)
Basic (optional reversed card)
etc.

If a user can delete them, he will loose their configuration.
And when he want’s to have them back, he won’t know how to do that.
That’s the reason why the card templates (types) should be immutable.
If a user want’s to create his own card template, he should be able to copy the immutable default types and edit the copy, but not the original default types.

So you should protect them and make them immutable.

You should also NOT index them by name, because when you do that, you will have for every language a different name of the same default type.
This get’s annoying when someone is downloading card decks from other people, who have written them in other languages than his own mother language.

For example i do now have the default card template types “basic” and “einfach” which is the German word for the “basic” type.
And that happens because you index them by name.

The index or the primary key should be universal and the different languages belong in a separate data field.
That way when someone downloads foreign cards, he will still have the correct name for the card template in his native language and not a collection of the same type in different langues.

When creating new note types, the user can always choose “Add: Basic”, to add back the original note types, even if he deleted it. If you wanna merge different note types, you can select the cards of the note type you don’t want anymore, choose “Change Note Type”, and delete the duplicate note type with afterwards.

2 Likes

And when the Note Types are different, you will loose data. Probably without noticing it.

And one more thing.
If you have imported new decks of different languages you will also have field names for every language. It will clutter your field menu, but the field do the same thing.
This should be changed too.
Languages should never be the primary key for a data.