Skip to content

[Feature] Mail: IRSS - #11694

Open
fhelfer wants to merge 14 commits into
ILIAS-eLearning:trunkfrom
fhelfer:mail/irss
Open

fhelfer wants to merge 14 commits into
ILIAS-eLearning:trunkfrom
fhelfer:mail/irss

Conversation

@fhelfer

@fhelfer fhelfer commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

@fhelfer fhelfer added improvement php Pull requests that update Php code labels Jun 19, 2026
@mjansenDatabay

Copy link
Copy Markdown
Contributor

Hi @fhelfer ,

please fix the conflicts and proceed further.

Best regards,
Michael

Comment thread components/ILIAS/Mail/classes/Setup/Migration/MigrateMailAttachmentsToIRSS.php Outdated
Comment thread components/ILIAS/Mail/classes/Setup/MailDBUpdateSteps11.php Outdated
@fhelfer
fhelfer force-pushed the mail/irss branch 2 times, most recently from 87807ae to 10813b3 Compare October 9, 2026 10:04
Outbox analog zu Draft in die Attachment-Stage übernehmen und Size-Test auf die Collection-API umstellen.
Neueste Inbox-Mails (send_time DESC) zuerst nach IRSS, alte Seiten zuletzt.
SQL-LIMIT durch ilDB->setLimit ersetzen, rcid-Spalte in MailDBUpdateSteps12, neue Klassen nach src/, ROADMAP IRSS auf Done.
- Collections werden nur noch über releaseCollectionIfUnreferenced() freigegeben
  (mail_attachment, mail_saved, Pool des Besitzers); Ressourcen nur, wenn sie in
  keiner anderen Collection mehr liegen
- Entwürfe und geplante Mails referenzieren ihre Collection über mail_attachment
- Gemeinsame Liefer-Collection für Sentbox und alle Empfänger, Snapshot beim Einreihen
- Stage wird nach Entwurf/Planen geleert, leeres Formular bedeutet keine Anhänge
- Lösch-Cron: leere Pfade nie löschen (sonst gesamtes mail-Verzeichnis)
- Einzel-Download (TypeError) und ZIP-Download für Entwürfe repariert
- removeCollection() legt bei fehlendem Header keine neue Collection mehr an
- Index auf mail_attachment.rcid für die Referenzzählung
- Verzeichnisse und Entwürfe der zuletzt gesendeten Mails zuerst (send_time)
- Speichern ausschließlich über ilResourceStorageMigrationHelper
- Mails mit Anhangsverzeichnis werden nie als Pool-Verweise behandelt,
  Pool-Dateien werden kopiert und ohne Benutzer-Präfix benannt
- Entwürfe erhalten eine mail_attachment-Zeile, geleerte Spalten früherer Läufe
  werden repariert
- Übersprungene Verzeichnisse, Abbrüche und Fortschritt werden über die
  Setup-Ausgabe gemeldet

Lasttest (Kopie der Entwicklungs-DB): 3.798 Dateien / 238 MB in ~11 s,
37.998 Dateien / 593 MB in ~122 s.
Mail attachments implement ConfidentialStakeholder so new resources are
redacted in the resource overview. The migration sets the flag explicitly
because the IRSS helper stores resources through the resource builder.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement php Pull requests that update Php code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants