Feature Wiki

Information about planned and released features

Tabs

Test: Revision of the Participant Tab using the new data table

1 Initial Problem

This Feature Request was previously named: "Assign individual writing time extension BEFORE the students starts the ILIAS Test" and was initially written by Hackfort, Marvin [m.hackfort]. After the discussion in the UI Clinic, we have decided to rework the whole Participant-Tab in the ILIAS Test.

Initial Problem

While we are preparing all of our exams in ILIAS we are facing the problem of not being able to give individual writing times to students before they are actually starting a test. We have to be present at the time of the test to be able to give them additional time. This presents the problem of students not understanding that they don't actually see their additional time at the timer, before they refresh their page. Also this is different to the learning object excercise. There it's possible to give individual writing times before students are starting to write the exam.

The second problem is, that the additional amount given to all users is not added to the already given additional time to a specific users. Sometimes there are technical problems during a test, so it should be possible to add additional amount of time to all users without deleting the already given time to students. 

Conceptual Summary

At the moment we are activating "only selected users" in the settings of the test object, to be able to then add additional time in the tab "Dashboard" -> "Additional time" after they start their test. We would like to modificate this page "Additional time" to be able to give the students additional time before they start their test. For this to work, all users that are added to the test should be shown on the page "Additional time" before the test has started.

To solve the second problem, the additional time given to all users should not be a set amount of time, but added to the already given additional time. For example if the user X has been given 10 additional minutes and then additional time of 20 minutes is given to all users, the additional time of the user X should be 30 minutes. Instead it is now set to 20 minutes. 

Currently, the Participant Tab in the ILIAS Test uses an old table implementation and lacks of some features. E.g. the opportunity to assign more time to before starting the test to some participants or add a range of IPs. Also, some of the shown information is not clear in their meaning. Another pain is the use of a subtab for adding more time, in cases of exams (Limit to one test attempt.)

Screenshot ILIAS 9 - Participant Tab Test
Screenshot ILIAS 9 - Participant Tab Test
Screenshot ILIAS 9 - Participant Tab Test - Subtab Extra Time
Screenshot ILIAS 9 - Participant Tab Test - Subtab Extra Time
Screenshot ILIAS 9 - Participant Tab Test - Subtab Extra Time - Screen Add extra Time
Screenshot ILIAS 9 - Participant Tab Test - Subtab Extra Time - Screen Add extra Time
Screenshot ILIAS 9 - Participant Tab Test - Subtab Extra Time - Screen Add extra Time - Dropdown Participants
Screenshot ILIAS 9 - Participant Tab Test - Subtab Extra Time - Screen Add extra Time - Dropdown Participants

2 Conceptual Summary

We use the UI Data Table to revise the participant tab. We abandon the subtabs "Manually Selected Participants" and "Extra Time" and supplement all information to the data table. 

The revised tab will always show a user search field to add participants manually, not only, if the setting "Select Participants Manually" is enabled. If a participant is manually added before the start of a test attempt, it will be possible to add Extra-time already before the test is started by the participant. This was not possible in the past. This setting is no longer tied to the number of attempts. In that way, it is also possible to add IP Ranges to single participants, before the test starts.

It is to decide, if the button "Finish all Test Attempts" should be remaining or it is obsolete through the table bulk action "Finish Tests".

To add extra time to one participant, the test administrator clicks on the action menu in the data table row. There are also the actions to add an IP range and to finish the test of this participant. 

As currently, the test administrator will be asked if the running test attempt should be really finished. This question should also be shown in an interruptive modal.  As if today, it is not possible to finish the test of all or selected participants, if "Max. Number of Attempts" is set to "1" and the duration setting is used.  Likewise, the extra time settings and the IP range setting, will be shown as interruptive modals.
These settings as well are available as bulk actions for some selected participants and all participants in the table.

The extra time settings will be summed up, so if the duration is set to 90 minutes and in a first action, 10 minutes will be added as extra time to a participant A and later 5 minutes to all participants, participant A will have 90 + 10 + 5 minutes = 105 minutes and all other participants will have 95 minutes to finish the test. The summed up extra time, the total duration and the remaining duration of a participant will be shown in an additional column.

The table shows by standard the following columns:

  • Name
  • Login
  • Test started at
  • Status of Attempt
  • Last Access

As additional displayable columns, the table can show:

  • Client IP Range
  • Total Attempts
  • Extra time
  • Total duration
  • Remaining duration

Status of Attempt, shows the status of a participants' attempt:

  • Empty (if a participant is pre-entered at the participant tab)   --- (Or: Not started yet)
  • Running
  • Finished by participant
  • Finished by administrator
  • Finished by duration
  • Finished by cronjob

If 'IP Range' or 'Extra-Time' are used, these columns will be shown from the system. Extra-Time only shows the sum of added extra times. It is not possible to minus already added extra time. IP Ranges are added in the same way for selected participants as described in the Feature Request Test: Add IP Ranges as Access Constraint to Test Settings for whole tests.

Adding extra-time to participants will be logged in the test logging. The "Name" column is mandatory, all other columns could be disabled with the data table settings.

Filter

The filter is off by default. If activated, the filter has the following options:

  • Name --> free-text field
  • Login -->  free-text field
  • IP Range --> free-text field
  • Solution --> Dropdown
    • -
    • Participants without solutions
    • Participants with solutions
  • Extra Time --> Dropdown
    • -
    • Yes
    • No
  • Status of Attempt
    • -
    • Running
    • Finished by participant
    • Finished by administrator
    • Finished by duration
    • Finished by cronjob

Solution is available in the current implementation and therefore again added. We could discuss if this is needed.

Saving of settings or changes must be indicated a success message box above the table. 

