News 3.0: Einblicke in die neue tt_news-Version
Die kommende Version 3.0 der Extension tt_news [1] bietet viele Verbesserungen und neue Funktionen. Zu den Highlights in tt_news 3.0 zählen unter anderem:
- Neues Updatescript zur problemlosen Migration von älteren tt_news-Versionen
- Backend-Modul zum Verwalten der News und Kategorien
- Viele neue Konfigurationsmöglichkeiten durch „OptionSplit“ für fast alle Parameter im Frontend-Plugin
- Neue „CODES“ und HTML-Templates
- Generische HTML-Template-Marker
- Backend-Formulare für News und für das News-Plugin überarbeitet
- Performance-Optimierungen (Refactoring, internes caching)
Ausserdem sind nun alle Text-Ausgaben im Frontend und Backend komplett lokalisierbar.
Das alte Updatescript in tt_news sollte das Aktualisieren von tt_news 1.x auf 1.5 erleichtern. Diese Versionen waren vor etwa vier Jahren aktuell – Zeit also, dieses Skript zu überarbeiten.
Das neue Updatescript führt einige Tests durch, um Probleme zu erkennen, die beim Update der Extension auf die neue Version enstehen können. Folgende Tests werden in diesem Zusammenhang durchgeführt:
- Suche nach TypoScript-Template-Datensätzen mit veralteten Pfaden
- Suche nach nicht existierenden HTML-Templates
- Suche nach Feldern, die im Plugin-Formular verschoben wurden
Bei Problemen, beispielsweise ein Eintrag im Feld „listLimit“ im Flexform des Plugin-Content-Elements, bietet das Updatescript an, diesen Wert in allen gefundenen Content-Elementen in das neue Feld zu kopieren. Auf diese Weise werden alle Änderungen abgearbeitet, die in tt_news 3.0 inkompatibel zur Version 2.5.x sind.
tt_news 3.0 führt mit „News-Admin“ ein neues Backend-Modul ein, das dabei hilft, News und Kategorien komfortabel zu verwalten. Das Modul zeigt die Kategorien als Baum neben den dazugehörigen Artikeln. Der Kategorien-Baum bietet alle Funktionen, die man auch aus dem Seitenbaum kennt, beispielsweise ein Kontextmenü sowie „Drag & Drop“ von Kategorien.

Das neue Backend-Modul „News-Admin“ bietet eine komfortable Möglichkeit, News und Kategorien zu verwalten. News-Redakteure benötigen nur noch dieses Modul zum Bearbeiten der Artikel.
Die Listenansicht im „News-Admin“-Modul ist weitgehend frei konfigurierbar (TSConfig) und zeigt einem Redakteur bereits in der Liste, welche Artikel er bearbeiten darf und welche nicht.
Administratoren haben so bessere Möglichkeiten, fein abgestufte Berechtigungen für das Bearbeiten von News und Kategorien zu setzen, die weit über das hinaus gehen, was das normale Listenmodul im TYPO3-Backend bietet.
OptionSplit für tt_news ist das wichtigste neue Feature in Version 3.0. Obwohl OptionSplit gleich am Anfang der TypoScript-Referenz „TSref“ [2] erwähnt und ausführlich beschrieben wird, hat diese Funktion in TYPO3 bisher nicht die Aufmerksamkeit bekommen, die ihr gebührt.

Um diese Seite darzustellen, benötigte man in tt_news 2.5.x insgesamt 4 Plugins. In tt_news 3.0 geht das gleiche mit nur einem Plugin.
OptionSplit wird bisher in TypoScript verwendet, um zum Beispiel bei einem Menü den ersten und letzten Link anders als die restlichen Links darzustellen. Ein Menü ist eine Liste von Datensätzen (Seiten) und tt_news listet ebenfalls Datensätze auf. Da lag es nahe, das Prinzip „OptionSplit“ auch auf Artikellisten anzuwenden, dachte sich Jonas Dübi und schrieb den ersten Patch für „OptionSplit for alternating template parts“.
In tt_news 3.0 ist OptionSplit für viele weitere Parameter verfügbar. So ergeben sich neue Möglichkeiten, komplexe Plugin-Konstellationen zu realisieren, die so vorher entweder gar nicht oder nur mit sehr großem Aufwand zu erreichen waren.
Ein Beispiel: Sollte tt_news 2.5.x eine Artikelliste anzeigen, bei der die Bilder in verschiedenen Größen erscheinen, kam für jede Bildgröße ein eigenes Plugin zum Einsatz. In tt_news 3.0 kann jedes Bild in einer Liste eine andere Größe haben (Siehe Listing 1). Das gilt auch für viele weitere Parameter wie für alle TyposScript „wraps“. Durch diese neuen Möglichkeiten ersetzt ein einziges Plugin-Element gleich mehrere Plugins. Weniger Plugin-Elemente zu verwenden, ist nicht nur einfacher in der Konfiguration, sondern es wird zur Anzeige auch wesentlich weniger Rechenleistung auf dem Server benötigt.
plugin.tt_news { displayList.image.file.maxW = 300 || 300 |*| 200 |*| 100 || 80 || 65 }
Listing 1
Das Eingabeformular im tt_news-Content-Element wurde überarbeitet und erweitert. Die auffälligste Änderung ist das neue Auswahlfeld für „Ansicht“ (what to display), das nun keine Mehrfachauswahl mehr erlaubt, dafür aber vier neue Ansichtsmodi bietet, zum Beispiel ein Template für eine Listenansicht mit sechs verschiedenen Template-Teilen, die dank Optionsplit-Unterstützung getrennt voneinander konfigurierbar sind.
Einige weniger oft verwendete Optionen befinden sich nun auf dem Reiter „Sonstige Einstellungen“ (Other Settings). Die Einstellungen für die maximale Artikelanzahl und den Pagebrowser stehen nun unter dem Reiter „Vorlage“ (Template). Falls diese Felder Werte enhalten, können diese Einstellungen mit dem eingangs erwähnten Updatescript in die neuen Felder kopiert werden.
Um neue Felder zum tt_news-Datensatz hinzuzufügen, war es bisher nötig, auch den PHP-Code zu schreiben, der diese Felder in HTML-Marker ausgibt. In tt_news 3.0 ist das nicht mehr nötig. Dank der Integration der Extension „newsgenericmarkers“ von Georg Ringer kann nun jedes Feld im tt_news-Datensatz in einem frei konfigurierbaren HTML-Template-Marker ausgegeben werden. Das gilt auch für Felder, die man mit dem Kickstarter selber hinzugefügt hat.
Nach einer gründlichen Überarbeitung und Umstrukturierung des PHP-Codes und der Einführung mehrerer interner Caches benötigt tt_news 3.0 unter günstigen Bedingungen nur noch einen Bruchteil der Zeit, die frühere tt_news-Versionen zum Generieren des selben Inhalts benötigten.
Besonders das Archivmenü, das in früheren tt_news-Versionen den Server schnell an seine Leistungsgrenzen brachte, ist dank internem Caching und diversen neuen Konfigurationsmöglichkeiten wesentlich schneller geworden. So kann beispielsweise das Archivmenü auf die Artikel eines Jahres begrenzt werden, was die Anzahl der benötigeten Datenbank-Operationen für die Anzeige dieses Plugins drastisch verringert.
Alle von tt_news verwendeten Datenbanktabellen haben darüber hinaus sinnvolle Indizes bekommen, die die Last auf dem Datenbankserver weiter verringern.
Dieser Artikel kann nur einen generellen Überblick über die wichtigsten neuen Features geben. Detailliertere Informationen über alle neuen Funktionen und Konfigurationsparameter finden sich in dem Dokument „tt_news 3.0 changes“ [3]. Dieses Dokument enthält auch eine genaue Anleitung zur Aktualisierung einer bestehenden tt_news-Installation auf die neue Version.
tt_news 3.0 ist kompatibel zu allen unterstützten TYPO3 Versionen (4.1 bis 4.3). Nur das Modul „News-Admin“ ist unter TYPO3 4.1 nicht verfügbar, da es das neue Backend-Layout benötigt, das erst in TYPO3 4.2 eingeführt wurde.
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