<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/118860/">https://git.reviewboard.kde.org/r/118860/</a>
     </td>
    </tr>
   </table>
   <br />




<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDE Edu.</div>
<div>By Andreas Xavier.</div>










<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
parley
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The patch adds new features as discussed with ingwa on IRC.

This patch adds session entry prioritizers.  The intent of the prioritizers are to select which block of n entries will be practiced first, when the user doesn't have time to practice all of the pending entries.  There are three variants: default, grab the first n entries; most invested, grab the n pending entries with the highest grade thereby helping the user maintain their level; most urgent, grab the n entries that are most overdue.

Urgency is defined as the ratio of time since the entry stopped blocking over the block time interval for its grade.  This means urgency starts at 0 at time t when the entry becomes available and increases linearly to 1 at time = t + blocking time.

The patch:
1. Added 2 options at Configure Practice -> General -> Sessions
     Session Mode: Fixed , Continuous
     Word Prioritization: Most Invested, Most Urgent
  note: SessionMode continuous is not activated because it was commented out in the previous code.
2. Added unit tests for all three prioritizers.
3. Added default, investment and urgency based prioritizers that pass the unit tests.
  note: I moved the preGrade blocking times out of a file-scope array of ints into Prefs::

</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ran new unittest for prioritizers.

Played multiple choice.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>CMakeLists.txt <span style="color: grey">(b741dc4)</span></li>

 <li>autotests/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>autotests/entryprioritizertest.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/CMakeLists.txt <span style="color: grey">(a2da378)</span></li>

 <li>src/configure-practice/configurepracticedialog.h <span style="color: grey">(ea1f7dd)</span></li>

 <li>src/configure-practice/configurepracticedialog.cpp <span style="color: grey">(0689dde)</span></li>

 <li>src/configure-practice/generalpracticeoptions.ui <span style="color: grey">(90a407f)</span></li>

 <li>src/practice/entryfilter.h <span style="color: grey">(7122ef6)</span></li>

 <li>src/practice/entryfilter.cpp <span style="color: grey">(614981f)</span></li>

 <li>src/practice/entryprioritizerbase.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/practice/entryprioritizerbase.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/practice/entryprioritizerinvestment.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/practice/entryprioritizerinvestment.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/practice/entryprioritizerurgency.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/practice/entryprioritizerurgency.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/practice/sessionmanagerbase.h <span style="color: grey">(257c450)</span></li>

 <li>src/practice/sessionmanagerbase.cpp <span style="color: grey">(b45e591)</span></li>

 <li>src/practice/sessionmanagerfixed.cpp <span style="color: grey">(5000f62)</span></li>

 <li>src/settings/parley.kcfg <span style="color: grey">(e0f48af)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/118860/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>




  </div>
 </body>
</html>