Wer früher wissen wollte ob ein Benutzer in einer beliebigen Rolle von mehreren war musste dies mit mehreren OR Operatoren verknüpfen.
isUserInAnyRole macht dies nun in CF8 einfacher. Es können einfach mehrere Rollen übergeben werden um zu testen.
CF8 isUserInAnyRole Hilfe
In ColdFusion 8 hat das cfmail Tag ein neues Attribut erhalten. Mittels priority lässt sich die Priorität eines Mails festlegen, z.B in Outlook werde Mails mit einer hohen Priorität mit einem roten Ausrufezeichen hervorgehoben. Als Werte kann folgendes angegeben werden: 5 oder non-urgent oder lowest 4 oder low 3 oder normal 2 high 1 highest oder urgent Ohne Angabe hat das Mail eine Priorität von normal (3). CF7 hat im übrigen die Attribute charset, failto, replyto und wraptext hinzugefügt. CF8 cfmail Hilfe
Für alle welche nicht genug Zeit haben all die neuen Funktionen in ColdFusion 8 zu erkunden werde ich versuchen in regelmässigen Abständen jeweils eine neue oder erweiterte Funktion vorzustellen.
Bisher hat ein cflocation ein Redirect mit dem HTTP Status Code 302 gemacht, also ein temporary move. Manchmal wäre es aber schöner dem Client ein permanent move mitzuteilen. Unter CF7 war dies über zwei cfheader möglich.
CF8 macht es nun ein wenig einfacher und hat beim cflocation Tag ein neues statusCode Attribut.
Beispiel:
CF8 cflocation Hilfe
Eine ColdFusion Applikation hat nicht auf Anhieb funktioniert nach dem Upgrade weil in einer CFC eine Funktion mit dem Namen FileDelete vorhanden war. ColdFusion moniert und sagt das dieser Name bereits durch eine interne Funktion belegt ist. Kein grosses Problem, ein wenig unschön ist das der Code Analyzer dies nicht erkannt hat, aber evtl. hätte ich das selbst merken sollen als dieser noch im CF6 Design daher gekommen ist. Finde es aber gut das solche Sachen für cfscipt nachgerüstet wurden. Meist verwende ich cfscript für einen Code Block damit der Code lesbarer ist. Gerade dann war es unschön wenn wieder ein Tag verwendet werden musste.
Bei einem Upgrade werden wohl die meisten zuerst CF8 installieren damit der Installer die Einstellungen migrieren kann. Wer danach jedoch einfach die alte Version deinstalliert wird später wohl ein Problem haben. Wenn das CFIDE Verzeichnis von CF8 an die gleiche Stelle wie der Vorgängerversion installiert wurde, dann räumt der Deinstaller auch das CFIDE Verzeichnis weg und es gibt kein Admin mehr. Auch im CF Verzeichnis merkt der Deinstaller nicht welche Dateien nicht von Ihm sind und räumt das meiste ab. Erweiterungen in Form von Jar Dateien sind dann einfach weg. Daher am besten vor der Deinstallation des alten Installation das ColdFusion Verzeichnis und das CFIDE Verzeichnis wegkopieren und einige Tage aufbewahren.
Leider ist beim ColdFusion Server von Adobe kein aktueller Treiber mehr dabei. Das Problem ist das der alte Treiber das neue Passwortschema nicht kennt und somit ein Anmeldung mit einem Passwort nicht möglich ist. Dies kann gelöst werden indem das Passwort im MySQL mit dem alten Schema abgespeichert wird oder durch die Verwendung eines neuen Treibers. Dieser Treiber ist recht einfach zu installieren, aber die Datenbanken müssen danach als Typ other erstellt werden. Dies ist lästig da jedesmal die Treiberklasse und die JDBC URL eingegeben werden müssen. Alles in allem für den Advanced CF Programmierer nicht so schwer, aber das sind ja nicht alle. Ich habe dazu mal eine ColdFusion Administrator Extension geschrieben. Diese Extension prüft ob der neue Treiber bereits installiert ist und wenn nicht wird dieser direkt von MySQL runtergeladen und installiert. Ist der Treiber installiert kann nun im bekannten Formular eine Datasource erstellt werden. Zum installieren dieser Extension einfach das ZIP in den /CFIDE/Administrator entpacken. Danach sollte im CF Administrator ein neuer Menupunkt auftauchen mit dem Namen Custom Extensions. Dieser lässt sich leider nur durch einen Klick auf den kleinen Pfeil links öffnen. Getestet habe ich es nur auf meinem Notebook. Wäre dankbar für ein Feedback, egal ob positiv oder negativ.
In den Adobe Labs versteckt sich hinter dem ColdFusion/Flex Connectivity Download ein Update auf ColdFusion 7.0.2. Das ganze ist noch Beta, bietet aber auch für nicht Flex interessierte einige Vorteile. Neben einer aktualisierten Reporting Engine ist auch ein Fix mit dabei welcher die Flashforms, Flashpapers und Charts anders in den Browser lädt. Somit lässt sich das Aktivieren des Flashinhalts umgehen, was von Microsoft eingeführt wurde um den Patentstreit mit Eolas zu entschärfen.
Adobe war fleissig und hat wieder einige ColdFusion Technotes online gestellt:
CFQUERY, CFSTOREDPROC maxrows Bug
In den Version 6 und 7 hat das Maxrows Attribut nicht die gleiche Wirkung wie in CF 5. Durch einen Bug werden alle Datensätze aus der DB geholt und erst im Query limitiert. Das hat natürlich eine Auswikung auf Servermemory und Ausführungszeit. Mit dem CF 7.0.1 CHF002 wird dieser Bug beseitigt.
Sandbox aktivieren im Admin funktioniert unter 7.0.1 nicht
Die Technote beschreibt wie die Sandbox von Hand aktiviert werden kann.
JVM Upgrade Anleitung
Eine gute und offizielle Anleitung wie die JVM bei CF ausgetauscht wird.
Access Error - too many client tasks
Eine Empfehlung die Maintain Connection Option auszuschalten um den Fehler zu umgehen.
Kommunikationsprobleme nach Udpate auf 7.0.1
Die Technote beschreibt Fehler nach einem Update auf CF 7.0.1 bei einer verteilten CF Installtion.
Doppelte CFIDE und WEB-INF Directory Premissions
Wenn bei einer Multiserver Konfiguration die Advanced Security aktiviert wird werden die Directory Securities doppelt angelegt. Die Technote beschreibt wie diese wieder gelöscht werden können.
Der IIS Connector schneidet Header ab welche grösser als 8kb sind. Eine Technote beschreibt den Upgrade des Connectors. www.macromedia.com/go/7feb078e
Adobe hat wieder ein paar neue ColdFusion Technotes online gestellt:
- Collections are not seen in the Administrator when connecting to full Verity K2 Server product
- Data Source Undefined error when working with ODBC Socket data sources in a multi instance configuration
- Unable to create ODBC Socket data source using instances created by Instance Manager
- Unable to retrieve mail settings
- Troubleshooting scheduled tasks and CFHTTP
Soeben in Ray Camdens Blog gefunden! Das RDS Plugin ist unter in Adobe Labs verfügbar. Da es ein wenig schwer zu finden ist hat Stefen Erat eine paar Screenshots in Flickr online gestellt. labs.macromedia.com/wiki/index.php/ColdFusion/Flex_Connectivity:Eclipse_RDS_Support www.flickr.com/photos/stevenerat/sets/72057594087392116/
Adobe hat eine Technote online gestellt welche den richtigen Schritt für ein Upgrade von Version 6.x auf 7.x aufzeigt. Technote
Adobe hat den Cumulative Hot Fix 2 zum Download ins Internet gestellt. CHE002 Am besten über den CF Administrator hochladen und den CF Dienst neu starten.
Sobald ich bei einem cfreport die encryption einschalte, erhalte ich die Fehlermeldung 'The Document has no pages'. Stelle ich auf 'none' zurück ist alles wieder ok.