Helper-Funktionen in Model-Glue 3 und Unit-Testing

Die in Model-Glue 3 eingeführten Helpers sind eine wahre Freude. Will man die kleinen Helferlein aber nicht nur in Views einsetzen innerhalb des MVC-Frameworks, wird die Geschichte schnell einmal knifflig. So zum Beispiel in Models und im Zusammenhang mit Unit-Testing.

helpers von ModelGlue 3 auch in Models verwenden

Die vereinfachte Integration von Hilfsfunktionen in Model-Glue 3 ist wirklich eine tolle Sache. Leider ist sie aber nur für Controller und Views vorgesehen, da nur diese beiden Bereiche des MVC-Frameworks durch das Framework selber kontrolliert wird. Oftmals wäre es aber auch in den Models hilfreich, auf die kleinen Helferlein zugreifen zu können.

cfFormProtect mit Model-Glue verwenden

Für ein ColdFusion-Projekt bei backslash mit Model-Glue habe ich mich entschlossen, die Anti-Spam-Bibliothek cfFormProtect zu integieren. Nachträglich versteht sich. Nachträglich, da alle Formulare bereits bestanden haben. Zur Erstellung und Validierung der Formulare habe ich zwei Open-Source-Bibliotheken eingebaut: cfUniForm und ValidateThis!. Wie einfach liess sich nun die Anti-Spam-Massnahme integrieren?

Mein Beitrag zur Völkerverständigung mit ColdFusion

Für ein Projekt bei backslash haben ich zum ersten Mal ValidateThis eingesetzt. ValidateThis ist ein Open-Source Formular-Validierungs-Framework für ColdFusion. Das Framework hat ein paar nette Features. So zum Beispiel müssen Client- und Server-seitige Validierungen nicht separat erstellt werden. Über eine Konfigurationsdatei auf Xml-Basis werden die Feld-Eigenschaften und Validierungsmethoden definiert. Wirklich simpel. Und wenn die Applikation objekt-orientiert aufgebaut ist, sprich wenn Business-Objekte vorhanden sind, geht die Überprüfung erst recht einfach von statten. In meinem Fall wurde das Framework in eine Applikation eingebaut, die mit den MVC-Framework Model-Glue, dem DI-Framework ColdSpring und dem ORM-Framework Reactor aufgesetzt ist. Wie bereits erwähnt, war die Integration von ValidateThis wirklich simpel. Einzig ein Problem stellte sich: Internationalisierung. Und zwar war das Framework nicht für diverse Sprachen ausgerichtet. Für das Projekt ist Mehrsprachigkeit absolut ein Thema und um diese zu gewährleisten, habe ich so genannte ResourceBundles eingesetzt. Diese Methode basiert auf einfach strukturierten Text-Dateien pro Sprache, die jeweils mit Schlüsseln und dazugehörigen Übersetzungen versehen sind. Natürlich wäre es schön gewesen, diese Übersetzungsdateien auch bei der Formularvalidierung verwenden zu können. Das ging aber leider nur mit einer umständlichen suchen-und-ersetzen-Variante. Also folgte eine kurze Forumsdiskussion mit dem Autor des Frameworks, Bob Silberberg, bei der ich ihm vorschlug, wie man das Framework mit den ResourceBundles oder einer generischen Übersetzungsfunktion versehen könnte. Und was geschah? Genau das hat Bob in seinen neusten Release von ValidateThis 0.75 gepackt. Ein kleiner Aufwand für Bob, aber ein grosser Nutzen für ColdFusion-Entwickler. Weiter zum Beitrag von