Produktiver mit TYPO3 (1): Sprachversionen anlegen

TYPO3: Sprachversionen im Page-Modul anlegen (Make new translation of this page)

Wenn man mit TYPO3 eine mehrsprachige Website aufbaut, dann wird man in der Regel für jede einzelne Seite die entsprechenden Sprachversionen anlegen, indem man im Page-Modul den Befehl “Make new translation of this page” benutzt. Pro Seite und Sprache kostet das vier Schritte:

  • Seite im Seitenbaum selektieren
  • Zielsprache im Dropdown auswählen
  • Titel in der Zielsprache erfassen
  • Sprachversion speichern

TYPO3: Sprachversionen in der Localization Overview anlegen

Wenn man für eine grössere Website in mehreren Sprachen das Seitengerüst aufbauen muss, gibt es allerdings einen effizienteren Weg. Er führt über das Info-Modul und die Localization Overview. Dort sieht man nicht nur auf Anhieb, welche Seiten in welchen Sprachen existieren, sondern man kann dort auch in einem einzigen Arbeitsgang alle Seiten einer Sprache erzeugen, so dass von den obigen Arbeitsschritten nur noch das Eintippen der Seitentitel erforderlich ist. Wählen Sie hierzu einfach per Checkbox die zu übersetzenden Seiten aus und klicken Sie anschliessend auf das direkt darüber stehende Icon mit dem grünen Plus-Zeichen.

Textbausteine in TYPO3?

TYPO3 Pagecontent Type "Insert Records"

Es ist schon erstaunlich: Fast jedes Feature ist in TYPO3 vorhanden oder lässt sich per Extension nachrüsten – aber so etwas Simples wie Textbausteine sucht man vergeblich. Kann das wirklich sein?

In einem älteren Forumseintrag bin ich auf den Tipp gestossen, doch einfach den Pagecontent-Typ “Insert Records” für diesen Zweck zu missbrauchen. Tatsächlich kann man häufig benutzte Texte als Content-Elemente vom Typ “Text” oder “HTML” in einem SysFolder ablegen und diese dann mit “Insert Records” an unterschiedlichen Stellen der Website einfügen. Doch mit klassischen Textbausteinen hat das wenig zu tun: Weder kann man diese Textbausteine in einen anderen Text einfügen noch kann man sie bei Bedarf anpassen – anpassen kann man nur die Vorlage, und dann ändert sich der entsprechende Text auf der gesamten Website. Es gibt durchaus Situationen, wo dies wünschenswert ist, und deshalb ist “Insert Records” eine sinnvolle Sache, aber für Textbausteine taugt dies nicht.

Was ich mir vorstelle ist ein Dropdown-Menü direkt im Rich Text Editor, über das ich Textbausteine in ein Content-Element einfügen kann. Einmal eingefügt sind diese Texte eigenständige Kopien der Vorlage, d.h. sie können nachbearbeitet werden und verändern sich nicht, wenn die Vorlage angepasst wird. Hübsch wäre es, wenn das Dropdown nicht nur reinen Text, sondern auch formatierten Text und HTML-Code bereitstellen würde – so könnte man beispielsweise auch Aufzählungen oder Tabellen als Vorlagen bereitstellen.

Gibt es hier tatsächlich keine Lösung? Die Diskussion ist eröffnet!

TYPO3 Version 4.4 mit Introduction Package

TYPO3 Version 4.4: Introduction Package

Teil der heute freigegebenen finalen Version 4.4 von TYPO3 ist das Introduction Package. Dabei handelt es sich um eine professionell gestaltete Demo-Website, die bei Bedarf mitinstalliert wird.

Für TYPO3 ist dies ein riesiger Schritt vorwärts: Zu dem Zeitpunkt, als ich mich mit TYPO3 auseinanderzusetzen begann, zeigte TYPO3 nach einer Standardinstallation nichts anderes als ein Fehlermeldung an. In späteren Versionen gab es immerhin ein sprödes “Hello World”, aber bis man eine halbwegs präsentable Website erstellt hatte, war es immer noch ein weiter Weg – ein Weg, auf dem wohl viele TYPO3-Neulinge verzweifelt sind.

TYPO3 Version 4.4: InstallerDank dem Introduction Package kann man nun innert einer halben Stunde eine komplette Website inkl. CMS aufsetzen – sei es, um TYPO3 kennenzulernen, sei es, um möglichst effizient eine Website zu erstellen, die zunächst noch kein individuelles Design benötigt. Das Vorgehen könnte einfacher nicht sein: Als letzten Schritt bietet der neu gestaltete Installer die Option, das Introduction Package zu installieren, wobei die Basisfarbe wählbar ist, um der Demo-Website doch ein gewisses Mass an Individualität zu verleihen.

