Anki/anki
Damien Elmes bb79b0e17c add new 'groups' concept, refactor deletions
Users who want to study small subsections at one time (eg, "lesson 14") are
currently best served by creating lots of little decks. This is because:
- selective study is a bit cumbersome to switch between
- the graphs and statitics are for the entire deck
- selective study can be slow on mobile devices - when the list of cards to
  hide/show is big, or when there are many due cards, performance can suffer
- scheduling can only be configured per deck

Groups are intended to address the above problems. All cards start off in the
same group, but they can have their group changed. Unlike tags, cards can only
be a member of a single group at once time. This allows us to divide the deck
up into a non-overlapping set of cards, which will make things like showing
due counts for a single category considerably cheaper. The user interface
might want to show something like a deck browser for decks that have more than
one group, showing due counts and allowing people to study each group
individually, or to study all at once.

Instead of storing the scheduling config in the deck or the model, we move the
scheduling into a separate config table, and link that to the groups table.
That way a user can have multiple groups that all share the same scheduling
information if they want.

And deletion tracking is now in a single table.
2011-04-28 09:23:28 +09:00
..
importing improve dynamic indices, implement new queue 2011-04-28 09:23:28 +09:00
template disable callable replacement which isn't supported on older pythons 2011-01-20 05:32:30 +09:00
__init__.py change deck loading call 2011-04-28 09:23:28 +09:00
cards.py add new 'groups' concept, refactor deletions 2011-04-28 09:23:28 +09:00
consts.py improve dynamic indices, implement new queue 2011-04-28 09:23:28 +09:00
cram.py start work on learn mode, change models, more 2011-04-28 09:23:28 +09:00
db.py initial changes to models, deck, etc 2011-04-28 09:23:28 +09:00
deck.py add new 'groups' concept, refactor deletions 2011-04-28 09:23:28 +09:00
errors.py remove self explanatory module docstrings; strip trailing whitespace 2011-04-28 09:21:07 +09:00
exporting.py moving scheduling code into separate file, some preliminary refactoring 2011-04-28 09:23:28 +09:00
facts.py add new 'groups' concept, refactor deletions 2011-04-28 09:23:28 +09:00
fonts.py remove self explanatory module docstrings; strip trailing whitespace 2011-04-28 09:21:07 +09:00
graphs.py store revlog time in integer MS 2011-04-28 09:23:28 +09:00
graves.py add new 'groups' concept, refactor deletions 2011-04-28 09:23:28 +09:00
groups.py add new 'groups' concept, refactor deletions 2011-04-28 09:23:28 +09:00
hooks.py new syncName handling 2010-11-23 23:12:34 +09:00
lang.py remove self explanatory module docstrings; strip trailing whitespace 2011-04-28 09:21:07 +09:00
latex.py remove self explanatory module docstrings; strip trailing whitespace 2011-04-28 09:21:07 +09:00
media.py add new 'groups' concept, refactor deletions 2011-04-28 09:23:28 +09:00
models.py add new 'groups' concept, refactor deletions 2011-04-28 09:23:28 +09:00
revlog.py store revlog time in integer MS 2011-04-28 09:23:28 +09:00
sched.py add new 'groups' concept, refactor deletions 2011-04-28 09:23:28 +09:00
sound.py remove self explanatory module docstrings; strip trailing whitespace 2011-04-28 09:21:07 +09:00
stats.py moving scheduling code into separate file, some preliminary refactoring 2011-04-28 09:23:28 +09:00
stdmodels.py place cards with corrupt/missing facts into new fact instead of deleting 2010-12-13 06:46:20 +09:00
sync.py rename deck.s to a more understable deck.db; keep s for compat 2011-04-28 09:21:07 +09:00
tags.py add new 'groups' concept, refactor deletions 2011-04-28 09:23:28 +09:00
upgrade.py add new 'groups' concept, refactor deletions 2011-04-28 09:23:28 +09:00
utils.py remove self explanatory module docstrings; strip trailing whitespace 2011-04-28 09:21:07 +09:00