Audit-Trail
Der Audit-Trail erlaubt es, jegliche Änderung an ausgewählten Datenbanktabellen nachzuvollziehen. Diese können entweder in Protokolldateien oder in speziellen Datenbanktabellen aufgezeichnet werden. Das System wird
- den verwendeten Benutzernamen,
- die Art der Änderung (Neueintrag, Änderung, Löschung),
- Datum und Uhrzeit,
- den betroffenen Datensatz (Tabelle und Primärschlüssel),
- der vorherigen (optional) und
- ggf. den neuen Wert eines Datenfelds

Durch den Systemadministrator können die folgenden Parameter in der Konfigurationsdatei gesetzt werden:
- audit_trail_location: entweder
- none,
- database (Protokollierung in den Datenbanktabellen "sys_audit_trail_entry" und "sys_audit_trail_value_change") oder
- file (Speichern von Protokolldateien im durch audit_trail_folder gesetzen Ordner, mit erreichen von audit_trail_max_file_size Byte wird eine Folgedatei begonnen)
- audit_trail_entities: kommagetrennte Liste von Entity-Klassennamen wie "ElnReaction" or "AnaData", für die Änderungen protokolliert werden
- audit_trail_log_operations: eine kommagetrennte Liste von Aktionen, die protokolliert werden solen
- insert (Hinzufügen neuer Einträge zur Datenbanktabelle),
- update (Ändern bestehender Einträge),
- delete (Löschen von Einträgen),
- update_config (Konfigurationsänderungen des Audit-Trail-Moduls),
- start_txn (Beginn einer Datenbanktransaktion, gekennzeichnet durch eine ID),
- commit (erfolgreiches Speichern einer Transaktion der gegebenen ID),
- rollback (die Änderungen der Transaktion mit der gegebenen ID wurden nicht in der Datenbank gespeichert),
- audit_trail_log_old_values: aktiviert das Speichern der alten Werte zusätzlich zu den neuen (mehr Datenvolumen, höhere Sicherheit)
- audit_trail_truncate_values: Textlänge, aber der Werte abgeschnitten werden (höhere Werte verbessern das Sicherheitsniveau, um den Preis eines höheren Datenvolumens)
- audit_trail_hash_algorithm: der Algorithmus zur Generierung von Hashwerten für Einträge, Voraussetzung für die Nutzung digitaler Signaturen
- audit_trail_sign_algorithm: der Algorithmus zur Signierung der Hashwerte
- audit_trail_private_key_file: die Datei mit dem zur Signierung der Protokolleinträge zu nutzenden privaten Schlüssel, als serialsiertes java.security.PrivateKey-Objekt
- audit_trail_public_key_file: die Datei mit dem zur Prüfung der Protokolleinträge zu nutzenden öffentlichen Schlüssel, als serialsiertes java.security.PublicKey-Objekt
Audit Trail
The audit trail functionality allows to track any changes made to selected database tables. These changes can be documented either in protocol files or in specific database tables. The system will document
- which username was used to make the change,
- the type of change (inserting new entries, changing, deleting),
- the date and time,
- the affected dataset (table and primary key),
- the overwritten value (optional) and
- the new field value (if applies).

The following configuration options can be set in the configuration file by your system administrator:
- audit_trail_location: either
- none,
- database (save log to tables "sys_audit_trail_entry" and "sys_audit_trail_value_change") or
- file (save log as text files in the directory as defined by audit_trail_folder; if the size audit_trail_max_file_size bytes is exceeded, a new file will be started)
- audit_trail_entities: comma-separated list of entity class names, like "ElnReaction" or "AnaData", for which changes will be logged
- audit_trail_log_operations: operations to log, a comma-separated list of
- insert (save new entries to the database),
- update (change exiting entries),
- delete (delete database table entries),
- update_config (changes to the configuration of the audit trail module),
- start_txn (starts of database transactions, with a transaction ID),
- commit (a successful commit of a database transaction, with transaction ID),
- rollback (changes associated with the given transaction ID were not saved to the database),
- audit_trail_log_old_values: whether to log old values should be logged in addition to the new ones (increased data volume, more security)
- audit_trail_truncate_values: text length after which values will be truncated (higher values increase the security level, at the cost of an increased data volume)
- audit_trail_hash_algorithm: the hash algorithm to use for entries, required for digital signatures
- audit_trail_sign_algorithm: the signature algorithm to sign the hash values
- audit_trail_private_key_file: the file containing the private key to use for signing hash values of audit trail entries, as serialized java.security.PrivateKey object,
- audit_trail_public_key_file: the file containing the public key to use for signature verification of audit trail entries, as serialized java.security.PublicKey object,