Statische Seiten mit TYPO3


01.01.2005

Bei der Arbeit mit TYPO3 kann es immer wieder vorkommen, dass manauf Anforderungen von Kunden trifft, die TYPO3 nicht, oder nichtvollständig unterstützt. Wann immer dies der Fall ist,gibt es zwei Möglichkeiten sicher zu stellen, dass TYPO3 diegestellten Anforderungen erfüllt. Man kann erstens im TYPO3Extension Repository (TER) nach einer geeigneten Erweiterungfür TYPO3 suchen, oder zweitens eine eigene TYPO3 Erweiterungschreiben.

Anforderungen an TYPO3

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

Hyperlinks innerhalb der Seiten sollen gut lesbar und gut zu merkensein. TYPO3 Erweiterungen welche auf der selben Seite verschiedeneAnsichten darstellen können, z. B. tt_news werden nichtverwendet.

Szenarien in denen die Anforderungen benötigtwerden

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

  • Eine hohe Serverlast bei stark frequentierten Websites.
  • Der TYPO3-Server ist nur innerhalb des Firmen-Netzwerkserreichbar.
  • Die Skriptsprache PHP steht auf dem Live-Server nicht zurVerfügung.
  • HTML-Seiten können schneller ausgeliefert werden alsdynamische Seiten.
  • Erhöhte Kontrolle über den Ablauf einerVeröffentlichung von Informationen.Einen kontrollierten Veröffentlichungsprozess wird es in derkommenden Version 4.0 von TYPO3 geben. Die sogenannten Workspaceserlauben, dass Inhalte unabhängig voneinander verwaltet werdenkönnen und lassen so Änderungen an Struktur und Inhalteiner 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) dasThema 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 Protokollauf einen anderen Server übertragen.

Mit beiden Produkten ist es möglich auch ASP, JSP oderPHP-Dateien zu generieren, so dass interaktive Elemente verwendetwerden können. Dieses ist zum jetzigen Stand der Entwicklungnoch nicht mit der TYPO3 Lösung möglich, ist aber in derPlanung. Wie sieht die Lösung mit TYPO3 aus?

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

XML Import

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

Static Publish

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

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

Übersicht der installierten Upload Dienste.

Wählen wir „Statischer Upload“ aus demFunktionsmenü, so erhalten wir eine DropDown Box mit allenTYPO3 Domain Einträgen unserer TYPO3 Installation. Wenn wirjetzt einen der Einträge auswählen und auf dieSchaltfläche „Seiten übertragen“ klicken,beginnt der Upload-Vorgang. Das wir sofort wieder eineBestätgungsmeldung erhalten liegt daran, dass derUpload-Vorgang im Hintergrund ausgeführt wird. Sobald derUpload Vorgang beendet ist erhalten wir darüber eineBenachrichtigung per eMail.

Alle Einstellungen für einen Upload Vorgang werden mittels TSvorgenommen. Liegt für einen TYPO3 Domain Eintrag keineentsprechende TS Konfiguration vor, wird eine Fehlermeldungangezeigt.

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

Ausblick

Die d.k.d Internet Service GmbH hat diie in diesem Artikelbeschriebenen TYPO3 Erweiterungen veröffentlicht. Im TER(TYPO3 Extension Repository) und im CVS Repository von TYPO3xdevsind zur Zeit die Erweiterungen dkd_tools, dkd_staticupload,dkd_staticuploadscp und dkd_staticuploadwinscp zu finden. DieErweiterungen 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ötigeDokumentation geschrieben werden, bevor sie im TERveröffentlicht werden. Im Gespräch ist dieWeiterentwicklung eines generischen internen Crawlers, der alsErsatz für den XML Import dienen soll und weiterenErweiterungen zusätzliche Funktionen zur Verfügungstellt. Verbesserungen an den Extensions führen wir mit Hilfeder TYPO3 Community durch. Über Anregungen und Ideen an dieeMail Adresse typo3@dkd.de freuen wir uns sehr.


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