Feature Wiki

Information about planned and released features

Tabs

Revision of Logging in Test: Refactoring and Migration

1 Initial Problem

Currently, 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 interface overhaul).

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

The image shows the settings for logging in the administration. The Logging can be activated and a language for logging can be set. It also shows the additional subtabs 'Log Data Output' and 'Log Data Administration' underneath the tab 'Log Data'.
Current view of the log settings and data in the Administration of ILIAS
The image shows the table with the log entries in the Test-Object of ILIAS. The tab containing the entries is called "History". It always shows 50 entries of a table with three columns 'Data/Time', 'User', 'Log message'  [sic!].
Current view of the logs in the Test-Object of ILIAS

2 Conceptual Summary

We propose:

  • The introduction of separate logger-classes for different interactions (refactoring). There are going to be four types of "real" test interactions that are logged: TestAdministrationInteractions, TestQuestionAdministrationInteractions, TestParticipantInteractions, TestMarkingInteractions. Additionnally a TestError-Logger will be introduced to make it possible to gather all information from the ILIAS-Logging-System inside the test and thus to remove the need to look into the "normal" ILIAS-Log in case of errors.
  • The abstraction of the log entries themselves, i.e. we don't log a text in a language, but a machine-readable representation that we can then convert into a text for the reader. This assumes that logging is not for archiving, as it implies the need to keep e.g. user information on the system to be able to resolve the ID of a user to her username or given name. Who wants to archive the log for long-term keeping, needs to export it.

Current Logging-Information will not and cannot be migrated to the new format. We will offer a function to download old log data as CSV for one ILIAS version, before removing all traces of it from the system.

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

3 User Interface Modifications

3.1 List of Affected Views

There is a separate Feature Request detailing changes to the interface we would like to implement simultaniously to this refactoring. This refactoring directly leads to two changes:

  • The addition of a download button for the old logging entries under Administration > Repository and Objects > Test and Assessment > Log Data > Log Data Administration
  • The removal of the option to set the Reporting Language under Administration > Repository and Objects > Test and Assessment > Log Data > Settings

3.2 User Interface Details

Shows the Administration of the Test with the tab "Log Data" and the sub tab "Log Data Administration" selected. It shows a second entry in the Toolbar of the table to the left of the button "Delete Log Entries" labeled "Download Old Log Entries".
New button to download old log entries
Shows the settings screen for "Log Data" with "Reporting Language" crossed out.
Remove setting for reporting language

3.3 New User Interface Concepts

No new interface concepts are introduced.

3.4 Accessibility Implications

No accessibility implications are expected.

4 Technical Information

Technical Information can be found in the linked paper above.

5 Privacy

This change has privacy implications as some special data is collected here, but as in and of itself this feature will not change what data is collected, any changes will be discussed in the above mentioned FR here.

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.

  • Universität Hohenheim

9 Discussion

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

10 Implementation

Implemented as detailed.

Shows a page with a button labeled "Export Legacy Log Data". The table showing the logs has been moved to the UI-Table (not part of this request).
New Log Data Table with Export Old Logs Button in the Toolbar
Shows the settings tab after the overhaul. There is no more language setting.
New Settings Tab

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

Approved at {date} by {user}.

Approval

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