Die Flexperten Herrlich & Ramuschkat

Archiv für June, 2010

Coldfusion + JavaScript: SerializeJSON(), eval() und führende Nullen

Es gibt aber auch manchmal Fehler, da muss man erstmal drauf kommen. Bei einem Kunden werden Hexadezimale Identifier fester Länge verwendet, was ich jedoch nicht wußte, auch mit führender Null (z.B. “0437EB6A4A4E2103″)! Nun wurden die IDs zusammen mit anderen Daten als Struct mittels SerializeJSON() codiert und an eine JavaScript-Funktion übergeben (cfajaxproxy läßt grüßen…). In der JavaScript-Funktion wurde dann mittels eval() das ganze wieder in ein JS-Objekt decodiert. Jetzt kommt der Clou mit der führenden Null: JavaScript interpretiert den Wert des Indentifiers dann als oktalen Wert, wegen der Null am Anfang! Bei der folgenden Verarbeitung hat’s dann immer mal wieder gekracht, nämlich dann, wenn ein Benutzer eben den Identifier mit führender Null hatte.

Der einfachste Weg für uns war, einfach vor dem Serialisieren einen Buchstaben, bzw. ein Sonderzeichen dem Identifier voranzustellen und dann nach dem Decodieren diesen wieder zu entfernen. So nimmt JavaScript immer an, das es sich um einen Textwert handelt.

Tour de Coldfusion

Der ein oder andere wird vielleicht schon mal mit der Tour de Flex oder der Tour de LiveCycle in Berührung gekommen sein. Das sind hilfreiche kleine AIR-Desktop-Anwendungen, die einen guten Überblick für Flex- bzw. LifeCylce-Neulinge, sowie einen detailierten Einblick in Flex bzw. LiveCycle für Entwickler geben. Das gibt es jetzt auch für Coldfusion: Tour de Coldfusion

Besonders praktisch finde ich, neben den hunderten von Code-Beispielen, die Kategorie “Language Updates” mit deren Hilfe wir hier schon mal abschätzen können, was sich bei einer Migration auf eine höhere Coldfusion Version ggf. ändert und somit Anpassungen im Code erforderlich macht. Die AIR-Anwendung hat zwar noch Beta-Status, ist aber schon gut zu gebrauchen.

Schaut’s euch einfach mal an unter http://tourdecf.adobe.com/

Coldfusion 9 Umfrage

Das Coldfusion Team von Adobe hat eine Umfrage zu Coldfusion 9 gestartet. Teilnehmer haben die Möglichkeit sowohl Feedback zur aktuellen Coldfusion 9 Version abzugeben, als auch Anregungen und Wünsche für zukünftige Versionen mitzuteilen. Die Fragen sind überschaubar und sollten in wenigen Minuten beantwortet sein.

Siehe http://www.surveymonkey.com/s/ColdFusionServer

Update: in diesem Zusammanhang gleich mal einige Ideen von Pete Freitag zur Verbesserung der Coldfusion-Sicherheit in der kommenden Version: 10 Ideas to Improve Security in ColdFusion 10

Coldfusion: CFTracker

In einem früheren Beitrag bin ich ja bereits auf die Möglichkeit zum Abfragen von Anwendungsinformationen (Session, Requests, etc.) über die Coldfusion Admin-API eingegangen. Aber wozu alles selber machen, wenn sich da schon jemand anders entsprechend ausgetobt hat. Mister Dai (David Boyer) war so freundlich gleich ein CF-Administrator PlugIn zu implementieren, das eine tolle Live-Übersicht über die Anwendungs- und Sessioninformationen eines CF-Servers liefert: CFTracker

Gerade wenn intensiv mit Sessions in einer Anwendung gearbeitet wird ist ein Blick in die laufenden Sessions hilfreich, um kleinere Dateninkonsistenzen zu erkennen.

Das Plugin ist als Projekt bei RiaForge verfügbar: http://cftracker.riaforge.org/

Adobe Enterprise Cafe

Das Adobe Enterprise Cafe ist eine neue AIR-Anwendung von Adobes Marketing-Team und stellt Informationen rund um Acrobat, Connect, Coldfusion und der Flash-Plattform in Verbindung mit Lifecycle zur Verfügung. Die Anwendung hilft Entwicklern und Entscheidern mit den Adobe Teams und der Adobe Community in Verbindung zu treten, Informationen zu sammeln und immer auf dem neuesten Wissensstand zu bleiben.

Siehe http://blogs.adobe.com/solutionpartners/2010/06/introducing_adobe_enterprise_cafe.html

Coldfusion: dynamisches Aufrufen von CustomTags

Bei einem unserer Kunden werden ScheduledTasks zum Benachrichtigen von Anwendern eingesetzt. Dabei unterscheiden sich die Mail-Texte, Empfänger und Betreffzeilen erheblich. Weil wir es den anderen Entwicklern nicht zumuten wollten ständig im Coldfusion-Administrator eigene ScheduledTasks anzulegen haben wir einfach eine zentrale Steuerungsdatei implementiert, die dynamisch alle CustomTags in einem Verzeichnis aufruf und nacheinander ausführt.

Weiterlesen »