TYPO3 Version 4.4: Backend

Nicht nur der Installer, auch das gesamte Backend wurde visuell überarbeitet. Es ist insgesamt kontrastreicher, deswegen aber nicht etwa bunt, sondern in edlem Anthrazit gehalten. Auch der Rich Text Editor HTMLarea wurde technisch grundlegend überarbeitet – er basiert nun komplett auf dem JavaScript-Framework Ext JS, das seit der Version 4.3 Teil von TYPO3 ist.

Die Version 4.4 bietet noch diverse andere Neuerungen, die man auf der TYPO3-Website nachlesen kann. Nach einem ersten Augenschein würde ich aber sagen: Dieses Update wird wesentlich dazu beitragen, dass TYPO3 (noch) mehr Anhänger findet, zumal es viel fürs Auge bietet.

Die reiche Ernte der TYPO3 User Experience Week 2009 (T3UXW09)

Podcast der TYPO3 User Experience Week 2009

Im November letzten Jahres haben sich 30 Designer und Projektleiter aus der Community im deutschen Behringen eine Woche lang mit der Usability von TYPO3 beschäftigt. Dieses Treffen war ausgesprochen fruchtbar, wie man der kürzlich veröffentlichten Podcast-Serie entnehmen kann. Nachfolgend eine knappe Zusammenfassung der wichtigsten Verbesserungen, die sich voraussichtlich in der Version 4.4 von TYPO3 wiederfinden werden. Wer sich für die Details des zukünftigen Backends interessiert sollte sich die fünf Podcast-Episoden, welche zusammen rund eine Stunde dauern, auf jeden Fall anschauen.

Die Eingabemasken im Page-Modul wurden generell aufgeräumt und gewisse Parameter umbenannt. Die Masken wirken nun wesentlich ruhiger, weil die zahlreichen Buttons pro Content-Element erst beim Mouseover sichtbar werden. Zudem gibt es nun (auch ohne Extensions wie gb_bedraganddrop) Drag & Drop für Content-Elemente, auch über Spalten hinweg.

TYPO3: Drag & Drop von Content-Elementen im Backend

Die Content-Elemente können nicht nur in den bekannten Spalten angezeigt werden (Columns View), sondern neu auch im sogenannten Grid (Layout View), welcher die Raumaufteilung des Frontends nachempfindet. Ich vermute einmal, dass hier Extensions wie me_pagelayout oder be_layout Pate gestanden haben.

TYPO3: Neue Backend-Suche mit Autocomplete

Die Suche im Backend wurde in verschiedenen Punkten verbessert. Zunächst ist das Suchfeld nun immer sichtbar, muss also nicht mehr ausgeklappt werden. Dann kann man durch das Voranstellen des #-Zeichens gezielt nach bestimmten Datentypen suchen (z.B. #user:martin). Es gibt ferner eine Autocomplete-Funktion, welche laufend Treffer – sortiert nach Datentyp – ausweist. Auch die Filterfunktion für den Seitenbaum wurde optimiert.

TYPO3: Das Introduction Package, die neue Demo-Website

Für mich die vielleicht wichtigste Verbesserung ist das Introduction Package. Dabei handelt es sich um eine visuell ansprechende und im Sinne einer Best Practice aufgebaute Demo-Website, die man am Ende des Installationsprozesses mitinstallieren kann. Das schafft nicht nur die unsägliche Demo-Websites des FC Bigfeet aus der Welt, sondern verhindert auch, dass TYPO3-Neulinge an ihrer frischen TYPO3-Installation verzweifeln, weil man ohne die richtigen Konfigurationseinstellungen keinen vernünftigen Output im Frontend erhält. Das war längst fällig, und es scheint richtig gut gemacht zu sein.

TYPO3: Der neue Backend-Skin und der überarbeitete Seitenbaum

Der Standard-Backend-Skin, der in der Vergangenheit mehrfach leicht angepasst worden war, wurde weitere optimiert. Dies betrifft einerseits den technischen Aufbau (Handling von Icons und CSS, Nutzung von ExtJS, Verzicht auf Frames), andererseits aber auch das Design, das seine Herkunft zwar nicht verleugnet, aber doch deutlich edler und kontrastreicher daherkommt. Ausserdem wurden an vielen Stellen Korrekturen vorgenommen, um insgesamt ein konsistenteres und standardkonformeres Backend zu erhalten.

Viele Detailverbesserungen hat auch der Seitenbaum – der nun ebenfalls komplett auf ExtJS basiert – erlebt. Man kann ihn wegklappen, wenn er Platz benötigt wird, er bietet ein sehr schönes Drag & Drop (auch beim Einfügen von neuen Objekten), und er erlaubt das In-Place Editing von Seitentiteln.

