How can I restore my priority queue?
From: Mariusz
Country: Poland
Sent: Jan 29, 2019
Subject: disaster!
Question:
I opened too many tabs in my browser and my computer froze. When this happened I was importing articles to SuperMemo. I had to reset my computer. When I returned, my collection had no priority queue. All items says Element missing from the priority queue and Setting the maximum priority. When I wanted to restore my backup, I realized it is over 1 year old (I was sure I have newer backup but I could not find them). My priority queue is absolutely necessary for my work. My collection is half-useless. All items have very good priority. I always pay lots of time and attention to priorities. Can I somehow restore the priority queue from other data (e.g. difficulty, how many repetitions, other?)? Repair collection is useless. It sets priority by order in collection. This is not useful at all. I am ready to pay for every minute of your time if you can help. This is life or death for me. I apologize for the tone of panic, I was sure I have newer backups. I am totally lost now.
Hints
- at this moment priority queue can only be repaired with Repair collection
- priority queue is one of few structures kept in memory. when computers crash while writing from memory to the disk, the queue may be incomplete (or even empty)
- we have a simple tool for the job on the tasklist for SuperMemo 19 (see bottom for explanation); as this is a low-risk procedure, the tools has just been re-scheduled for one of SuperMemo 18 updates
- please stand by for more information
Answer:
Restoring priority queue
Repair collection fills up the priority of missing elements by putting them at the front of the priority queue. This way they can quickly be re-prioritized by showing up in the learning process. However, for a large number of missing elements, this can ruin the learning experience. This is why one of the tools for the future versions would restore the priority queue from repetition history. As you can see in repetition history dialog, all repetitions have their priority stored. This way the priority queue could be recovered from the most recent record in repetition history. This recovery tool is pretty simple to implement and we might use this opportunity to test it on a real life case. For details you will probably need to get in touch over e-mail. you will not need to upload your collection. Needless to say, we do not collect payment for this kind of service, esp. that it is supposed to serve more users in the future.
It is important to note that priority queue restoration would not be part of Repair collection because it is not a perfect restoration due to:
- priorities set without executed repetition would be ignored (priority from the time of the last repetition would be used)
- old repetitions would carry higher priorities due to the natural priority decay overtime