Scotch on the Road in Zürich, München, ....

Scotch on the Road macht nun wie angekündigt eine Tour durch Europa und nun sind auch die Daten offiziell: 19. Oktober, München, Deutschland 21. Oktober, Zürich, Schweiz 23. Oktober, Milan, Italien 26. Oktober, Amsterdam, Niederlanden 27. Oktober, Brüssel, Belgien 29. Oktober, London, England

Public Beta von ColdFusion 9 and ColdFusion Builder

Heute morgen hat Adobe die Public Betas von ColdFusion 9 und ColdFusion Builder online gestellt.

ColdFusion 8 Hotfix für FckEditor Connector

Seit etwas mehr als einer Woche ist ein Sichereitsloch in ColdFusion 8.0.1 bekannt. Der fehlerhafte Code steckt in einem Connector vom FckEditor und erlaubt den Upload von Dateien. Der Code im Connector sollte eigentlich nur den Upload von "ungefährlichen" Dateien wie Bildern erlauben, aber es scheint als könnte auch Code hochgeladen werden welcher dann ausgeführt werden kann.
Addobe hat nun heute einen Hotfix für ColdFusion 8.0.1 veröffentlicht.

Bolt Extensions auf RiaForge

Bolt lässt sich ja bekanntlich durch Extensions in CFML geschrieben erweitern, damit entsprechende Extensions auch einfach ausgetauscht werden könenn wurde RiaForge mit einer entsprechenden Bolt Extension Kategorie erweitert. Bereits ist einmissing QueryParam und var Scanner verfügbar, sowie einen in Bolt eingebauten RiaForge Browser und Downloader.

Web Applikations Firewall in ColdFusion

Die Firma foundeo bietet eine Web Applikation Firewall für ColdFusion an. Die Firewall selbst ist in ColdFusion geschrieben und kann somit auch mit Shared Hostings verwendet werden und ist für die aktuellsten ColdFusion Engines verfügbar. Die Firewall bietet Schutz vor:
- Cross Site Scripting
- SQL Injection
- Session Übernahme
- Passwort Wörterbuch Tests
- usw.

Nebst der Applikations Version für 499.00 USD gibt es noch eine Server Lizenz für 1299.00 USD oder eine Firmenversion für 8999.00 USD.

Scorpio (CF9) cfscript Vorschau

Adam Lehman, ColdFusion Produkt Manager, hat ein nicht ganz scharfes Bild auf twitpic gestellt. Darauf ist zu sehen das CFC neu auch ohne Tags nur mit cfscript erstellt werden können und das cfquery neu als script funktion zur Verfügung steht.



http://twitpic.com/1bf62

Kostenloser ColdFusion Workshop in Zürich

Am 20. März 2009 findet in Zürich ein ColdFusion Workshop statt. Der kostenlose Anlass dauert einen halben Tag und findet bei Adobe Schweiz, im World Trade Center Zürich, statt.

09:00-10:00
Anmeldung und Kaffee

10:00-10:15
Begrüssung durch Claude Englebert, ColdFusion-Produktspezialist

10:15-11:00
ColdFusion 8 Neuerungen - Adobe macht das Leben leichter. In diesem Workshop werden wir uns mit der funktionsreichsten Version in der Geschichte von ColdFusion befassen und erfahren wie ColdFusion 8 mit seiner nativen Unterstützung von .NET-Objekten, MS Exchange, PDF-Dokumenten und -Formularen, Ajax und Flex, Code-Debugging, Server Monitoring und vielen anderen Funktionen Ihre Arbeit im Nu produktiver macht.

11:00-11:45
Rich-Internet-Anwendungen auf Basis von ColdFusion - Ein sicherer gewinn für Ihr Unternehmen Lernen Sie die Vorteile von ColdFusion und seiner eingebauten Flex-Integration kennen, die ColdFusion-Entwicklern umfangreiche Funktionen zur Erstellung von Rich-Internet-Anwendungen bietet. Sie können ColdFusion-Komponenten, die Sie ursprünglich für traditionelle HTML-Anwendungen geschrieben haben, für die Erstellung dynamischer RIAs umfunktionieren - ohne den bestehenden Code ändern zu müssen. Mit der Flex-Integration von ColdFusion 8 erreichen Sie eine gesteigerte Datenleistung, einen flexibleren Datenaustausch, Erweiterungen für Flex Builder und Vieles mehr.

11:45-12:15
Kaffeepause

12:15-12:45
Jenseits von HTML: Anwendung von Ajax, PDF und mehr, um mit ColdFusion 8 ansprechende Anwendungen zu erstellen Anwender von heute wollen deutlich mehr als nur simple HTML-Internet-Anwendungen: Sie wollen umfangreiche Desktop-artige Anwendungsoberflächen, individuelle Multimedia-Erlebnisse, Inhalte, die sie herunterladen und drucken können, und Vieles mehr. Diese dreißigminütige Sitzung zeigt, wie Adobe ColdFusion 8 mit Funktionen wie Unterstützung für Ajax, Erstellung multimedialer Präsentationen auf Abruf und Anwendungen für PDF-Dokumente und -Formulare diese und andere attraktive Anwendungserlebnisse möglich macht.

