Mittwoch, 16. April 2008

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.

Sonntag, 6. April 2008

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.

Blog abonnieren

RSS 2.0 Feed

Suche

Kalender

Zurück April '08 Vorwärts
Mo Di Mi Do Fr Sa So
  1 2 3 4 5
7 8 9 10 11 12 13
14 15 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

Verwaltung des Blogs

Blogroll

Projects/Web

vCard

  • Nico Steiner
  • www.nicosteiner.de
  • Karlsruhe/Germany
  • Senior Frontend-Developer at 1&1