Feature Wiki

Information about planned and released features

Tabs

Revision of Logging in Test: Interface Overhaul

1 Initial Problem

Presently, the test logs certain interactions of participants and lecturers through a static function in a concrete form in the database. Administrators can choose the language used for logging. The logging is not systematic and lacks structure, it is thus very hard to talk about it and thus to figure out what is logged and what isn't.

We discussed the actual state of Logging in the ILIAS Test based on a paper (see below) written by Kergomard, Stephan [skergomard] at the Feature Workshop 14 SEP 2023. We agreed that a revision is needed. This feature request treats the interface overhaul. (FR for refactoring and migration).

This Feature Request supersedes:

This Feature Request depends on the Feature Request:

2 Conceptual Summary

To improve the usability of the test log, it is proposed to:

  • Show the same data in the "History"-tab of the Test-Object as is shown in the "Log Data Output"-tab under Administration > Repository and Objects > Test and Assessment > Log Data, but filtered for the current test. To allow the administrators of the test platform more control, it is proposed to add an additional permission "View History" to the Permissions of the Test-Object. To avoid any issues, nobody will have this right by default.
  • Completely remove the subtab Administration > Repository and Objects > Test and Assessment > Log Data > Log Data Administration.
  • Transfer the current representation to a "Data Table".
  • Add more columns to the table showing the table showing the log data. The table should then have the columns:
    • "Date and Time": Showing the Date and Time of the logged interaction in the current user's preferred format and current timezone.
    • "Test": Path to the test with linked titles including the title of the corresponding test, linked. Self-referential in the "History"-tab of the Test-Object. Never empty.
    • "Author": Showing "Last name, First name (username)" of the administrator having made a change. It can be empty.
    • "Participant": Showing "Last name, First name (username)" of the participant. It can be empty.
    • "IP": Showing the IP from which the access occurred, if the feature is enabled (see below). It can be empty.
    • "Question": Title of the corresponding question, linked. It can be empty.
    • "Log Entry Type": Human readable representation of the Type of Log Entry. It can be one of:
      • "Test Administration Interaction"
      • "Question Administration Interaction"
      • "Participant Interaction"
      • "Marking Interaction"
      • "Error"
    • "Interaction Type": Human readable representation of the Type of Interaction that was logged. For a current list, please take a look at the paper below.
  • Add "Show Additional Information" as "Single Action" to each table row. The "Additional Information" would then be opened in a modal. All replaceable placeholders (e.g. name of table fields in settings) will be shown in the language of the current user.
  • Add "Export as CSV" as well as "Delete" as "Standard Action" to the table. The Delete-Action would only be accessible in the Administration, but not in the "History"-tab of the test object.
  • Change the default view to simply show the most recent 50 entries.
  • Add a filter to the presentation above the "Data Table" to filter by all columns. The filter for the test itself should be implemented by using the repository picker as soon as available.
  • The table always shows 50 entries per page.

It is additionally suggested to add a setting to enable logging the IP-address from which the access occurs. The setting will be a checkbox under Administration > Repository and Objects > Test and Assessment > Log Data > Settings that is disabled by default. If enabled, the IP-field is enabled in the table described above. The IP-address would only be logged for Participant Interactions.

As a final change, it is proposed to disable logging of Participant Interaction when the Privacy of a test is set to "Results Without Names / Anonymous Test". Changing the setting in an existing test with results will lead to an interruptive modal warning that all Participant Interaction data will be dropped immediately and ask for confirmation.

Analysis of Current Situation and Detailed Proposal. The Document is in German.

3 User Interface Modifications

3.1 List of Affected Views

  • Administration > Repository and Objects > Test and Assessment > Log Data > Settings
  • Administration > Repository and Objects > Test and Assessment > Log Data > Log Data Output
  • Administration > Repository and Objects > Test and Assessment > Log Data > Log Data Administration (Removal)
  • Test-Object > History

3.2 User Interface Details

Shows a page that starts with an ILIAS filter allowing to filter for Date and Time, Test, IP, Participant, Question, Log Entry Type, and Interaction Type. Underneath their is a pagination view control allowing to step through the pages and finally a table with the same columns as shown in the filter, plus a column Author, plus a checkbox per row at the beginning, plus an action drop down per row at the end, showing the Actions Show Additional Information, Export as CSV, and Remove.
The new data table for the log information as shown in 'Administration' as well as in the tab 'History' of the test.

3.3 New User Interface Concepts

There are no new concepts.

3.4 Accessibility Implications

The move to UI-Components for all elements will improve accessibility and simplify fixing accessibility issues in the future.

4 Technical Information

Technical Information can be found in the linked paper above.

5 Privacy

If the IP is logged an addional datum will be captured. The implications are limited as the most protected information collected is the test score itself.

6 Security

This FR should improve security a tiny little bit, as interfaces become clearer and our code more understandable.

7 Contact

8 Funding

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

9 Discussion

Kergomard, Stephan [skergomard], 08 NOV 2023: One small additonal information; I would suggest to create a new column type "Breadcrumb" to the DataTable for the column "Test".

JourFixe, ILIAS [jourfixe], 13 NOV 2023 : We highly appreciate this suggestion and schedule the feature for ILIAS 10.

10 Implementation

Implemented as detailed above. Screenshots are undestinguishable from the ones above.

Test Cases

Test cases completed at {date} by {user}

  • {Test case number linked to Testrail} : {test case title}

Privacy

Information in privacy.md of component: updated on {date} by {user} | no change required

Approval

Approved at {date} by {user}.

Last edited: 29. Aug 2024, 14:19, Kergomard, Stephan [skergomard]