XSL / XSLT als Templatesystem

Bekanntlich setzt das papaya CMS bereits seit Version 1 (um 2000) auf XSL / XSLT als Templatesystem. Auch wenn der Standard schon viele Jahre besteht und z.B. im professionellen Umfeld (große Softwareprojekte, insbesondere im Java Bereich) eine große Wertschätzung und Verbreitung genießt, so ist die Wahrnehmung bei vielen PHP Entwicklern leider noch anders. Und das obwohl XSL / XSLT ein offener Standard ist, der die vielbeschworene Trennung von Logik, Inhalt und Layout sauber implementiert und der nicht zuletzt beliebige Ausgabeformate (HTML, XML, PDF u.v.m.) ermöglicht.

Umso erfreulicher ist es immer, wenn die mannigfaltigen Vorteile gegenüber proprietären Script- und Templatesprachen die Runde machen – wie aktuell in einem lesenswerten Beitrag von phpmonkeys.de.

Fazit der Autoren:

Der Vorteil von XSL ist, dass man dieses Verfahren mit jeder Programmiersprache einsetzen kann, die einen XSLTProzessor mitbringt. Und dabei können Template- und Layout-Dateien ohne Aufwand migriert werden. Man benötigt nur eine ähnliche Implementierung wie der HTMLGenerator und Logik, die die XML-Daten generiert.

…das völlig korrekt – neben weiteren Vorteilen:

  • offener Standard des W3C, keine proprietäre Lösung
  • in die Einarbeitung investierte Zeit ist nicht auf ein Produkt begrenzt, sondern kann in verschiedenen Projekten angewandt werden
  • hervorragend dokumentierter Standard, viel Literatur verfügbar
  • hohe Verbreitung in der Java-Welt
  • mächtiges Werkzeug/Programmiersprache
  • gut nutzbar für Internationalisierung der Ausgabe
  • und viele, viele mehr… ;-)

Kurzmitteilung: Import von OpenOffice Dokumenten in das papaya CMS

Mein Arbeitskollege Martin hat ein papaya Modul entwickelt, mit dem sich OpenOffice Dokumente in das papaya CMS importieren lassen. Das Modul steht (neben anderen papaya Plugins wie einem Gästebuch und einer Google Maps API) im Downloadbereich seiner Website frei zur Verfügung)

Max hat dazu in seinem Blog eine hervorragende Einführung veröffentlicht, auf die hiermit verwiesen sei.

Als “Appetizer” hier die ersten zwei Absätze ;-)

Mit dem von Martin Kelm entwickelten Importmodul für das Oasis-Dokumentenformat kann man OpenOffice-Dokumente in papaya CMS importieren. Dies ist möglich, da der Inhalt eines OpenOffice-Dokuments intern als XML-Datei vorliegt. Durch ein XSLT-Stylesheet lässt sich das OpenOffice-Format in ein durch papaya CMS lesbares Importformat umwandeln.

Papaya CMS bietet eine entsprechende API-Schnittstelle für Importfilter an, sodass man sich als Programmierer allein auf die Umwandlung des Dokumentenformats konzentrieren kann.

Geo Maps (Google Maps) und das papaya CMS

Mein Arbeitskollege Martin hat seine Präsentation zur Nutzung von Geo Maps (also Google Maps, Yahoo Maps etc.) mit dem entsprechenden papaya Modul / Plugin bei Slideshare eingestellt. Ursprünglich gehalten wurde die Präsentation bei einem Treffen der PHPUG (PHP User Group) in Köln.

Sicherung der Codequalität mit SVN Hooks

Wir haben bei papaya mit dem Wachstum des Entwicklerteams das Problem gehabt, dass Coding Standards (unsere sind in enger Anlehnung an die PEAR Coding Standards entstanden) nicht immer von allen Kollegen exakt 1:1 eingehalten wurden. Manchmal übersah ein Mitarbeiter etwas, manchmal machte seine individuelle Entwicklungsumgebung (bei uns viel Eclipse, ein wenige VIM und anderes) die Einrückungen etwas unsauber etc.

Wir nutzen daher die “Pre-Commit-Hooks” im SVN, um vor dem Commit ins zentrale SVN einige Tests durchzuführen. Nur wenn diese erfolgreich verlaufen, kann ein Commit erfolgen – nur dann geht der Quellcode ins SVN.

Mein Kollege Thomas Weinert hatte hierzu neulich folgende Präsentation gehalten, die das ganze im Groben erläutert:

SVN Hook

papaya CMS: Nighly builds ab sofort verfügbar!

Hinweis in eigener Sache:

Ab sofort stehen nightly builds (also jede Nacht automatisch aus dem internen papaya SVN erzeugte Exports des kompletten papaya CMS) unter folgenden URLs zur Verfügung: