<table><tr><td style="">TallFurryMan created this revision.<br />TallFurryMan added reviewers: mutlaqja, wreissenberger.<br />Herald added a project: KDE Edu.<br />Herald added a subscriber: kde-edu.<br />TallFurryMan requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D16151">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Moved "Remember Job Progress" to Scheduler option pane, add "Always Reset Sequence When Starting".<br />
Displayed completed/total count of captures in sequence table.<br />
Fixed a few side-effect issues with ignore progress in Capture module.</p>

<p>This differential supports the following use cases:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Control the progress of scheduler jobs based on capture storage</li>
<li class="remarkup-list-item">Reset the capture count of a single sequence job</li>
<li class="remarkup-list-item">Reset the capture count of all sequence jobs</li>
</ul>

<p>Those use cases are described at <a href="https://github.com/TallFurryMan/kstars/wiki" class="remarkup-link" target="_blank" rel="noreferrer">https://github.com/TallFurryMan/kstars/wiki</a> (WIP at the time of this differential).</p>

<p>The option "Remember Job Progress" is now a concept limited to the Scheduler.<br />
Capture module now completely ignores disk storage, except for assigning a number as suffix to the capture file.<br />
Capture does execute the sequence requested, as it is described, and nothing else.<br />
The option "Always Reset Sequence When Starting" controls whether all counts should be reset to zero when pressing button "Start", or left as they were.<br />
Independently, the end-user can manually reset all counts by clicking the "Reset" button, or a single count by editing the relevant job and clicking the "Reset" button.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Open the Ekos options, Capture pane, check that "Always Reset Sequence When Starting" is disabled.</p>

<p>When using the Capture module alone, starting with "Always Reset Sequence When Starting" disabled:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Set a few capture settings, click "Preview", check that the preview is proper.</li>
<li class="remarkup-list-item">Add the capture settings as a job, check that a job is created, and that it displays 0/N as count in the sequence table.</li>
<li class="remarkup-list-item">Click "Preview", check that preview is proper, and that count doesn't change in the sequence table.</li>
<li class="remarkup-list-item">Click "Start" to run the sequence, check that the sequence executes, and when complete, displays N/N as count.</li>
<li class="remarkup-list-item">Click "Start" again, check that sequence does not execute again.</li>
<li class="remarkup-list-item">Click "Reset", acknowledge the pop-up, check that count now displays 0/N, whatever captures are available on disk.</li>
<li class="remarkup-list-item">Click "Start" to run the sequence, check that the sequence executes, and when complete, displays N/N as count.</li>
<li class="remarkup-list-item">Click "+" to add a few more sequence jobs from the same or different capture settings, check that new jobs display 0/N, and that the existing one remains complete at N/N.</li>
<li class="remarkup-list-item">Click "Start" to run the sequence, check that the completed job doesn't execute, that the first new one does, and click "Stop" in the middle of the process, check job switches to aborted.</li>
<li class="remarkup-list-item">Click "Start" again, check that the first sequence missing captures resumes from where it left, and click "Stop" again in the middle of the process, check job switches to aborted.</li>
<li class="remarkup-list-item">Choose an aborted job, double-click on one of the sequence table lines to edit the corresponding job, then click "Reset", check that this job's count is reset to 0/N.</li>
<li class="remarkup-list-item">Click "Start" again, check that the first sequence missing captures resumes properly.</li>
<li class="remarkup-list-item">Open the Ekos Options, enable "Always Reset Sequence When Starting" and save settings.</li>
<li class="remarkup-list-item">Click "Start" again, check that all counts are reset to 0/N immediately.</li>
<li class="remarkup-list-item">Abort, reset, restart as wanted, check that all counts are always reset to 0/N when starting.</li>
</ul>

<p>When using the Scheduler module, starting with "Always Reset Sequence When Starting" and "Remember Job Progress" disabled. For each test vector:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Load test vector, remove all captures that are expected, check that Scheduler does execute all captures as planned by the test schedule and its sequences.</li>
<li class="remarkup-list-item">Check that the count of captures in storage match the expected sequence (considering there were no errors nor aborts during the execution).</li>
<li class="remarkup-list-item">Enable "Remember Job Progress" in the Ekos options, click "Evaluate Jobs", check that all schedule jobs are marked complete when evaluated.</li>
<li class="remarkup-list-item">Remove all captures that are expected, click "Evaluate Jobs", check that all schedule jobs are marked incomplete and ready to run.</li>
<li class="remarkup-list-item">Enable "Always Reset Sequence When Starting" in the Ekos options, execute the sequence and check that the behavior does not change.</li>
</ul>

<p>Bug: when using the Scheduler, the capture count provided by the Scheduler is visible in the Capture module when the sequence job is executed, not when the Capture is started.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R321 KStars</div></div></div><br /><div><strong>BRANCH</strong><div><div>improve__move_remember_job_progress_option (branched from master)</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D16151">https://phabricator.kde.org/D16151</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>kstars/ekos/capture/capture.cpp<br />
kstars/ekos/capture/sequencejob.cpp<br />
kstars/ekos/capture/sequencejob.h<br />
kstars/ekos/opsekos.ui<br />
kstars/ekos/scheduler/scheduler.cpp<br />
kstars/kstars.kcfg</div></div></div><br /><div><strong>To: </strong>TallFurryMan, mutlaqja, wreissenberger<br /><strong>Cc: </strong>kde-edu, narvaez, apol<br /></div>