V1.0.2__V1.0.2-RELEASE-Auditlog.sqlt_plugin_datatransfer_audit — 13 columnsDesign: records every file operation (upload, download, rename, delete) on a data transfer area. Distinguishes between internal (by_user_fk → t_pf_user) and external (by_external_user VARCHAR(4000) — stores free-text name/email/IP) users.
pk | INTEGER PK | Primary key |
timestamp | TIMESTAMP | When the event occurred |
area_fk | INTEGER (indexed) | FK → t_plugin_datatransfer_area |
upload_by_user_fk | INTEGER | Original uploader FK — persists when file is later downloaded by another user |
by_user_fk | INTEGER | Who performed this action (internal user) |
by_external_user | VARCHAR(4000) | External user info (IP + optional name/email from login screen) |
filename / filename_old | VARCHAR(1000) | New and old filename (for rename tracking) |
event_type | VARCHAR(20) | Action type (UPLOAD, DOWNLOAD, DELETE, RENAME etc.) |
description / description_old | VARCHAR(4000) | New and old description (for edit tracking) |
notified | BOOLEAN NOT NULL | Whether observers have been emailed about this event — prevents duplicate notifications |
idx_t_plugin_datatransfer_audit — on area_fk — optimizes "show all events for area X" queries used by the Display activities UI and the observer notification jobThe audit log is consumed by: the activity display dialog (DataTransferPublicServicesRest), the observer email notification scheduled job (queries events with notified=false), and the 30-day rolling display (old entries are pruned).
Creates the audit log table
t_plugin_datatransfer_audit— adds activity tracking and email notification support to the DataTransfer plugin. Located inmigrate/common/meaning it runs on all database vendors without dialect-specific variants.