TYPO3 v9, v10, v11
Löscht ein Benutzer Dateien oder Ordner, dann werden diese nicht sofort gelöscht, sondern erst in den Papierkorb verschoben. Erst beim Löschen der Dateien oder Ordner aus dem Papierkorb werden diese endgültig vom Dateisystem gelöscht. Aus dem Papierkorb können Dateien und Ordnerstrukturen wiederhergestellt werden.
In der englischen Benutzeroberfläche heißt der Papierkorb „Recycler“ und die Dateiliste „Filelist“.
In der Dateiliste von TYPO3 können ein oder mehrere Papierkörbe angelegt werden.
Um einen Papierkorb anzulegen, erstellt man einen Ordner mit dem Namen _recycler_ in der Dateiliste. Auf die exakte Schreibweise mit führendem und abschließendem Unterstrich ist zu achten. Dieser Dateiname ist fest in der Programmierung hinterlegt. Hat man diesen Ordner erstellt, wird er automatisch mit dem Papierkorb-Symbol und dem Wort „Papierkorb“ (oder Recycler bei der englischen Oberfläche) dargestellt.
Der Ordner _recycler_ kann in jedem beliebigen Ordner erstellt werden. Der Papierkorb ist sofort aktiv für alle Dateien und Ordner auf gleicher sowie allen untergeordneten Ebenen. Es ist möglich, mehrere Papierkörbe zu erstellen, jedoch maximal einen pro Ordner. Beim Löschen von Dateien und Ordnern wird der nächstgelegene Papierkorb verwendet.
Im folgenden Beispiel wird die demo.txt beim Löschen in den Ordner Fileadmin/Folder 1/_recycler_ verschoben:
Nein. Der Papierkorb ist eine Core-Funktionalität. Die Programmierung befindet sich in typo3/sysext/core/Classes/Resource/Driver/LocalDriver.php:1445.
Das Recycle Module ist für Datensätze gedacht.
Einen Papierkorb kann man nicht direkt mit Benutzerrechten versehen. Jedoch kann man Verzeichnisfreigaben einrichten und den Papierkorb außerhalb dieser Verzeichnisfreigabe (file mounts) im gleichen Dateispeicher (file_storage) anlegen. Der Benutzer hat somit keinen direkten Zugriff auf den Papierkorb, aber beim Löschen werden die Daten in den übergeordneten Papierkorb verschoben.
Jeder Benutzer, der Verzeichnisse anlegen kann, kann Papierkörbe anlegen.
Nein. Wenn man Schreibrechte hat, kann man Ordner anlegen und somit einen Papierkorb erzeugen.
Dateien und Ordner können aus dem Papierkorb an eine beliebige Stelle kopiert oder verschoben werden. Es handelt sich beim Papierkorb um einen normalen Ordner. Informationen über den ursprünglichen Pfad vor dem Löschen bzw. Verschieben in den Papierkorb werden von TYPO3 nicht gespeichert.
Ordnerstrukturen können wiederhergestellt werden. Jedoch befinden sich in den Ordnern keine Dateien mehr, da TYPO3 beim Löschen von Ordnern alle Dateien aus den Ordnern (nicht die Ordner) in das Hauptverzeichnis des Papierkorbes verschiebt.
Das ist auf einen Logikfehler in der Löschroutine zurückzuführen: Bevor ein Verzeichnis gelöscht wird, prüft TYPO3 ob das Verzeichnis leer ist. Ist es nicht leer, dann werden alle darin befindlichen Dateien gelöscht. Dazu geht TYPO3 durch jedes Verzeichnis und löscht die Dateien. Dabei greift erneut die Löschlogik von TYPO3. Diese verschiebt die Dateien in den Papierkorb.
Hierzu gibt es ein offenes Issue im TYPO3 Bugtracker.
Informationen über den ursprünglichen Pfad vor dem Löschen bzw. Verschieben in den Papierkorb werden von TYPO3 nicht gespeichert. Der Speicherort für wiederhergestellte Dateien wird durch den Nutzer beim Verschieben oder Kopieren festgelegt.
Nein. Vor dem Löschen bzw. Verschieben in den Papierkorb wird geprüft, ob die Dateien noch verwendet werden.
Nein. Thumbnails werden im Ordner _processed_-Ordner gespeichert und werden nicht verschoben. Beim endgültigen Löschen der Originaldatei aus dem Papierkorb werden die Thumbnails und bearbeiteten Bilder aus dem _processed_-Ordner entfernt.
Ordner und Dateien werden in Verzeichnisse mit dem Namen recycler verschoben. Wenn diese nicht durch .htaccess oder nginx-Regeln geschützt sind, kann man diese aufrufen. Jedoch muss man den direkten Link (Deeplink) kennen. Die Standardkonfiguration der .htaccess von TYPO3 enthält Regeln, die den Zugriff unterbinden.
Der Papierkorb verhält sich wie ein normaler Ordner. Man öffnet ihn und wählt die darin befindlichen Dateien und Ordner einzeln zum löschen aus. Zusätzlich kann ein Administrator einen wiederkehrenden Task im Planer-Modul aktivieren, welcher nach Dateien aus dem Papierkorb nach einer vorgegebenen Zeit löscht.
Nein. Dateien und Ordner in einem Papierkorb werden gelöscht, sobald diese aus einem Papierkorb gelöscht werden. Es findet keine Prüfung statt, ob ein übergeordneter Papierkorb existiert.
Im TYPO3 Planer gibt es einen Task Müllsammlung für den Ordner fileadmin mit der Erläuterung:
Dieser Task leert alle Order mit dem Namen "recycler" im Ordner fileadmin. So können Sie Speicherplatz im Dateisystem freigeben.
Man kann die Anzahl der Tage bis zum Löschen der Dateien aus dem Papierkorb festlegen.
Einen Papierkorb kannst Du einfach löschen, indem Du das Verzeichnis „Recycler“ löschst. Die Papierkorb-Funktionalität ist automatisch deaktiviert. Wenn sich Dateien im Papierkorb befinden, werden diese ebenfalls gelöscht.
Angenommen es existieren 2 Papierkörbe. Einer in einer tieferen Ordnerstruktur und einer im Root. Wenn man Dateien aus dem tiefer gelegenen Papierkorb löscht, dann werden die Dateien nicht in den höheren Papierkorb verschoben.
TYPO3 verwendet eine Methode und prüft die Ordnerstruktur rekursiv bis zum Filemount-Root. Sobald es einen Recycle-Ordner darin findet, werden die Dateien mittels „move“ in diesen Recycle-Ordner verschoben
typo3/sysext/core/Classes/Resource/Driver/LocalDriver.php:1445
TYPO3 ergänzt den Dateinamen vor der Dateinamenendung mit einer fortlaufenden Zahl _01. Aus originalname.jpg wird originalname_01.jpg.
Bei Verzeichnissen wird ein Datum-Zeitstempel vorangestellt. Aus "subfolder" wird "20220421155434710300_subfolder".
Ja. Voraussetzung ist, dass der verwendete FAL (File Abstraction Layers) Driver die Logik implementiert hat. Zum Beispiel der von next.motion programmierte Google Cloud Storage FAL Driver unterstützt Papierkörbe.
Eine gute Frage. Eine offizielle Dokumentation existiert meines Wissens nach nicht.
Pierre Geyer. Apple Fan Boy und leidenschaftlicher Softwareentwickler. Als Inhaber kommt er zwar nicht mehr so oft zum Programmieren, aber er liebt es dennoch sich alle neuen Webtechnologien anzusehen. Sein tiefes Verständnis von IT und Digitalisierung nutzt er, um Kunden zu beraten und individuelle Lösungen zu erarbeiten.