3 User Interface Modifications

3.1 List of Affected Views

ilTestParticipantsGUI

3.2 User Interface Details

User Search will always be shown:

Mockup User Search Participant Tab
Mockup User Search Participant Tab

User Search with Button "Finish all Test Attempts":

Mockup User Search with "Finish all Test Attempts" (needs decision)
Mockup User Search with "Finish all Test Attempts" (needs decision)

Please note, that these mockups are not accurate anymore, since the JF has decided, how to go with these legacy forms & dropdowns. The implementation would be like described in the FR Removing Legacy-UI » Toolbar » ‘Label‘ + ‘Input‘ + ‘Legacy Dropdown‘ + ‘Submit‘. I'm not removing the mockups, lest you wonder, because I was only made aware of them by Seiler, Yvonne [yvseiler] last week. I had forgotten about the JF decision.

Mockup "Add Users" from the linked Feature Request.
Mockup "Add Users" from the linked Feature Request.

Data Table:

Mockup Participants Table with activated single user action menu.
Mockup Participants Table

Table Bulk Action has the same entries, as the actions for single participants: Extra Time, IP Range and Finish Test.

Mockup Bulk Actions
Mockup Bulk Actions

Filter

Mockup Filter
Mockup Filter

Interruptive Modals:

Modal 'Finish Test Attempt'

Mockup Finish Test Attempt for single participant
Mockup Finish Test Attempt for single participant

Modal 'Finish Test Attempts'

Mockup Finish Test Attempts for all participants
Mockup Finish Test Attempts for all participants

Modal 'Finish Test Attempts' for some participants

Mockup Finish Test Attempts for some selected participants
Mockup Finish Test Attempts for some selected participants

Roundtrip Modals:

Extra Time for selected Participants (different time)

Mockup Modal "Add extra time for selected participant with different additional times"
Mockup Modal "Add extra time for selected participant with different additional times"

Extra Time for selected Participants (same time)

Mockup Modal "Add extra time for selected participant with same additional times"
Mockup Modal "Add extra time for selected participant with same additional times"

Extra Time for one Participant:

Mockup Modal "Add extra time for one participant"
Mockup Modal "Add extra time for one participant"

Extra Time for all Participants

Mockup Modal "Add extra time for all participants"
Mockup Modal "Add extra time for all participants"

Roundtrip Modals:

Mockup Modal IP Range "Change IP Range for all participants"
Mockup Modal IP Range "Change IP Range for all participants"
Mockup Modal IP Range "Change IP Range for selected participants"
Mockup Modal IP Range "Change IP Range for selected participants"
Mockup Modal IP Range "Change IP Range for one participant"
Mockup Modal IP Range "Change IP Range for one participant"

Note from the UX-Experts: Forms in modals should not be marked with the 'Required-asterisk', even if the field is necessary. If one has forgotten the input, the modal is not saved and an error message is shown within the modal.

3.3 New User Interface Concepts

No new interface elements

3.4 Accessibility Implications

We only use standard kitchen sink elements; therefore, we see no new implications.

4 Technical Information

{ The maintainer has to provide necessary technical information, e.g. dependencies on other ILIAS components, necessary modifications in general services/architecture, potential security or performance issues. }

5 Privacy

We do not see any implications with this feature. No new data is selected.

6 Security

We do not see any implications with this feature.

7 Contact

8 Funding

If you are interest in funding this feature, please add your name and institution to this list.

9 Discussion

UI Clinic, 07 NOV 2023: For this request there were selected questions that were discussed in the UI Clinic of 07.11.2023 (see minutes). Denis Strassner will adapt the feature request to the points discussed. Thank you for the lively and productive discussion.

JourFixe, ILIAS [jourfixe], 15 APR 2024: We highly appreciate this suggestion and schedule the feature for ILIAS 10. The table settings should be stored in the database to persist over the cookie lifetime. We prefer to present "Not started yet" for a user that hasn't yet started the test. The button "Finish All Test Attempts" will be removed with the new implementation.

10 Implementation

Implemented as described above but the changes due to Test: Revise Test Tabs have changed the looked contrary to the mookups above.

Screenshot Participants Tab in Test Object ILIAS 10
Screenshot Participants Tab in Test Object ILIAS 10

Test Cases

Test cases completed at 2024-10-25 by Strassner, Denis [dstrassner]

  • C249 :  Teilnahmebeschränkung hinzufügen  (adapted).
  • C361 :  Benutzer als Teilnehmer entfernen   (adapted).
  • C359 :  Zugriff auf bestimmte Client IP beschränken  (adapted).
  • C381 : Zeitverlängerung für Teilnehmer (adapted).
  • C50044 : Unbeendeten Testdurchlauf eines Teilnehmers beenden (adapted).
  • C171: Liste der Teilnehmerdaten anders sortieren (adapted).
  • C166: Ergebnisübersicht/Antworten/Details von Teilnehmern anzeigen lassen (adapted).
  • C167: Ergebnisse eines einzelnen Teilnehmers anzeigen lassen (adapted).
  • C169: Testdaten eines Teilnehmers löschen (adapted).
  • C170: Testdaten aller Teilnehmer löschen (adapted).
  • C6575: Zeitzugabe während der Testdurchführung  (adapted).
  • C63519: Alle Testdurchläufe während der Durchführung beenden (adapted).
  • C63520: Einen bestimmten Testdurchlauf während der Durchführung beenden (adapted).
  • C24648: Untergeordnete Teilnehmer verwalten: Durchläufe Schließen (adapted).

Approval

Approved at 2024-10-25 by Strassner, Denis [dstrassner].

Last edited: 8. Nov 2024, 10:50, Strassner, Denis [dstrassner]