Skip to content

Test 45782: Prevent manual scoring of unfinished attempts - #11509

Open
matheuszych wants to merge 2 commits into
ILIAS-eLearning:release_10from
matheuszych:ta/45782
Open

Test 45782: Prevent manual scoring of unfinished attempts#11509
matheuszych wants to merge 2 commits into
ILIAS-eLearning:release_10from
matheuszych:ta/45782

Conversation

@matheuszych

Copy link
Copy Markdown
Contributor

See: https://mantis.ilias.de/view.php?id=45782

Manual scoring by question allowed opening the scoring UI for attempts that were still in progress. ScoringByQuestionTableBinder now skips unfinished attempts when composing table rows. TestScoringByQuestionGUI verifies the attempt is finished via getAttemptOverviewFor before calling getAnswerDetail; otherwise an exception is thrown.

/cc @thojou

@matheuszych matheuszych changed the title Test: Prevent manual scoring of unfinished attempts Test 45782: Prevent manual scoring of unfinished attempts Apr 30, 2026
@dsstrassner dsstrassner added bugfix php Pull requests that update Php code labels Apr 30, 2026
@dsstrassner

Copy link
Copy Markdown
Contributor

@kergomard please review!

@jweber-unibe

Copy link
Copy Markdown

Possibly I am just mistaken – but I fail to see the direct connection of this PR to the mentioned issue, implied by the Mantis link. 🤔
The issue report in itself has nothing to do with manual scoring but deals with the status display in the 'Participants' table.

(... just in case this remark has any relevance at all 😉)

@kergomard kergomard left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much for the PR @matheuszych

First: I would echo the comment from @jweber-unibe : Could you tell me what problem you are trying to solve and where the corresponding behavior is specified? A link to an issue where @dsstrassner agreed that this is the right way to go, would completely suffice.

Then:

  • This looks potentially unnecessarily expensive we somehow retrieve a whole dataset to get one single small information and simply rely on the fact that it will be cached. If we think we need this information: Shouldn't it be available in a dataset we will really need at these points?
  • This will look completely different for ILIAS 11, though, right? Could you please provide a PR for ILIAS 11. If this PR can be made more elegant, we can stick to the solution here for ILIAS 10 as we would have an immediate exit ramp.

Thank you very much again and best,
@kergomard

See: https://mantis.ilias.de/view.php?id=45782

Manual scoring by question allowed opening the scoring UI for attempts that were still in progress. `ScoringByQuestionTableBinder` now skips unfinished attempts when composing table rows. `TestScoringByQuestionGUI` verifies the attempt is finished via `getAttemptOverviewFor` before calling `getAnswerDetail`; otherwise an exception is thrown.
See: https://mantis.ilias.de/view.php?id=45782

The test participants listing always summarized attempt overview data for scored attempts only. `ParticipantTable` now renders a UI mode control (scored attempts vs last attempts), keeps the choice in the `view_mode` request parameter via `RequestDataCollector::getViewMode()`, and passes `ilCtrl` into the table for proper link targets. `Results\Data\Factory::addAttemptOverviewInformationToParticipants` accepts a flag to target the last started pass when building overviews. English and German assessment language entries cover the new labels.
@dsstrassner

Copy link
Copy Markdown
Contributor

@kergomard & @matheuszych I think @matheuszych should report about this in the TechSquad.

@jweber-unibe

Copy link
Copy Markdown

Relating to my comment from above (Apr 30) ...

Possibly I am just mistaken – but I fail to see the direct connection of this PR to the mentioned issue, implied by the Mantis link. 🤔 The issue report in itself has nothing to do with manual scoring but deals with the status display in the 'Participants' table.

→ Possibly this PR was rather meant to point to https://mantis.ilias.de/view.php?id=44871?!
The PR's description fits much better there ...

(Maybe(?!) also of interest in this context: https://mantis.ilias.de/view.php?id=48278 / #12028)

@matheuszych

Copy link
Copy Markdown
Contributor Author

Hello @jweber-unibe and @kergomard,

First of all, thank you for your patience! I believe I now know the reason behind these changes.

Before going into that, I would like to point out that this is not related to Mantis issue 44871, as the timelines do not match. This Mantis issue had already been closed long before I attempted to fix this issue.

While going through our internal notes, I came across a comment of my own that provides much of the explanation:

... This fix is technically not really for that Mantis issue either. ...

However, this does not mean that the PR should be abandoned, as it consists of two separate commits:

  • Test: Prevent manual scoring of unfinished attempts
  • Test: Add participant table attempt view modes

The second commit is directly related to Stephan’s comment in Mantis issue 45782 and is therefore still relevant in my opinion.

Although the first commit is not directly related to this issue, I would still like it to be considered as a possible change to ILIAS. In my opinion, grading a test pass should not be possible before the test taker has fully completed it, as they can still change their answers. Consequently, the grading may not be accurate. Please correct me if I am mistaken. Otherwise, I would be happy to open a separate Mantis report and move this commit to a separate PR.

I should have provided this explanation from the beginning to avoid any confusion. I apologize for that.

My next step will probably be to extract the first commit from this PR.

Best regards,
@mzych

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix php Pull requests that update Php code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants