Neues in ColdFusion Splendor

Kompletter CFScript Support
Bisher war der Sprachsupport in cfscript nicht vollständig. Einige Funktionen wurde in der Engine umgesetzt und andere hingegen über spezielle CFCs umgesetzt welche einfach die Tags entsprechend aufgerufen haben.
Damit zukünftig cfscript vollwertig ist gegenüber dem Tag Syntax wurde ein neuer Syntax erdacht. Z.B das cfdocument Tag wird in cfscript wie folgt verwendet:
document filename="test.pdf" overwrite="yes" format="pdf" { cfdocumentsection type="header" { writeOutput("Header"); } }

JSON
Mit Splendor werden die Keys nicht mehr in Grossbuchstaben konvertiert sondern behalten die Gross-/Kleinschreibung welche beim setzen verwendet werden. Damit alte Applikation weiterhin funktionieren lässt sich dies mittels this.serializtion.preserveCaseForStructKey in der Application CFC oder im CF Admin für den ganzen Server auf das alte Verhalten einstellen.

In ColdFusion Splendor wird der Typ von Query oder CFC übernommen für den JSON Datatyp.
serializeJSON hat einen neuen queryFormat Value "struct" für eine einfachere JSON Repräsentation des Querys in JSON. Das Default Verhalten lässt sich auch wieder in der Application.cfc mit this.serialization.serializeQueryAs = "row|column|struct" für die ganze Applikation definieren.

Eigener Serializer/Deserializer mit this.customSerializer definierbar. Dahinter steht eine eigenen CFC mit den Methoden: canSerialize, canDeSerialize, serializeData, deseralizeData


Member Funktionen
Mit ColdFusion Splendor werden offizielle Member Funktionen eingeführt. So lässt sich anstelle über die Funktion ArrayAppend() auch direkt auf dem Array Object mittels Append ein Wert hinzufügen.
Die folgenden ColdFusion Datentypen unterstüzen Member Funktionen: Array, Struct, List, Datum, Query, XML, Image, Spreadsheet
einige String Member Funktionen: len, compare, comparenocase, find, reverse, repeatString, mid


PDF
cfDocument hat seine bekannten Schwächen mit CSS aufgrund der Verwendung älterer Versionen von iText und iceBrowser. Mit splendor bleibt bei cfDoucment alles gleich, aber es wird mit htmltopdf ein neues Tag vorgestellt welches PDFs mit der Webkit Engine rendert. Damit dies auch performant für eine grosse Anzahl von PDFs passiert lassen sich sogenannte PDF Service Manager auf anderen Server installieren und im CF Administrator einbinden.
Mit cfPDF lassen sich nun auch Dokumente signieren oder validieren.
Am meisten gefällt mit das die DDX Limitierungen aufgehoben wurden. Bisher waren nur ca. 35% der DDX Funktionen aus LiveCycle in ColdFusion verfügbar.


Verschiedenes

  • queryExecute("sql", [{type:"integer", value=1}], {datasource="cfartgallery"})
  • queryGetRow(rowindex)
  • Elvis Operator
  • ArrayEach neu mit Index in der Callback Funktion
  • ListEach neu in Splendor
  • Map-reduce Funktionen: ArrayMap, ArrayReduce, StructMap, StructReduce
  • cfZip mit Passwort (encryptionAlgorithm, AES-128 oder AES-256) und verbesserter Performance
  • cfMail mit Encryption
  • cfLofin allowconcurrent="true|false"

Update 25. Oktober 02h00: PDF, cfLogin

Adobe ColdFusion Summit 2013

Nachdem die Adobe MAX in diesem Jahr keine ColdFusion und nur sehr wenige Webdevelopment Themen geboten hat findet nun die auf ColdFusion fokusierte CF Summit statt. Das ganze findet im Mandalay Bay statt, ein gewaltiges Hotel mit künstlichem Beach, Casino und ca. 20 Restaruants. Beim Einchecken gab es doch glatt eine Karte des Hotels dazu.

Als erstes hat Ben Forta über die generelle Vergangenheit und Zukunft von ColdFusion gesprochen erklärt den ca. 500 Teilnehmern das die Konferenz nun jährlich stattfinden wird.

Von den Adobe Leuten aus Indien wurden dann Features der neuen Versionen von ColdFusion und ColdFusion Builder gezeigt:

  • voller CF Script Support mit neuem Syntax für die Tag Funktionen
  • Member Funktionen für Strings, List (z.B. listLen), Datum (z.B. month), Query (z.B. addCol), Xml, Image (z.B. info), spredsheet
  • PDF
    • neues Tag cfhtmltopdf das cnn.com perfekt in ein PDF umwandelt.
    • PFD/A-1b Support für Archivierung
    • PDF Signatur (erstellen, signieren, auslesen und validieren)
  • mobile
    • cfclient Tag
    • Server Communication ohne CFC Proxy, Websockets
    • Custom Tags Konzept auf dem Client
    • cfquery auf dem Client für lokale SQLlite Datenbank
    • cfhttp auf dem Client für Webzugriff
    • Phonegap Build in CFBuilder integriert
    • weinre integriert