Typo 3-Backend optimieren
Im Web gilt: Content is King, der Inhalt zählt. Deshalb ist jede Effizienzsteigerung der Redakteure ein echter Zugewinn für die eigene Website.

Typo3 gehört bekanntermaßen zu den komplexeren Content-Management-Systemen. Etwas weniger bekannt ist, dass das Backend von Typo3 zwar umfangreich ist, sich aber in sehr vielen Belangen wunderbar anpassen lässt. Dieser Artikel verrät die Grundprinzipien und greift einige kleine Beispiele als Tip...
Typo3 gehört bekanntermaßen zu den komplexeren Content-Management-Systemen. Etwas weniger bekannt ist, dass das Backend von Typo3 zwar umfangreich ist, sich aber in sehr vielen Belangen wunderbar anpassen lässt. Dieser Artikel verrät die Grundprinzipien und greift einige kleine Beispiele als Tipps für die Praxis heraus.
Das Prinzip
In Typo3 gibt es drei Stellen für individuelle Einstellungen: Grundlegend sind die Nutzer und Nutzergruppen. Damit lässt sich festlegen, welche Redakteursgruppen welche Module sehen und worauf sie Zugriff haben. Die zweite Stelle sind die Gruppeneinstellungen per Typoscript. Hierfür kommt die User TSConfig zum Einsatz, die für jede Gruppe separat mit Regeln gefüllt werden kann. Der dritte Bereich für Anpassungen ist die Wurzelseite für die ganze Site oder für einen Bereich der Site. Dort kann die Bearbeitung für diesen Bereich gesteuert werden. Hierzu legen Sie per Typoscript in den Seiteneigenschaften in der Page TSConfig entsprechende Regeln fest.Diese drei Einstellungsmöglichkeiten reichen aus, um den Redakteuren effizientere Arbeitsmöglichkeiten zu geben. Allerdings können Sie dann noch darüber hinausgehend eigene Erweiterungen oder gar eigene Backend-Skins für ein geändertes Layout installieren.
Gruppenwahl
Für jede Typo3-Installation werden die Backendnutzer an zentraler Stelle als Systemdatensätze gespeichert. Sie müssen dazu einfach nur auf das Wurzelelement (früher eine Weltkugel, heute das Typo3- Logo) im Seitenbaum klicken. Im Modul Liste sehen Sie dann alle eingerichteten Backend-Benutzer.

Standardmäßig ist das nur ein Administrator. Der hat keine Nutzergruppe, sondern erhält all seine umfassenden Rechte über ein Häkchen Admin in den Nutzereinstellungen. Für Redakteure ist das natürlich nicht sinnvoll, denn der Administrator kann auch das Template ändern und Erweiterungen installieren, keine Thematiken, mit denen man Redakteure betrauen sollte.Nun könnten Sie zwar auch einen einzelnen Backendnutzer anlegen und diesem bestimmte Zugriffsrechte geben. Das ist allerdings wenig sinnvoll, da sie dann für jeden neuen Redakteur wieder separat Rechte vergeben müssten. Deswegen ist es auf jeden Fall empfehlenswert, zuerst eine Benutzergruppe anzulegen. Pflichtfeld ist der Gruppenname, alles Weitere steuern Sie dann in der Zugriffsliste und in den Freigaben. Die Zugriffsliste besteht aus verschiedenen Bereichen, die sich vom Allgemeinen ins Detail herunterarbeiten. Am Anfang geht es darum, alle nicht benötigten Module auszublenden. Hier sollten Sie am Anfang die Möglichkeiten für Ihre Redakteure wirklich drastisch reduzieren. Es ist später immer noch möglich, Module freizuschalten, aber einem Redakteur nachträglich ein Modul wegzunehmen, wenn man merkt, dass er überfordert ist, ist ungleich schwieriger.Nach den Modulen folgen die Datensätze. Benannt sind sie nach den Datenbanktabellen, die dahinter stecken. Das Einfachste ist erst einmal der Seiteninhalt selbst. Die Liste ist in der Standardinstallation wie alle Listen beim Zugriff wesentlich kürzer als wenn Sie bereits eine Menge an Extensions installiert haben. Denn auch die Datensätze aus Erweiterungen lassen sich hier aktivieren oder deaktivieren.Die Seitentypen sollten Sie ebenfalls reduzieren. Vor allem SysOrdner sollten Redakteure in der Praxis selten brauchen. Bei den danach folgenden Feldern ist es Geschmackssache, wie viele man vor dem Nutzer verbirgt. Die weiteren Einschränkungen betreffen die Arten von Seiteninhalten und die Sprachen.Übrigens, Sie können jederzeit testen, ob Ihre Rechteinstellungen funktionieren. Erstellen Sie dazu einfach einen Backend- Benutzer, der die neu angelegte Redakteure- Gruppe erhält. Anschließend können Sie über das Modul Benutzer und dort über das kleine rote Pfeilchen neben dem Benutzernamen in eine Ansicht schalten, wie dieser Nutzer das Backend sieht. In unserem aktuellen Fall ist beispielsweise schon die Menge an Modulen reduziert, aber der Seitenbaum ist noch leer.Um diesen zu füllen, sind zwei Schritte notwendig: Sie müssen in der Benutzergruppe eine sogenannte Datenbankfreigabe (oder auch DB Mount) erstellen. Das heißt, Sie geben alle Seiten beziehungsweise Seitenbäume an, die die Nutzer der Gruppe sehen dürfen. Sie können dabei genau steuern, ob jemand nur eine Seite oder den gesamten Seitenbaum bearbeiten darf.Daneben finden sich hier Einstellungen zum Hochladen von Dateien. Dies geschieht in Typo3 bekanntermaßen über den fileadmin, die Dateiverwaltung. Über Verzeichnisfreigaben können Sie für Benutzergruppen bestimmte Verzeichnisse im fileadmin festlegen.

