Mittwoch, 13. Oktober 2010

Die Bausteine

Also kurz zusammengefaßt: Ich habe kein "schönes" CMS gefunden, bei dem man auch für mich verständlich einfach Programmierung hinzufügen kann. Und ich fand das Hostingangebot bei Googles App Engine recht interessant.

Was brauche ich nun, um meine Website zu realisieren?
1. Daten als Model für die Darstellung
2. Controller, die entscheiden, was passieren soll - zur Not eben nur, welcher View zu wählen ist
3. Views

Für die Daten nehme ich am einfachsten so einen netten Persistenzlayer, bei dem ich das Modell einfach in meiner Systemsprache beschreibe, ohne externe XML-Dateien oder sonstige Prozesse. Bei der Google App Engine drängt sich da ein wenig JDO auf, mit dem ich einfach mein Datenmodell beschreiben konnte. Es gibt da ein paar Haken, aber bisher habe ich die nach ein paar Tagen Frust darüber, daß wir nicht in einer idealen Welt leben, verdrängen können.

Über diese Daten wollte ich dann gerne die Templates schreiben. Nicht so, wie man das sonst immer sieht, sondern objektorientiert. Das ist für michverständlicher als alles, was ich von OpenCMS, Vosao, Joomla et al kenne. Ich kenne das vom CoreMedia CMS mit der Content Application Engine. Ich suche mir also ein Objekt heraus und Suche ein Template anhand der Java-Klasse dieses Objektes. Die Templates selbst schreibt man dann einfach als JSP. Diesen Template-Lookup mußte ich mir selbst schreiben, aber das war als solches in ein paar Stunden erledigt.

Danach wurde die Lösung schwergewichtiger, da ich ja wenig coden wollte. Als Controller und zur Integration der Logik, die die Templates heraussuchte, habe ich mir das Springframework aufgehalst. Warum das? Mit den den vielen schönen Features von Version 3 - insbesondere den @Controllern - kann man so schön einfach das URL Handling bauen. Die Implementierungen sind schlank, die Konfiguration sehr bequem.

So, und damit ist ein System zur Darstellung von strukturierten Daten im Web fertig. Es ist kein CMS und es ist auch keine Content Application Engine. Es ist mehr so wie im "Anhalter durch die Galaxis": Es schmeckt so ähnlich wie Tee, ist aber keiner. Was dabei insbesondere fehlt, ist die Möglichkeit die Daten einzugeben und zusammenzustöpseln, wie dies ja auf der anderen Seite die Templates nutzen würden, um daraus wieder HTML, CSS und alle seine Freunde zu machen.

Keine Kommentare:

Kommentar veröffentlichen