Stage-Assistent und StageNotes
Auf den 1&1 Entwicklungsservern wird eine Konsole (Stage-Assistent) zur Unterstützung bei der Entwicklung des Frontends angezeigt. Diese Konsole ist eine Weiterentwicklung der Standard-Pustefix-Konsole mit Features wie Varianten-Auswahl, Editiermodus, Anzeige des DOM-Trees und Systeminformationen.
Eine weitere Komponente des Stage-Assistent sind die sogenannten StageNotes. Diese erlauben es, "Notizen" direkt in die Webseiten zu integrieren und einem bestimmten Empfänger zuzustellen. Diesem wird, ausgelöst durch einen AJAX-Request, per E-Mail ein Hinweis auf die Nachricht zugestellt. Ein Link ermöglicht dabei die Anzeige der Notiz auf der entsprechenden Seite.
Auf einer Seite sind beliebig viele StageNotes für unterschiedliche Empfänger platzierbar.
Inspiriert wurde die Entwicklung von dem Artikel StickyTag: Web post-its bei Ajaxian.
Ein Grund mehr für valides Markup
Die 1&1 Bestellfrontends basieren fast ausschließlich auf dem im Haus entwickelten Java-Framework Pustefix. Aus (Front-)Frontend-Sicht bedeutet dies, daß alle Seiten eines Projekts (und das sind mitunter hunderte) mit XSLT in unterschiedlichen Transformationsstufen zu einem HTML-Output transformiert werden. Dieser Ansatz bietet eine ganze Reihe großartiger Möglichkeiten. Innerhalb des Markup lassen sich z.B. eigene Elemente verwenden, welche dann mit Hilfe von XSLT Stylesheets zu HTML-Code transfromiert werden. Das wird im Wesentlichen dazu benutzt, um XML-basiert logische Entscheidungen treffen zu können, wie dieses generierte Markup auszusehen hat.
Was hat das jetzt mit validem Code zu tun? Ich habe in der letzten Woche eine größere Aufräumaktion gemacht, in der ich ca. 7000 Zeilen veralteten XSLT-Code aufgespürt und gelöscht habe. Das Problem, das man im Frontend dabei hat, ist folgendes: Wären bei dem gelöschten XSLT Templates dabei gewesen, die noch benötigt worden wären, wäre das nicht aufgefallen. Das liegt in der Arbeitsweise des XSLT-Prozessors begründet. Man hätte dann die erwähnten eigenen Elemente im Output wiedergefunden. In etwa so:
<p>
Geben sie Ihr Geburtsdatum ein: <getBirthDate/>
</p>
Dabei hätte das Element getBirthDate eigentlich zu vernünftigem HTML (z.B. einem <input>-Tag) transformiert werden müssen.
Aufspüren lassen sich solche Fehler eigentlich ganz einfach: Ist das generierte Dokument nicht valide (und so etwas würde sich automatisch feststellen lassen) trat ein Fehler auf. Das funktioniert aber nur - und jetzt kommt's - wenn man davon ausgehen kann, daß das Dokument vorher definitiv valide war. Sonst mischen sich invalide HTML-Konstrukte mit invaliden eigenen Elementen - blöd, denn dann ist automatisiert leider überhaupt nichts mehr feststellbar, denn was vorher schon invalide war, läßt sich auf dieses Kriterium leider nicht überprüfen.
1&1 MediaCenter ist online
Seit einigen Wochen ist das neue 1&1 MediaCenter online. Erwähnen möchte ich das deshalb, weil es der erste 1&1 Shop ist, der komplett mit den neuesten Frontend-Ansätzen arbeitet. Das YUI Loader Utility wurde durch das Jasmin-Sevlet abgelöst (ich habe hier bereits über beide Ansätze geschrieben). IE-spezifische Styles werden über Conditional Comments eingebunden. Zusätzlich dazu basiert der gesamte Bestellprozeß (im wesentlichen dessen Formulare) auf neuen, valides Markup produzierenden XSLT-Stylesheets, auf die ich bei Gelegenheit näher eingehen werde.
YUI Carousel jetzt auch bei Hosting
Nachdem bereits das Maxdome-Popup mit der YUI Carousel Component umgesetzt wurde, ist diese Feature jetzt auch in den verschiedenen Hosting-Shops, unter anderem hier, in etwas anderer Anwendung zu finden.
Wie die Headline bereits verrät, wird mit dem Carousel ein Überblick über die Feature-Highlights von 1&1 Hosting gegeben.
Archive
- Juli 2010 (2)
- Juni 2010 (3)
- Mai 2010 (7)
- April 2010 (4)
- März 2010 (10)
- Februar 2010 (7)
- Januar 2010 (4)
- Dezember 2009 (5)
- November 2009 (3)
- Oktober 2009 (8)
- September 2009 (2)
- August 2009 (9)
- Juli 2009 (7)
- Juni 2009 (6)
- Mai 2009 (3)
- April 2009 (4)
- März 2009 (7)
- Februar 2009 (6)
- Januar 2009 (2)
- Dezember 2008 (1)
- November 2008 (7)
- Oktober 2008 (13)
- September 2008 (2)
- August 2008 (5)
- Juli 2008 (9)
- Juni 2008 (5)
- Mai 2008 (4)
- April 2008 (4)
- März 2008 (1)
- Januar 2008 (3)
- Das Neueste ...
- Älteres ...