Dateien

Papierkorb für gelöschte Dateien

caticonslite_bm_alt

Vielen ist bekannt, dass TYPO3 einen Verlauf zum Wiederherstellen von gelöschten Seiten und Inhalten bietet. Dass für Dateien ein ähnliches Feature existiert wissen dagegen nur die wenigsten: Erstellt man unter „fileadmin“ einen Ordner namens „_recycler_“, so dient dieser ab sofort als Papierkorb für gelöschte Dateien. Außerdem ist es möglich in der kompletten Ordnerstruktur unter „fileadmin“ „_recycler_“-Ordner anzulegen, gelöschte Dateien werden daraufhin im in der Hierarchie nächstgelegenen Papierkorb abgelegt – das ist vor allem beim Einsatz von Benutzergruppen interessant.

Statische Dateien von cookie-free Domain bzw. externem Server oder CDN laden

caticonslite_bm_alt

TYPO3 setzt standardmäßig das Cookie „fe_typo_user“ für Frontend-Benutzer, selbst wenn es sich nur um einen Gast handelt und somit kein Login erfolgt ist. Das hat zur Folge, dass für jede statische Datei (z.B. CSS, Bilder und JavaScript) die Cookie-Informationen über den langsamen Upload an den Server übertragen werden müssen. Indem man diese Dateien von einer cookie-free Domain holt, lässt sich etwas Ladezeit einsparen. Außerdem kann man statische Dateien von einemleichtgewichtigeren Webserver (z.B. nginx, Squid, lighttpd) oder CDN (Content Distribution Network) ausliefern lassen und somit den Hauptwebserver von TYPO3 (z.B. Apache, nginx) entlasten.

Für die Umsetzung dieses Vorhabens findet man im TER einige Erweiterungen, welche alle nach dem selben Prinzip funktionieren: Ersetzen der lokalen/relativen Pfade von fileadmin, typo3temp und uploads mittels regulärem Ausdruck. Ich setze hier bewusst nicht auf ein ausschließlich für diesen Zweck zugeschnittenes Plugin, sondern auf die „regex“-Extension, mit der ich bei Bedarf auch noch andere Ersetzungen vornehmen kann.

Nach der üblichen Vorgehensweise zur Installation des Plugins, muss im TypoScript-Setup noch folgende Konfiguration vorgenommen werden:

config.regex {
	pattern1 = /"fileadmin\/([^"]+)"/
	pattern1.replacement = "http://static.webentwickler.at/fileadmin/$1"
 
	pattern2 = /"typo3temp\/([^"]+)"/
	pattern2.replacement = "http://static.webentwickler.at/typo3temp/$1"
 
	pattern3 = /"uploads\/([^"]+)"/
	pattern3.replacement = "http://static.webentwickler.at/uploads/$1"
 
	pattern4 = /"typo3conf\/([^"]+)"/
	pattern4.replacement = "http://static.webentwickler.at/typo3conf/$1"
}

Die Zusatzdomain „static.webentwickler.at“ muss natürlich noch eingerichtet werden und auf das selbe Verzeichnis wie die TYPO3-Hauptdomain „www.webentwickler.at“ verweisen. Setzt man einen leichtgewichtigen Webserver bzw. ein CDN für die Zusatzdomain ein, so muss auf diesem natürlich dasTYPO3-Verzeichnis eingebunden werden (z.B. mittels NFS-Share oder DRBD). In diesem Fall sollte darauf geachtet werden, dass keine PHP-Dateien Plaintext ausgeliefert werden.

TypoScript in externe Dateien auslagern

caticonslite_bm_alt

TypoScript lässt sich in externe Dateien auslagern, welche man dann in den jeweiligen Konfigurationen (Constants, Setup, PageTS und UserTS) inkludieren kann:

<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/templates/TypoScript/setup.ts">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:webentwickler/Configuration/TypoScript/setup.ts">

Dies Vorgehensweise ist besonders dann sinnvoll, wenn man eine Grundkonfiguration/Framework für seine häufig benutzten Extensions angelegt hat, eine Versionsverwaltung (z.B. Git, Subversion oder Mercurial) einsetzt, oder mit mehreren Servern (z.B.: Development, Testing, Staging, Production) arbeitet.

 nach oben