df imgwatermark: Bilder automatisch mit Wasserzeichen versehen

image

Um Copyright-Ansprüche zu dokumentieren fügen viele Fotografen ihren Bildern ein sogenanntes Wasserzeichen hinzu. Bei einer grösseren Anzahl Bilder ist das eine langwierige und langweilige Arbeit. Mit der TYPO3-Extension df_imgwatermark lässt sich dies mit wenig Aufwand automatisieren. Der Text des Wasserzeichens wird als TypoScript-Konstante hinterlegt, und auch einige weitere Parameter (z.B. die Position auf dem Bild, Schriftgrösse und –farbe oder das Antialiasing) werden auf diesem Weg gesetzt. Zu diesem Zweck steht im Constants Editor eine entsprechende Eingabemaske zur Verfügung. Um das Wasserzeichen dann für ein bestimmtes Content-Element zu aktivieren muss nur noch die entsprechende Checkbox in den Bildeigenschaften angewählt werden.

image

Die Extension ist schon älter (das letzte Update erfolgte 2008), aber sie erfüllt weiterhin ihren Zweck. Leider fehlt das Handbuch, und auch in der Maske des Constants Editor sind die Parameter nur sehr knapp beschrieben. Zudem gibt es dort einen kleinen Bug, der das Dropdown für die Textausrichtung nach jedem Speichern wieder auf “links” zurücksetzt (wodurch man sie beim nächsten Speichern ungewollt ändert). Hat man aber einmal das Konzept verstanden und die Parameter definiert, dann ist die Extension ebenso praktisch wie simpel.

general_data_display: Einfache Datenbanken mit TYPO3 realisieren

Beispieldatenbank mit general_data_display

Vor einiger Zeit habe ich mich in diesem Blog mit Extensions befasst, welche Daten in Form von CSV-Dateien importieren und auf einer TYPO3-Website publizieren können (vgl. CSV-Dateien auf TYPO3-Websites publizieren mit csvdisplay und bit_csvtable). Die Extension general_data_display geht noch einen Schritt weiter: Damit kann man eine eigentliche Datenbank erstellen, d.h. eine Datenstruktur definieren und Daten erfassen – und zwar nicht etwa nur als Backend-Benutzer, sondern auch als Frontend-Benutzer.

Ein Beispiel: Nehmen wir an, Sie sind der Administrator der TYPO3-Website eines Vegetarier-Vereins. Der Verein möchte eine Datenbank mit vegetarischen Lebensmitteln auf seiner Website publizieren, die nach und nach durch die Mitglieder erstellt wird. Als Administrator legen Sie lediglich eine neue Seite an, binden das Plugin von general_data_display ein und vergeben geeignete Zugriffsrechte. Berechtigte Frontend-Benutzer können danach Kategorien und Datenfelder selbst definieren sowie Datensätze anlegen, bearbeiten und löschen. Und alle übrigen Website-Besucher können die Datenbank im Volltext durchsuchen.

Die Komplexität der Datenbanken, die Sie so erstellen können, hat natürlich Grenzen. Die Datensätze können zwar beliebig viele Felder haben, aber nur vom Typ Text (wahlweise ein- oder mehrzeilig) oder Ganzzahl. Eine vordefinierte Auswahl als Dropdown-Menü gibt es nur für die Kategorie. Alle Felder sind Pflichtfelder, ansonsten kann man keine Validierung vorgeben. Und eine relationale Datenbank mit verknüpften Tabellen liegt sowieso ausserhalb der Möglichkeiten dieser Extension.

Trotzdem: general_data_display ist eine sehr interessante Neuveröffentlichung. Bereits in der Version 1.0.1 bietet sie eine sinnvolle Ausstattung, welche für viele Bedürfnisse ausreicht. Und man darf gespannt sein, was zukünftige Versionen bringen (unter anderem hoffentlich auch ein Manual, welches derzeit noch fehlt).

wil_importcsv: Datenimport für TYPO3

Screenshot: wil_importcsv

Wie importiert man Daten, die in Form einer CSV-Datei vorliegen, in eine beliebige TYPO3-Datenbanktabelle? Beispielsweise mit der Extension wil_importcsv. Das Vorgehen könnte nicht einfacher sein:

  • Zunächst wird im Seitenbaum diejenige Seite (kann auch ein SysFolder sein) ausgewählt, in die man die Daten importieren möchte.
  • Danach wählt man die zu importierende CSV-Datei, das darin verwendete Trennzeichen zwischen den Feldern (normalerweise ein Strichpunkt) sowie die Zieltabelle aus (vgl. Screenshot).
  • Anschliessend erfolgt das Mapping, bei dem man die Felder der CSV-Datei (wird automatisch aus der ersten Zeile der CSV-Datei extrahiert) den Spalten der Datenbanktabelle zuordnet.
  • Schliesslich erhält man eine tabellarische Vorschau des zu erwartenden Resultats und kann den Import per Knopfdruck auslösen.

