ankitects / ankitects/anki

Import/Export todos

Open
#1,895 15 comments 0 reactions 0 assignees View on GitHub
import/export
Dominant language
Rust
Stars
31.2k
Forks
3.2k
Avg merge
2d 8h
Merged PRs (30d)
72

Description

With basically all of the old code ported to Rust, it's time to turn to new features and improvements. This issues is supposed to track such todos, which have previously been scattered across various PRs and issues.
Some discussion is on #1018 and this list will be updated according to the progression over there.

General
---

- [ ] Custom exporters/importers.

Apkg
---

- [x] Check invalid ids on import (ids 1000x too large).
- [ ] Notetype remapping on import.
- [ ] Private fields.
- [ ] Private tags.
- [x] Update with older mtime. (https://github.com/ankitects/anki/pull/2612)
- [ ] Generate cards on import (#1836).
- [x] Populate media DB on import (#1831).
- [x] Export filtered decks (without conversion to regular ones). (https://github.com/ankitects/anki/pull/1743#discussion_r840255927)
- [ ] Warn about extraneous exported cards and decks due to scattered siblings.
- [x] Allow importing without scheduling, if file contains some. (https://github.com/ankitects/anki/pull/2612)

JSON
---

More notes on https://github.com/ankitects/anki/pull/1850#issuecomment-1122156181.
- [ ] Validation checks.
- [ ] Error handling. (More specific errors, don't abort if failure results from target collection state, ...)
- [ ] Support importing new cards (https://github.com/ankitects/anki/pull/1850/files#r869037548.
- [ ] Port SuperMemo and Pauker importers to JSON, or figure out if we can map the legacy NoteImporter code to JSON automatically (or semi-automatically)
- [ ] Extract Mnemosyne, SuperMemo and Pauker importers into separate add-ons

CSV
---

- [x] Preview for first few records.
- [x] Optionally export notetype and deck columns. (Let user decide if by name or id?)
- [x] Handle failures in `GetCsvMetadata`.
- [x] Support note id/guid column. (just guid)
- [ ] Report unmapped columns.
- [x] Maybe add tooltips to import options. (#2655)
- [x] Restrict duplicate check to current deck (https://github.com/ankitects/anki/pull/2372)

From https://forums.ankiweb.net/t/import-problems-suggestions/5856. Might also apply to JSON.
- [ ] Batch importing.
- [ ] Import media files from same folder.
- [ ] Import notetypes.
- [x] Create decks on import.

Contributor guide

Open the contributing guide

Research direction

This is a broad tracking issue covering import/export work across Apkg, JSON, and CSV, with related discussion in #1018 and the linked issues and pull requests. Start by choosing one unchecked item and reading its referenced discussion; done means the selected item is implemented and its checklist status is updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.