Anzeige
Anzeige
Software
Artikel merken

Der Code-Basar in neuem Glanz: TYPO3 4.0: TER 2.0

Pünktlich zur Veröffentlichung der TYPO3 Version 4.0 wird das Extension Repository in einer völlig neu entwickelten Version online gehen. Auch wenn sich an der Oberfläche zunächst nur wenige Änderungen orten lassen, legt das TER 2.0 den Grundstein für eine zuverlässige und flexible Art, Erweiterungen und Dokumentationen auszutauschen.

5 Min. Lesezeit
Anzeige
Anzeige

Das TER (TYPO3 Extension Repository) wird oft als das Herz des
TYPO3-Projekts angesehen. Die Plattform, die Kasper Skårhøj Ende 2002
zusammen mit TYPO3 3.5.0 veröffentlichte, dient als zentraler
Austauschpunkt für die mehr als tausend Erweiterungen, die von
Mitgliedern der Community entwickelt wurden. Der umfangreiche
Dokumentationsbereich, der durch das TER bereitgestellt wird, ist der
am häufigsten besuchte Bereich auf typo3.org.

Anzeige
Anzeige

Seit der Entwicklung des TER hat sich die Community stark vergrößert
und der Erfolg von TYPO3, der sich nicht zuletzt durch den einfachen
Austausch von Erweiterungen begründet, hat die Zugriffszahlen stetig
steigen lassen. Wie sich bald herausstellte, war das Repository dem
Ansturm der 25.000 registrierten Nutzer nicht mehr gewachsen. Die in
der Datenbank gespeicherten Erweiterungen nehmen zurzeit eine Größe
von mehr als 1,7 Gigabyte ein – kein Leichtgewicht bei tausenden
von Anfragen jeden Tag. Ein neues Repository soll hier Abhilfe
schaffen und, aufbauend auf ein neues Konzept, auch neue Möglichkeiten
bieten.

Auf der T3BOARD05 (TYPO3-Snowboard-Tour 2005) entstand zusammen mit Michael Hirdes und
Karsten Dambekalns ein erster Entwurf [1] zur Restrukturierung des TER. Die
wichtigsten Anforderungen an ein neues System waren Schnelligkeit,
Ausfallsicherheit und Erweiterbarkeit. Im Juli 2005 startete die Umsetzung des Konzepts, nachdem die Karlsruher Firma punkt.de
sich bereit erklärte, die Entwicklung des TER 2.0 finanziell zu
unterstützen.

Anzeige
Anzeige

Die Implementierung des ursprünglichen Repositories entpuppte sich
durch die intensiven Datenbankzugriffe im Laufe der Zeit als schlecht
skalierbar. Um das TER ausfallsicher zu gestalten, musste außerdem eine
Lösung geschaffen werden, die es auf einfache Weise ermöglicht, das
Repository auf andere Server zu spiegeln. Das TER 2.0 speichert deshalb alle Erweiterungen als Dateien in einer
Verzeichnisstruktur (s. Abb.). Beim Entwurf dieser Lösung
stand unter anderem das ebenfalls dateibasierte Debian Package System Pate.

Anzeige
Anzeige

Extension Manager mit SOAP-Anbindung

Auch die internen Abläufe haben sich deutlich verändert. Um eine
Erweiterung in das neue Repository hochzuladen, ruft nun eine angepasste
Version des Extension-Managers eine bestimmte Funktion des TER 2.0 per SOAP-Schnittstelle auf. Der SOAP-Server nimmt die Anfrage
entgegen und speichert die Erweiterung als Datei in seinem
Verzeichnisbaum. Anschließend wird der Index aller verfügbaren
Erweiterungen (extensions.xml.gz) aktualisiert. Für das Herunterladen einer Anwendung braucht sich der Extension
Manager weder wie bisher (via POST), noch über eine SOAP-Anfrage mit
dem Hauptserver zu verbinden. Er lädt lediglich das
Extensionsverzeichnis (extensions.xml.gz) herunter und erhält damit
alle notwendigen Informationen, um eine Liste aller verfügbaren
Erweiterungen darzustellen. Hat der Nutzer sich für eine Anwendung
entschieden, lädt der Extension Manager die entsprechende .t3x-Datei
direkt aus dem Verzeichnisbaum.

Die neue SOAP-Schnittstelle wird also nur bei speziellen und eher
selten benötigten Funktionen eingesetzt, etwa um neue Erweiterungen
herunterzuladen oder Extension Keys zu registrieren. In allen anderen
Fällen wird durch den direkten Dateizugriff eine enorme Entlastung des
Servers und damit ein genereller Geschwindigkeitszuwachs erreicht.