Die Extension installiert ein Modul im TYPO3-Backend, das auch für Nicht-Administratoren zugänglich ist. In der Konfiguration kann man gewisse Einschränkungen vornehmen, beispielsweise dass normale Backend User nur in ausgewählte Datenbanktabellen importieren dürfen.

Die Extension hat insofern noch eine besondere Rafinesse, als die importierten Daten je nach dem nicht einfach der Datenbank hinzugefügt werden, sondern dass bestehende Datensätze mit der gleichen UID aktualisiert werden.

Auf der anderen Seite habe ich aber auch einen Bug gefunden: Wenn die CSV-Datei nicht nur UIDs, sondern auch PID (Page IDs) enthält, werden die Daten nicht in die entsprechende Seite (und auch nicht in die ausgewählte Seite) importiert, sondern immer in die Seite mit der ID 1. Das Problem kann man nur umgehen, indem man die PID aus der CSV-Datei löscht.

TYPO3 Watchdog: Der Sicherheitsdienst für TYPO3-Websites

TYPO3 Watchdog

Es gibt viele Dinge, die man als TYPO3-Administrator beachten muss, wenn man seine TYPO3-Installation zuverlässig gegen Angreifer schützen will (vgl. TYPO3 Security Checklist: 47 Massnahmen, um eine TYPO3-Installation sicherer zu machen). Der Service TYPO3 Watchdog bietet hierbei Unterstützung, indem er TYPO3-Websites auf bekannte Probleme überprüft. Hierzu muss auf dem zu überwachenden System die Extension aba_watchdog installiert werden. Wenn man dieses System dann bei TYPO3 Watchdog registriert, erhält man eine ID zugewiesen, die man in die Extension-Konfiguration einträgt. Und schon liefert der Dienst Vorschläge für Massnahmen, um die Sicherheit zu verbessern – auf der Watchdog-Website sowie per E-Mail.

Das ist grundsätzlich ein interessantes Konzept, aber man darf nicht zu viel erwarten: Die Sicherheitsrisiken, die TYPO3 Watchdog derzeit erkennt, lassen sich leicht auch über das TYPO3-Backend finden. Derzeit prüft der Dienst vor allem Versionsnummern von Core und Extensions, ausserdem erkennt er ein nicht deaktiviertes Install Tool. Zu einer wirklich sicheren TYPO3-Installation gehört aber weit mehr als das.

Wer TYPO3 Watchdog nutzt muss sich ausserdem bewusst sein, dass er mit damit nicht nur Sicherheitsrisiken eliminiert, sondern auch neue schafft. Die Extension aba_watchdog öffnet eine Hintertüre zum System, die potentiell missbraucht werden kann. Auch die Website www.typo3watchdog.com ist ein attraktives Angriffsziel, denn wer sie knackt erhält Einblick in die Sicherheitslücken aller registrierten Websites.

Ich möchte mir kein abschliessendes Urteil über TYPO3 Watchdog erlauben, zumal der Dienst offenbar noch im Aufbau ist. Man würde sich aber in falscher Sicherheit wiegen, wenn man glauben würde, dass dies eine Patentlösung für alle Sicherheitsprobleme ist.

Nachtrag: Am 15. Dezember 2009 wurde bekannt, dass die Watchdog-Extension in der Version 2.0.2 eine Sicherheitslücke aufweist. Es wird ein Update auf die Version 2.0.3 empfohlen.

pitgoogleforecast: Wettervorhersage für TYPO3-Websites in 5 Minuten

Wettervorhersage mit pitgoogleforecast Eine lokale Wettervorhersage gehört bei einer Website aus dem Tourismussektor ganz einfach dazu. Sie soll möglichst mit hübschen Piktogrammen ausgestattet sein und vor allem über einen Datenfeed automatisch aktualisiert werden. Das kann aufwändig werden – muss es aber nicht, wie die TYPO3-Extension pitgoogleforecast zeigt: Diese greift auf die API von Google Weather zurück und zeigt wahlweise das Wetter des aktuellen Tages oder eine 4-Tages-Vorhersage. Im Backend muss man Ort und Sprache erfassen, ansonsten funktioniert die Extension out of the box. Etwas unschön ist, dass die 4-Tages-Vorhersage immer einen englischen Titel hat (also die Spracheinstellung nicht berücksichtigt) und jeden Tag den Ort mit ausgibt (welcher logischerweise immer derselbe bleibt). Trotzdem stehen bei dieser Extension Aufwand und Ertrag in einem guten Verhältnis.