Neben den dafür benötigten Rechten geben Sie bei den Freigaben auch noch an, in welchen Arbeitsumgebungen (auch Workspaces) der Nutzer arbeitet. Sie sind eine Möglichkeit, Änderungen nicht sofort live zu schalten, sondern erst in einem Entwurfs-Arbeitsraum zu erstellen. Empfehlenswert ist dies allerdings erst bei komplexeren Rechtesystematiken.Sollten Sie jetzt noch einmal zu dem Redakteursnutzer umschalten, sehen Sie immer noch keine Seiten im Seitenbaum. Das liegt daran, dass standardmäßig keine Seite für den Zugriff durch die neu erstellte Gruppe oder durch alle Benutzer freigeschaltet ist. Dies erledigen Sie im Modul Zugriff. Die restriktivste Variante ist hier, eine Seite nur für die neu erstellte Gruppe freizugeben. Das heißt aber auch, dass andere Gruppen darauf keinen Zugriff haben. Alternativ können Sie sie für alle Benutzer freigeben.Bei komplexeren Rechteanforderungen kann es sinnvoll sein, Zugriffslisten und Freigaben in verschiedenen Nutzergruppen zu verwalten. Gerade, wenn es viele Bereiche einer Website gibt, die nur von bestimmten Benutzergruppen bearbeitet wird, macht eine solche einfache Rechtematrix Sinn.Das könnte dann so aussehen: Die Benutzergruppe Redakteure legt fest, welche Module und Bearbeitungsmöglichkeiten ein Redakteur hat. Die Benutzergruppen Newspflege und Jobpflege enthalten jeweils nur eine Datenbank- und Verzeichnisfreigabe für News beziehungsweise Jobs und werden jeweils im Modul Zugriff als Gruppen eingetragen. Ein einzelner Benutzer erhält dann die Gruppe Redakteure und dazu Newspflege, Jobpflege oder beides.Denkbar sind auch Nutzergruppen, die andere Gruppen enthalten. Eine Gruppe Chefredakteure könnte dann selbst keine Rechte enthalten, sondern nur Redakteure, Newspflege und Jobspflege einschließen. Zugegeben, eine solche Systematik kann komplex werden, aber gut durchdacht hilft sie über Jahre, die Website(s) effizient zu pflegen.
User TSConfig
Die User TSConfig gibt es an zwei Stellen: Bei jedem Benutzer und bei jeder Benutzergruppe. Wie immer ist es - zumindest bei globalen Einstellungen - sinnvoller, eine Benutzergruppe zu wählen. Sie finden dort das Typoscript-Feld unter dem Register Optionen. Daneben sehen Sie einen Link auf die TS-Referenz, die Ihnen viel über nützliche Einstellungen verrät.Wir greifen hier einige Beispiele heraus, die den Umgang mit der User TSConfig verrät. Generell gibt es verschiedene zentrale Einstellungsobjekte, die Top Level Objects oder kurz TLO.options steht dabei für generelle Optionen, mod enthält die relevanten Module. Über options erreichen Sie beispielsweise den Seitenbaum und können die ID der Seiten neben dem Titel anzeigen lassen:
options.pageTree.
showPageIdWithTitle = 1
Dies ist recht praktisch, wenn Sie beispielsweise per Suche rechts oben direkt auf die ID einer Seite zugreifen wollen. Der Wert 1 schaltet dabei immer die jeweilige Option ein, der Wert 0 deaktiviert sie. Bei mod gibt es Eigenschaften, die sich mehrere Module teilen. Sie finden sie unter SHARED. So können Sie beispielsweise festlegen, welche Spalten eine bestimmte Benutzergruppe sieht:
mod.SHARED.colPos_list = 0,1
Mit dieser Einstellung ist nur die Normal- Spalte und die linke Spalte sichtbar. Jedoch heißt diese Einstellung in der Anzeige für die Benutzergruppe noch nicht, dass der Nutzer nicht auch Inhalt in die versteckten Spalten verschieben kann, wenn er das Feld Spalte für Seiteninhalte in den Zugriffseigenschaften zugewiesen bekommen hat.Bei der Beurteilung der verschiedenen Einstellungen hilft die Direkthilfe neben dem TSConfig-Feld. Daneben gibt es eine Referenz für TSConfig-Einstellungen unter Typo3.org/documentation/documentlibrary/core-documentation/doc_core_tsconfig/current/ . Sie gilt sowohl für die User TSConfig als auch für die gleich folgende Page TSConfig.
Page TSConfig
Die zweite Stelle, an der Sie Typoscript-Einstellungen für Ihre Redakteure vornehmen können, ist die Page TSConfig. Jede Seite erlaubt diese Einstellungen in den Seiteneigenschaften, sie gelten dann für die Seite und alle Unterseiten - natürlich für alle Benutzergruppen. In der Praxis werden meist zentrale Einstellungen in der Wurzelseite des jeweiligen Seitenbaums vorgenommen. Zu finden ist das Feld im Register Optionen.Wie bei den User TSConfig-Einstellungen findet sich auch ein Button neben dem Feld, der direkt in die Hilfe führt. Aber auch, wenn das Grundprinzip dasselbe ist, so sind die Möglichkeiten doch andere. Dies sieht man an den Top Level Objekten, bei denen nur mod auch im User TSConfig zum Einsatz kommt. Das Page TSConfig kann darüber hinaus deutlich mehr als die Einstellungen für Nutzer. Hier lassen sich bestimmte Felder ausschalten, der Editor (RTE für Rich Text Editor) ist konfigurierbar und Sie haben Zugriff auf sämtliche Inhaltstypen.Aber der Reihe nach: Zentrale Einstellungen für Inhaltstypen nehmen Sie über das Top Level Objekt TCEMAIN vor. TCE steht dabei für Typo3 Core Engine. Damit können Sie auf jede Tabelle in Typo3 zugreifen. Zentrale Tabellen sind pages für Seiten und tt_content für Inhalte. Hierzu ein Beispiel: Wenn der Redakteur in Typo3 eine Seite kopiert und einfügt, wird sie standardmäßig versteckt. Dieses Verhalten lässt sich per Typoscript in der Page TSConfig deaktivieren:
TCEMAIN.table.pages.
disableHideAtCopy = 1
Wenn Sie eine solche Änderung nicht nur für eine Inhaltstabelle, sondern für alle durchführen möchten, greifen Sie statt auf die Tabelle auf das Objekt default zu. Auch hierfür ein Beispiel: Wenn Sie einen Inhalt kopieren, erscheint standardmäßig "(Kopie X)", wobei X für eine Zahl steht. Das ist gerade beim Übersetzen von Inhalten recht lästig. Deswegen können Sie das mit der Eigenschaft disablePrependAtCopy deaktivieren. Und über das Objekt default funktioniert das global:
TCEMAIN.default.
disablePrependAtCopy=1
Neben dem TCEMAIN sind vor allem die Anpassungen für den RTE, also den Editor von Typo3, noch spannend. Auch hier gibt es beispielsweise ein default-Objekt, mit dem Sie von den CSS-Klassen bis zu den Farben alles steuern können. Ein ganz einfaches Beispiel ist das Deaktivieren des RTE für bestimmte Seiten:
RTE.default.disabled = 1
Damit steht dem Bearbeiter für die Seite nur noch ein einfaches Textfeld zur Verfügung. Das ist ideal, wenn man den Redakteur bei einer bestimmten Seite von unsinnigen Formatierungen abhalten möchte.
Fazit
Typo3 ist sicherlich eines der am stärksten anpassbarsten Content-Management-Systeme. Und es lohnt sich, davon Gebrauch zu machen, um dem Redakteur die Arbeit zu erleichtern. Kernstück ist dabei zuerst ein gut durchdachtes Rechtemanagement, denn erst mit geeigneten Benutzergruppen machen weitere Optimierungen über Typoscript Sinn.Dann stehen Ihnen allerdings alle Türen offen, um beispielsweise nicht benutzte Spalten auszublenden oder bei häufigen redaktionellen Arbeitsschritten Systemmeldungen zu unterdrücken. Der Artikel zeigt natürlich nur einen kleinen Ausschnitt der Funktionen. Generell gilt aber, wenn man denkt, das könnte doch eigentlich konfigurierbar sein, ist es in Typo3 auch zu 99 Prozent konfigurierbar.