Anzeige
Anzeige

Doppelt gespiegelt hält besser

Verzeichnisse und Dateien lassen sich durch Tools wie Rsync [2] sehr
einfach auf andere Server spiegeln. Wenn es in Zukunft mehrere Mirrors
des TER gibt, wird der Extension Manager automatisch den aktuell
schnellsten Server auswählen und die Erweiterungen von diesem
herunterladen.

Da durch das Spiegeln des TER alle dort gespeicherten Informationen
öffentlich sind, wird es in Zukunft keine privaten Erweiterungen mehr
geben können. Während der Umstellung des Repositories auf das TER 2.0
werden daher alle nicht-öffentlichen Erweiterungen gelöscht. Eine
frühzeitige Warnung wird rechtzeitig auf typo3.org veröffentlicht
werden. Wenn eine Extension, etwa während der Entwicklung, nur
innerhalb eines bestimmten Personenkreises ausgetauscht werden soll,
kann auf einfache Weise ein Repository auf dem eigenen Webserver
angelegt und dessen Adresse der Konfiguration des Extension Managers
hinzugefügt werden.

Neue Möglichkeiten

Bei der Entwicklung des TER 2.0 wurde darauf geachtet, die
serverseitig
benötigten Funktionen modular auf verschiedene Extensions
aufzuteilen (siehe Kasten). Diese Aufteilung ermöglicht es auch anderen
Entwicklern, auf einfache Art und Weise neue Funktionen beizutragen,
ohne
dass der Kern des Repositories verändert werden muss. Nachdem das TER
2.0 seine Feuertaufe bestanden hat, werden seit langem gewünschte
Funktionen verwirklicht.
Geplant ist unter anderem ein Bewertungssystem, mit dem die
Mitglieder der Community Rezensionen zu den veröffentlichten
Erweiterungen schreiben und diese bewerten können. Auch die
automatische Analyse von Erweiterungen auf bestimmte Sicherheitslücken
oder das Ausführen von Unit-Tests sind denkbare Ergänzungen.

Anzeige
Anzeige

Neues Format für Dokumente

Auch das Rendering und die Anzeige von
Dokumenten wurde in eine eigene Komponente verfrachtet. Die Erweiterung
„ter_doc“ konvertiert regelmäßig die Handbücher der neu hochgeladenen
Erweiterungen in das intern verwendete DocBook-Format. Anschließend
werden diverse Ausgabeformate durch separat installierte Erweiterungen
(„ter_doc_html“ etc.) erzeugt. Das XML-basierte DocBook ist ideal für die Speicherung von
Dokumentationen und Artikeln geeignet und eröffnet, neben der
automatischen Erzeugung zahlreicher Ausgabeformate, auch weitere
wichtige Möglichkeiten bei der Erstellung, Pflege und Übersetzung von
Dokumenten. Obwohl Handbücher langfristig gesehen von vornherein im
DocBook-Format produziert werden sollten, kann der TYPO3-Entwickler
die Dokumentation seiner Erweiterung nach wie vor als
OpenOffice-Writer-Datei
beifügen. Die Dokumente werden – sofern der Autor die empfohlene Vorlage [3] verwendet hat – problemlos konvertiert.

Die Roadmap

Die TYPO3-Version 4.0 wird bereits den neuen Extension Manager
enthalten, der den Zugriff auf das TER deutlich beschleunigen wird.
Äußerlich wird sich zunächst kaum etwas ändern, da zuerst die
Basis-Funktionen integriert werden. Anfang nächsten Jahres wird es dann
eine erweiterte Version des Extension Managers mit einigen spannenden
neuen Funktionen geben, die das Entwicklerdasein einfacher machen. Das
Extension Repository befindet sich bei Redaktionsschluss noch in der
Testphase und kann, aller Voraussicht nach, kurz vor oder nach der
Veröffentlichung von TYPO3 4.0 online gehen. Anschließend wird es
noch einige Wochen dauern, bis auch äußerlich die neuen
Möglichkeiten und Funktionen in Erscheinung treten. Wer zur weiteren Entwicklung des TER beitragen möchte, ist herzlich
eingeladen im typo3.org-Team [4] mitzuwirken. Insbesondere bei der
Weiterentwicklung des Documentation-Frameworks ist tatkräftige
Unterstützung willkommen.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
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

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige