Mehr Produktivität erreichen mit den unbekannten TYPO3-Funktionen: Schatzsuche im TYPO3-Backend
Oftmals bearbeiten Redakteure immer wieder die gleichen Seiten und Inhaltselemente: Sie erstellen Newsbeiträge, editieren die Veranstaltungsliste oder bearbeiten Preisinformationen. Gerade bei umfangreichen Seiten müssen dafür zunächst immer die entsprechenden Stelle im Seitenbaum gesucht und etliche Unterzweige geöffnet werden. Hierfür bieten Shortcuts und Befehle eine große Zeitersparnis.
Unterhalb vieler Eingabeformulare befindet sich ein kleines, unscheinbares Icon mit einem Pfeil nach rechts oben. Ein Klick darauf erstellt einen Verweis auf die aktuelle Seite und platziert ihn am unteren Bildschirmrand. Damit das nicht nur für den Administrator, sondern auch für normale Backend-Benutzer funktioniert, wird folgende Einstellung in der „User TSconfig“ vorgenommen:
options.shortcutFrame = 1 options.shortcutGroups { 1=News 2=Products 3=T3CON07 }
Listing 1
Die erste Zeile schaltet Shortcuts ein, anschließend werden entsprechende Gruppen für die Verweise eingerichtet. Neben den Stiftsymbolen am unteren Rand stehen die Verweise auch über eine Auswahlliste zur Verfügung:
Im Gegensatz zu Verweisen werden Befehle links im Menü unter dem Punkt „Benutzer > Aufgaben“ aufgelistet. Dazu muss allerdings die Extension „sys_action“ installiert sein. Die einzelnen Aktionen werden über die Funktion „Web > Liste“ als Datensatz vom Typ „Befehl“ erstellt. Dabei wird zunächst der Typ der Aktion festgelegt: „neuen Datensatz anlegen oder bearbeiten“, „Datensätze auflisten“, „eine Datenbankabfrage durchführen“ oder „einen neuen Backend Benutzer anlegen“. Die einzelnen Aktionen müssen einer oder mehreren Benutzergruppen zugewiesen werden, deren Mitglieder sie dann über das Menü aufrufen können. Es gibt Webseiten, die alle für Redakteure in Frage kommenden Aufgaben über diese vordefinierten Aktionen bereit stellen.
Eine interessante Befehls-Funktion ist die Möglichkeit, vordefinierte Datenbankabfragen durchzuführen. Das können zum Beispiel immer wiederkehrende Aufgaben sein, wie „zeige alle Bilder, für die kein title-Tag definiert wurde“ (für barrierefreie Webseiten). Die Abfragen können interaktiv über „Tools > DB Überprüfung > Ganze Datenbank durchsuchen > Advanced Query“ erstellt werden. Nachdem man die gewünschte Abfrage zusammen geklickt hat, kann sie gespeichert und anschließend einer Aktion zugewiesen werden.
Müssen eine Vielzahl gleichartiger Datensätze erstellt werden (z. B. eine größere Anzahl News-Kategorien), kann es ziemlich nervend sein, immer wieder den Arbeitszyklus (Neuer Datensatz, Typ und Kategorie, Text eingeben, speichern und schließen) zu durchlaufen. Viel einfacher wird es mit einem zusätzlichen Icon, das man den Diskettensymbolen hinzufügt: „Speichern und ein weiteres Element vom gleichen Typ anlegen“, heißt es. Eingeschaltet wird die Funktion über folgende Zeile in der User TSconfig (es erscheint eine weitere Diskette mit einem grünen Plus-Zeichen):
options.saveDocNew = 1
Listing 2
Sind bestehende Links im RTE zu bearbeiten, kann man sie mit der Maus markieren und dann auf das Link-Icon in der Werkzeugleiste klicken. Einfacher geht es über einen Rechtsklick auf den Link. Es erscheint ein Kontextmenü. Genauso verhält es sich bei der Arbeit mit Tabellen: auch hier stehen alle Optionen per Mausklick zur Verfügung.
Das Arbeiten mit der Zwischenablage ist tägliches Brot in fast allen Betriebssystemen. TYPO3 bietet in der Listen-Ansicht nicht nur ein Clipboard, sondern gleich vier. Neben dem mit der Bezeichnung „normal“ stehen die Varianten eins bis drei zur Verfügung. Wählt man diese aus, stehen in der Übersicht der Datensätze weitere Optionen zur Verfügung. So lassen sich mehrere Datensätze gleichzeitig bearbeiten. Zusammen mit den kleinen Pluszeichen in der Titelzeile der Datensatzliste sind zeitsparende Aktionen in einem einzigen Formularmöglich (z. B. „editiere die Felder keywords und alias der ausgewählten Datensätze“).
Wenn Sie immer wieder Projekte mit TYPO3 realisieren, ist es oft sinnvoll und zeitsparend, einzelne Teile eines Projekts in ein anderes zu übernehmen, sei es eine Bibliothek von Typoscript-Modulen oder eine Funktion, die eine Anzahl von Seiten benötigt (z. B. Benutzerregistrierung oder Shop). Schon seit längerem gibt es dafür in TYPO3 die Möglichkeit, einzelne Seiten, Teile eines Seitenbaums oder auch das gesamte Projekt über eine t3d Datei zu sichern und in einem anderen Projekt wieder einzulesen. Um die Funktion zu nutzen, klickt man auf ein Icon im Seitenbaum und wählt aus dem Kontextmenü den Eintrag „Weitere Einstellungen“. Dort befinden sich die Einträge „Exportieren/Importieren über eine t3d Datei“. Für den Export wählt man im einfachsten Fall die Option „Alle Tabellen“ in den Tabelleneinstellungen und klickt anschließend auf „Exportdatei downloaden“ im Reiter „Datei & Voreinstellungen“.
Bei Bedarf lässt sich der Inhalt der Exportdatei noch individuell anpassen, indem einzelne Datensätze ausgeschlossen werden. Bei der Standardeinstellung werden auch alle verknüpften Elemente wie Bilder, Templates und CSS-Dateien mit in den Export aufgenommen. Das kann jedoch dazu führen, dass die Exportdatei sehr groß wird und der Export an den Limitierungen von PHP scheitert. Die Methode wäre also nicht geeignet, um große Webseiten zwischen verschiedenen Servern zu übertragen. In der Standardeinstellung ist die Dateigröße auf ein MB beschränkt, der Wert kann jedoch vom Benutzer geändert werden.
Die erstellte t3d-Datei kann nach dem Export in das Zielsystem importiert werden. Dazu wird sie zunächst im Reiter „Upload“ in den Ordner „fileadmin“ geladen und anschließend unter „Import“ ausgewählt:
Vorsicht ist hier bei der Option „Alle UID Werte erzwingen“ angebracht: wenn sie ausgewählt ist, werden bestehende Datensätze mit gleicher ID überschrieben. Im Normalfall bekommen alle Datensätze eine neue ID zugewiesen, sodass es nicht zu Konflikten kommt. Es kann jedoch erforderlich sein, importierten Typoscript-Code auf die neuen IDs anzupassen.
In der Standardkonfiguration stehen einem Redakteur drei Wege offen, um Bilder einzufügen: direkt über den RTE, über das Upload Feld und über den Element Browser. Die ersten beiden Methoden haben den Nachteil, dass alle Dateien in einem einzigen Ordner landen und bei einer mehrfachen Verwendung des gleichen Bilds jeweils ein neuer Upload erforderlich ist.
Sinnvoller ist, den Upload von Dateien nur über den Element Browser zuzulassen. Dazu kann das Einfügen von Bildern über die RTE-Konfiguration abgeschaltet werden. Zusätzlich lässt sich das direkte Hochladen von Bildern unterbinden, indem das Eingabefeld über einen Eintrag in User TSconfig abgeschaltet wird:
setup.override.edit_docModuleUpload = 0
Listing 3
Wie schnell kann es vorkommen, dass versehentlich etwas gelöscht wird oder dass eine Änderung rückgängig gemacht werden soll. Zum Einen werden in TYPO3 Datensätze nicht einfach gelöscht, sondern nur zum Löschen markiert (mit einer Extension wie „clean_db“ erfolgt dann die endgültige Löschung) und zum Anderen werden alle Änderungen an den Datensätzen penibel protokolliert. Auf den Änderungsverlauf kann man über ein kleines Icon mit einer Uhr oberhalb der Inhaltselemente oder über den Menüpunkt „Web > Info > Log“ zugreifen. Daraufhin wird die Liste der Änderungen angezeigt. Neue Einträge sind in grün, Löschungen in rot dargestellt. Per Mausklick können einzelne oder alle Änderungen am Datensatz rückgängig gemacht werden.
Extensions wie „cc_awstats“ biten eine detaillierte Statistik über Zugriffe auf eine Webseite. Auch die bei Google & Co. eingegebenen Suchbegriffe, über die Besucher auf die Seite kamen, werden aufgelistet. Befindet sich jemand auf der Website und verwendet die Indexsuche, kann TYPO3 auch über die dort eingegebenen Begriffe eine Statistik ausgeben. Das geschieht über den Menüpunkt „Web > Info“ und die Auswahl von „Indexsuche-Statistik“ im Dropdown-Menü. Die Informationen können verwendet werden, um die Inhalte einer
Seite zu optimieren, denn oftmals wurde das Gesuchte vom Besucher der
Website nicht auf Anhieb gefunden.
Bei den inzwischen knapp 3000 verfügbaren Extensions wird es mit der Import-Funktion des Extension Managers immer aufwändiger, die komplette Liste durchzugehen, um sie zum Beispiel auf Aktualität und verfügbare Updates zu prüfen. Abhilfe schafft dafür die Extension „ter_update_check“. Nach der Installation dieser Extension steht im Extension Manager eine weitere Option zur Verfügung, mit der alle installierten Extensions komfortabel auf verfügbare Updates überprüft werden können. Das ist nicht nur eine große Zeitersparnis, sondern kann Administratoren auch motivieren, eine TYPO3-Installation immer auf dem aktuellen Stand zu halten.
Bereits auf der TYPO3-Konferenz im Jahr 2006 zeigte Kasper Skårhøj die Möglichkeit, über ein Command-Line-Interface (CLI) automatisch Wartungsarbeiten in TYPO3 durchzuführen. Inzwischen ist die Funktion fest in TYPO3 integriert. Doch nach wie vor ist sie vielen Administratoren weitgehend unbekannt. Im Menüpunkt „Tools > DB Überprüfung > Manage Referenz Index“ gibt es zwar einen Hinweis, dass sich die Erstellung des Referenzindexes auch über die Kommandozeile durchführen lässt, allerdings ist der angegebene Pfad zum Skript falsch. Auch die Dokumentation für diese Funktionen ist etwas versteckt: sie befindet sich in der Datei „HOWTO_clean_up_TYPO3_installations.txt“ im Verzeichnis „typo3/sysext/lowlevel“.
Bevor man die sehr nützlichen Tools benutzt, sollte unbedingt die Dokumentation gelesen und ein Backup der Dateien und Datenbank angelegt werden. Dann wird im Backend zunächst ein User mit dem Namen „_cli_lowlevel“ angelegt. In der Datei „typo3/cli_dispatch.phpsh“ muss gegebenenfalls die „die()“-Funktion auskommentiert und der Pfad zum PHP Interpreter in der ersten Zeile angepasst werden (z. B. wenn sich PHP in „/usr/local/bin“ statt in „/usr/bin“ befindet).
Der Aufruf der einzelnen Funktionen erfolgt über einen Shellzugang beziehungsweise Cronjob. Dazu wird die Datei „cli_dispatch.php“ mit entsprechenden Parametern aufgerufen. Im Verzeichnis „typo“ befinden sich auch zwei fertige Shellskripte mit den Namen „cleaner_check.sh“ und „cleaner_fix.sh“. Sie rufen nacheinander die einzelnen Funktionen des Wartungsprogramms auf, um Fehler aufzuspüren beziehungsweise zu korrigieren. Das Tool lässt sich so konfigurieren, dass es regelmäßig über einen Cronjob gestartet und der Administrator per E-Mail über die Ergebnisse unterrichtet wird.
In der Version 4.1 von TYPO3 wurde die Verwendung der Datenbankengine „InnoDB“ (anstelle von „MyISAM“) für einige Tabellen in der TYPO3-Datenbank eingeführt. Allerdings wird InnoDB nur beim Einrichten einer neuen Datenbank eingesetzt. Bei bestehenden Projekten erfolgt keine automatische Umstellung. Das kann jedoch über die Eingaben einiger Zeilen SQL-Kommandos über die Extension „phpmyadmin“ selbst nachgeholt werdenen:
ALTER TABLE cache_hash ENGINE INNODB; ALTER TABLE cache_pages ENGINE INNODB; ALTER TABLE cache_pagesection ENGINE INNODB; ALTER TABLE cache_imagesizes ENGINE INNODB; ALTER TABLE cache_typo3temp_log ENGINE INNODB; ALTER TABLE cache_md5params ENGINE INNODB; ALTER TABLE fe_sessions ENGINE INNODB; ALTER TABLE fe_session_data ENGINE INNODB; ALTER TABLE sys_log ENGINE INNODB; ALTER TABLE index_fulltext ENGINE INNODB; ALTER TABLE index_grlist ENGINE INNODB; ALTER TABLE index_phash ENGINE INNODB; ALTER TABLE index_rel ENGINE INNODB; ALTER TABLE index_section ENGINE INNODB; ALTER TABLE index_stat_search ENGINE INNODB; ALTER TABLE index_stat_word ENGINE INNODB; ALTER TABLE index_words ENGINE INNODB;
Listing 4
Die Umstellung der Tabellen soll für eine bessere Performance von TYPO3 sorgen.
Bitte beachte unsere Community-Richtlinien
Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.
Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.
Dein t3n-Team