Statische Seiten mit TYPO3


01.01.2005

Bei der Arbeit mit TYPO3 kann es immer wieder vorkommen, dass man auf Anforderungen von Kunden trifft, die TYPO3 nicht, oder nicht vollständig unterstützt. Wann immer dies der Fall ist, gibt es zwei Möglichkeiten sicher zu stellen, dass TYPO3 die gestellten Anforderungen erfüllt. Man kann erstens im TYPO3 Extension Repository (TER) nach einer geeigneten Erweiterung für TYPO3 suchen, oder zweitens eine eigene TYPO3 Erweiterung schreiben.

Anforderungen an TYPO3

In dem vorliegenden Fall geht es darum, dass aus TYPO3-Seiten HTML-Seiten erzeugt werden sollen. Die erzeugten HTML-Seiten sollen anschließend vom TYPO3-Server auf den Live-Server übertragen werden.

Hyperlinks innerhalb der Seiten sollen gut lesbar und gut zu merken sein. TYPO3 Erweiterungen welche auf der selben Seite verschiedene Ansichten darstellen können, z. B. tt_news werden nicht verwendet.

Szenarien in denen die Anforderungen benötigt werden

Für die Anforderung, dass TYPO3 statische HTML-Seiten zu erzeugen soll, kann es eine Vielzahl von Gründen geben. Die wichtigsten dürften sein:

  • Eine hohe Serverlast bei stark frequentierten Websites.
  • Der TYPO3-Server ist nur innerhalb des Firmen-Netzwerks erreichbar.
  • Die Skriptsprache PHP steht auf dem Live-Server nicht zur Verfügung.
  • HTML-Seiten können schneller ausgeliefert werden als dynamische Seiten.
  • Erhöhte Kontrolle über den Ablauf einer Veröffentlichung von Informationen.

Einen kontrollierten Veröffentlichungsprozess wird es in der kommenden Version 4.0 von TYPO3 geben. Die sogenannten Workspaces erlauben, dass Inhalte unabhängig voneinander verwaltet werden können und lassen so änderungen an Struktur und Inhalt einer Website zu, ohne dass diese sofort sichtbar werden..

Wie machen das andere WCMS?

Bevor wir die umgesetze Lösung näher erläutern, schauen wir wie andere Web Content Management Systeme (WCMS) das Thema der statischen Publizierung angehen.

Imperia WCMS: Imperia kann Dateien erstellen und mittels der Protokolle HTTP, FTP, SSH und Webdav auf entfernte Server übertragen.

Reddot CMS: Reddot kann erzeugte Dateien lediglich über das FTP Protokoll auf einen anderen Server übertragen.

Mit beiden Produkten ist es möglich auch ASP, JSP oder PHP-Dateien zu generieren, so dass interaktive Elemente verwendet werden können. Dieses ist zum jetzigen Stand der Entwicklung noch nicht mit der TYPO3 Lösung möglich, ist aber in der Planung. Wie sieht die Lösung mit TYPO3 aus?

Der Kern unserer Lösung besteht aus den Backend (BE) Modulen "Static Publish" und "Static Upload". Eine weitere Erweiterung "XML Import", stellt Static Publish verschiedene Funktionalitäten zur Verfügung, die den Import von XML-Daten in die Datenbank betreffen.

XML Import

Die Erweiterung XML Import erzeugt aus dem TYPO3 Seitenbaum ein XML Format, welches als Grundlage für den Publishprozess dient. Somit ist es auch möglich nur Teile der Website statisch zu publizieren.

Static Publish

Das Modul Static Publish liest die XML Datei und beginnt die Seiten zu generieren und legt diese in das hierzuvorgesehene Verzeichnis auf den Server ab. Weiterhin wird ein Eintrag in einer Statusdatenbank abgelegt, so dass nachvollzogen werden kann welche Seiten schon erzeugt und abgespeichert wurden und welche Seiten und Dateine noch zu erzeugen sind. Static Upload

Die erzeugten HTML-Seiten sollen von dem TYPO3-Server auf den Live-Server übertragen werden. Diesen Teil der Arbeit übernimmt das BE Modul Static Upload. Hierzu stehen sogenannte Upload-Dienste zur Verfügung. Aktuell realisiert sind scp für die Zielplatformen Windows und Linux. In Planung ist ein FTP Uploaddienst, sowie ein rsync Dienst.

Wählen wir "Statischer Upload" aus dem Funktionsmenü, so erhalten wir eine DropDown Box mit allen TYPO3 Domain Einträgen unserer TYPO3 Installation. Wenn wir jetzt einen der Einträge auswählen und auf die Schaltfläche "Seiten übertragen" klicken, beginnt der Upload-Vorgang. Das wir sofort wieder eine Bestätgungsmeldung erhalten liegt daran, dass der Upload-Vorgang im Hintergrund ausgeführt wird. Sobald der Upload Vorgang beendet ist erhalten wir darüber eine Benachrichtigung per eMail.

Alle Einstellungen für einen Upload Vorgang werden mittels TS vorgenommen. Liegt für einen TYPO3 Domain Eintrag keine entsprechende TS Konfiguration vor, wird eine Fehlermeldung angezeigt.

Die Verwendung von TS für die Konfiguration des Upload Vorgangs hat den Vorteil, dass wir flexibel auf die Konfiguration zukünftiger Upload-Dienste reagieren können, ohne dass eine Zeile PHP geschrieben oder geändert werden muss.

Ausblick

Die d.k.d Internet Service GmbH hat diie in diesem Artikel beschriebenen TYPO3 Erweiterungen veröffentlicht. Im TER (TYPO3 Extension Repository) und im CVS Repository von TYPO3xdev sind zur Zeit die Erweiterungen dkd_tools, dkd_staticupload, dkd_staticuploadscp und dkd_staticuploadwinscp zu finden. Die Erweiterungen dkd_xmlimport und dkd_staticpublish sind bislang nur über das CVS Repository von TYPO3xdev erhältlich. Für diese Extensions muss erst noch die nötige Dokumentation geschrieben werden, bevor sie im TER veröffentlicht werden. Im Gespräch ist die Weiterentwicklung eines generischen internen Crawlers, der als Ersatz für den XML Import dienen soll und weiteren Erweiterungen zusätzliche Funktionen zur Verfügung stellt. Verbesserungen an den Extensions führen wir mit Hilfe der TYPO3 Community durch. über Anregungen und Ideen an die eMail Adresse typo3@dkd.de freuen wir uns sehr.


Kommentare

Bitte beachten Sie unsere Informationen zum Datenschutz.

blog comments powered by Disqus

Weitere Artikel zum Thema

alle Artikel zum Thema

Autor

  • Andreas Otto

Andreas Otto arbeitet als TYPO3 Entwickler und Web Entwickler für die d.k.d Internet Service GmbH in Frankfurt am Main. Neben seiner Arbeit kümmert er sich für die TYPO3 Community um die Verwaltung der Schreibberechtigungen.




Unsere Experten


alle Experten

Premium Lösungen

Marktübersicht

Premium Services

Dienstleisterübersicht