12:45-13:15
Der ColdFusion 8 Server Monitor. Wie können Sie kugelsicheren Code schreiben, aus Anwendungen die beste Leistung herausholen und sicher sein, dass ihr Server Zugriffsspitzen meistert, ohne Wartezeiten in Kauf nehmen zu müssen? Ganz einfach: mit dem neuen Performance Monitor in Adobe ColdFusion 8. In diesem Workshop wird der Server Monitor vorgestellt und gezeigt, wie Sie ihn zur Problemdiagnose und -behebung in ColdFusion-Anwendungen einsetzen und auf Probleme, die beim Einsatz der Anwendung in der Produktion entstehen können, angemessen reagieren oder sie vermeiden können.

13:15-13:30
Fragen & Antworten

13:30-14:30
Mittagessen


Weitere Details und Anmeldung sind in diesem PDF zu finden.

Änderungen im Adobe ColdFusion Team

Ben Forta hat vor einigen Tagen ein Blogpost gemacht über Änderungen im Adobe CF Team. Neu ist Adam Lehman ColdFusion Produkt Manager und seine Stelle als CF Evangelist übernimmt Terry Ryan.
Bleibt nur noch die Frage was mit der bisherigen CF Produktmanagerin Kristen Schofield passiert ist.

http://www.forta.com/blog/index.cfm/2009/2/13/The-Changing-ColdFusion-Team-Continued

Scotch on the Rocks 2009

Dieses Jahr findet die Konferenz Scotch on the Rocks nicht an einem Ort statt, sondern wird als Tages Event durchgeführt. Als Orte sind bisher bekannt London, Manchester und Edinburgh. Laut der Webseite sind noch Ort wie München, Brüssel und Amsterdam in Planung.

http://www.scotch-on-the-rocks.co.uk/

ColdFusion Flex2Gateway umbennen

Bei einem Kunden, wo wir aus Flex Daten vom ColdFusion Server laden, wollten wir auf einem bestimmten Server hinter dem Reverse Proxy verbinden und mussten somit den /flex2gateway umbennen. Um den Service zu verschieben müssen folgende Änderungen gemacht werden:

1. web.xml (cfroot\wwwroot\WEB-INF\web.xml)
MessageBrokerServlet /flex2gateway/* MessageBrokerServlet /myFlex2Gateway/*
2. services-config.xml (cfroot\wwwroot\WEB-INF\flex\services-config.xml)
Die diversen Endpoints müssen angepasst werden, am besten ein Search&Replace mit /Flex2Gateway/ auf den neuen Wert machen.

3. ColdFusion Dienst neu starten

ColdFusion 8.0.2 auf Mac OS X 10.5.6 installieren

Nachdem ich mir am letzten Donnerstag ein kleines Alu Mac Book gekauft habe, wollte ich nun auch auch noch ColdFusion installieren. Als erstes habe ich mal den 32bit und 64bit Installer runtergeladen da ich nicht genau wusste welcher den nun der richtige ist. Der 32bit Installer will nicht installieren wenn ich den bereits im Mac OS vorhandenen Apache 2 Server verwenden will, da dieser 64bit ist. Also habe ich den 64bit Installer gestartet, der hat jedoch auf eine nicht unterstützte Konfiguration hingewiesen.

Ein Blog Artikel hat dann zur Lösung geführt. Das Problem scheint zu sein das der ColdFusion Installer mühe hat die Java Installation zu erkennen. Folgene Schritte führen zu einer erfolgreichen Installation:

1. terminal $  cd /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Commands

2. terminal $ sudo rm -rf *

4. terminal $ sudo cp ../Home/bin/* .

5. ColdFusion installieren

6. terminal $ sudo rm -rf *

7. terminal $ sudo ln -s ../Home/bin/* .

MAX 2008 SF - Session ORM in ColdFusion 9

Hier noch ein Eintrag zu meinen Notizen aus der CF9 Session von San Francisco.

ColdFusion 9 (Centauer) und ColdFusion Builder (Bolt) werden Tools und Code für Object Relational Mapping (ORM) dabei haben. Adobe setzt dabei auf Hibernate, wobei die Verwendung mit ColdFusion sehr einfach sein wird aber auch den direkten Zugriff auf Hibernate ist möglich.

Das cfproperty erhält endlich Funktion, wobei dadurch das Mapping zur DB gemacht wird und für jedes Property automatisch eine Get und Set Method vorhanden ist. Diese lassen sich jedoch bei bedarf überschreiben. ORM Sessions werden bei Bedarf automatisch erstellt und durch ColdFusion verwaltet.

Hibernate wird im Application.cfc durch this.OrmEnabled=true aktiviert und mittels this.datasource und this.OrmSetting entsprechend konfiguriert. Im OrmSetting wird dann z.b. der SQL Dialekt konfiguriert, definiert ob Tabellen automatisch erstellt werden oder das Mapping als File gespeichert wird. Mit EntityLoad() und EntitySave() werden Daten geladen und gespeichert.

In Bolt lässt sich aus einer Datenbank ORM CFC Code, ORM Service oder ein Ajax Grid zum ORM Service generieren. Ich nehme mal an das dies wie im Flex Builder auch durch Templates (ColdFusion Code) anpassbar ist. Weiters wird Flex auch ein Syntax Highlighter für Hibernat Quey Language (HQL) haben.

Daten werden dadurch allerdings nicht mehr als Recordset gehalten, sondern als Objekte in einem Array. Das ganze wird dadurch nicht unbedingt performanter, aber durch Dirty Checking, Caching und Lazy Loading (sowohl auf Records und Spalten) wieder teilweise wettgemacht. Nich zu verachten ist natürlich auch der Aspekt das dadurch auch Datenbankunabhängiger Code erstellt wird. Wer das mal für eine App selber gemacht wird weiss wieviele cfifs dazu nötig sind.

Wie schon in einem vorherigen Eintrag geschrieben ist für Centaur und Bolt ein Beta Formular verfügbar.

Mögliche ColdFusion 9 Features

Leider habe ich den Anfang der Keynote von der A Wee Dram of Scotch verpasst und nur die zweite Hälfte gesehen. Es finden sich daher auch Hinweise auf mögliche Features welche nicht in dieser Keynote gefallen sind.

  • Eine Idee ist das Blasze DS in ColdFusion integriert wird und nicht wie aktuell die LiveCycle Data Services als optionale Komponenten bereit stehen. Das würde nebst besserer integration auch Performance Vorteile bringen.
  • Eine Idee ist die Funktionen von CF wie Query, Mail, Exchange, PDF, Charts usw. als Webservices bereit zu stellen. Somit könnte aus Flex und ganz einfach auf diese Funktionen zugegriffen werden. Es wird auch darüber nachgedacht eine AS3 Bibliothek bereitzustellen damit ganz einfach auf diese Services zugegriffen werden kann.
  • Bei CFCs könnte es sein das die Variablen per default im lokalen Scope sind, ein lästiges <cfset var würde somit entfallen.
  • CFC und UDF nur mit cfscript
  • Impliziter Konstruktor in CFCs (init Funktion, oder eine Funktion mit dem Namen der CFC der cfcomponent init="")
  • server.cfc mit onServerStart und onServerEnd
  • Möglich wäre auch das die cfproperty Tags endlich eine "richtige" Funktion erhalten und somit Get und Set Funktionen implizit vorhanden sind.
  • Eine Integration von Hibernate in ColdFusion ist auch etwas was hin und wieder fällt.
  • Öffentlich Bug und Enhancement Request Datenbank
  • cffinally welches immer nach einem cfcatch ausgeführt wird
  • cfcontinue geht an den start des loops
Wer selbst sehen möchte was CF9 mitbringen könnte sollte sich Adam Lehman an den Events der CFUG Deutschland oder CFUG Schweiz nicht entgehen lassen.

ColdFusion "Roadmap"

ColdFusion Produktmanagerin Kristen Schofield hat in ihrem Blog ein ColdFusion Evangelism Kit (PDF) veröffentlicht. Das interessanteste darin ist die ColdFusion Roadmap für die nächsten Jahre: Es hat auch sonst einige gute Ansätze um jemanden von ColdFusion zu überzeugen, aber es könnte ein wenig mehr beinhalten.

SSL Cert zum Keystore von ColdFusion hinzufügen

Wer versucht in ColdFusion mit CFHTTP eine Webseite aufzurufen welche ein nicht vertrauenswürdiges SSL Zertifikat hat erhält als Fehlermeldung Connection Failure. cfdump von cfhttp: Charset: [empty string] ErrorDetail: I/O Exception: peer not authenticated Filecontent: Connection Failure Header: [undefined struct element] Mimetype: Unable to determine MIME type of file. Responseheader: struct [empty] Statuscode: Connection Failure. Status code unavailable. Text: YES Die Lösung ist recht einfach, das Zertifikat muss nur zu den Vertrauenswürdigen Zertifikaten hinzugefügt werden. Hier ein Beispiel mit einem ColdFusion 7 Server. Das Zertifikat aufrufen und abspeichern
Die Webseite im Internet Explorer aufrufen und in der Address Bar das Zertifikat anzeigen lassen.
Im Tab Detail das Zertifikat in eine Datei (DER Format) exportieren.
Mit keytool das Zertifikat importieren C:\>cd \CFusionMX7\runtime\jre\lib\bin C:\CFusionMX7\runtime\jre\bin>keytool -import -keystore ..\lib\security\cacerts -alias ALIASNAME -storepass changeit -noprompt -trustcacerts -file c:\TEMP\SSLSITE.CER Zertifikat wurde zu Keystore hinzugefügt. ALIASNAME sollte ein kurzer Text der das Zertifkat beschriebt sein, z.b beispielseite-com. C:\TEMP\SSLSITE.CER natürlich entsprechend anpassen mit dem Pfad und Name zum oben abgespeicherten Zertifikat. Nach einem Neustart des ColdFusion Services sollte dann auch der cfhttp Aufruf funktionieren.