Your SlideShare is downloading. ×

ColdFusion 11 New Features


Published on

This presentation talks about all new functions and tags added, cfscript enhancements etc.

This presentation talks about all new functions and tags added, cfscript enhancements etc.

Published in: Software, Technology, Education
1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Introduction to Coldfusion Splendor Presentor: Deepak Kumar Padhy Coldfusion Developer
  • 2. Contact Me @ Deepak Kumar Padhy ColdFusion Developer, Mindfire Solutions
  • 3. History Cold Fusion 1.0 (1995) Cold Fusion 2.0 (1996) Cold Fusion 3.0 (1997) ColdFusion 4.0 (1998) ColdFusion 5.0 (2001) ColdFusion 6.0 (2002) ColdFusion 7.0 (2005) ColdFusion 8 (2007) ColdFusion 9 (2009) ColdFusion 10 (2012) ColdFusion 11 (2014)
  • 4. Installation Express Installer: • Small size • Easy to Install • No support for SOLR, .NET, PDF generation • For Development only Normal Installer: • Large size • Takes much time for Installation • Best suited for Production Enviroment
  • 5. Enhancements • Complete cfscript support • JSON Serialization enhancements • Introduction of Member functions • Query Enhancements • Social Integration • Better Security
  • 6. cfscript support • All the tags having equivalent script based syntax. • Example: <cfscript> cftag1 (att1 = val1, att2 = val2) { child_tag1 (child_attr1 = 'cv1', child_attr2 = 'cv2') } </cfscript> • Script support for custom tags also. • Example: <cf_happybirthday name="Ted Cantor" birthDate="December 5, 1987"> cf_happybirthday (name="Ted Cantor", birthDate="December 5, 1987"); • Exceptions: <cfoutput>,<cfdump>,<cfinvoke>,<cfobject>
  • 7. JSON Serialization • JSON Serialization is for converting ColdFusion data to JSON format introduced in ColdFusion 8 • Now there are 3 enhancements. 1. Case preservation of struct keys. "this.serialization.preservecaseforstructkey = true" in application level for preserving the case of struct keys. 2. Datatype perservation. ColdFusion always tries to convert string to numeric, If successful it treats that value as numeric. CF10: {"ID":6,"NAME":"xyz ","CGPA":7} CF11: [{"ID":6,"NAME":"xyz ","CGPA":"7"}] 3. Key-Value serialization of cfquery. Along with row-wise and column-wise serialization, Now we have struct-wise serialization for better interaction via jquery. Row: {"COLUMNS":["ID","ADDRESS"],"DATA":[[1,"Bhubaneswar"],[3,"Bangalore"]]} Column: {"ROWCOUNT":2,"COLUMNS":["ID","ADDRESS"],"DATA":{"ID":[1,3],"ADDRESS": ["Bhubaneswar","Bangalore"]}} Struct: [{"ID":1,"ADDRESS":"Bhubaneswar"},{"ID":3,"ADDRESS":"Bangalore"}]
  • 8. Member Functions Member function is introduced for data structure and data objects. Ture Object Oriented way of calling a function. Example: var myArray = arrayNew(1); CF10 : arrayAppend (myArray,newObj); CF11: myArray.append(newObj); Supported Datatype: Array, String, List, Struct, Date, Spreadsheet, XML, Query, Image
  • 9. Query Enhancements • queryGetRow(qryObject, index) : Returns particular row value in structure format. • New way to execute queries inside cfscript. • queryExecute(sql_str, queryParams, queryOptions) sql_str: The SQL query needs to be executed. queryParams: An array or structure of parameters queryOptions: Other attributes like datasource, result,dbtype are passed
  • 10. Social Integration • ColdFusion has introduced the support for dynamically generating Like button, Tweet button, and Comment box for social media sites. • Supported widgets are: 1. Like Button 2. Tweet Button 3. Google Plus Button 4. Facebook Subscribe Button 5. Like Box 6. Facebook Comment Box 7. Activity Feed 8. Follow
  • 11. Security Enhancements • cfmail with two new attributs "encrypt" , "encryptionalogorithim" and "recipientcert" • Post installation secure profile enable/disable. • Allow/Disallow concurrent login session to Coldfusion administrator. • Integration of AntiSamy library for for better XSS attack protection. getSafeHTML(input [, PolicyFile ], throwOnError]) isSafeHTML(input [, PolicyFile ]) Application.cfc setting: <cfset = "antisamy.xml"> • PBKDF2 Key Derivation: generatePBKDFKey(algorithm, inputString, salt, iterations, keysize)
  • 12. Random • All the docs are wikified. • By default cfinclude will not allow to include js and css files . But for backward compatibility we can set "allowedextforinclude" property in neo-runtime.xml to allow some particular extension files. • IsValid() function bug fixed. CF10: isValid("integer", "$1,234") : true CF11:isValid("integer", "$1,234") : false • For backword compatibility we have an Application level setting "strictnumbervalidation" (default: true). • <cfhtmltopdf> to generate high quality pdfs quickly using PDF Service Manager.
  • 13. Types of Mobile Application
  • 14. Mobile Application Development • Why: PC and Desktop shipmetnts continue to decline since last 7 years . • ColdFusion Mobile Application platform comprises of : 1. CFML Language 2. Integrated PhoneGap Framework 3. ColdFusion Builder 3.0
  • 15. CFMobile : CFML Support • Create a 'ColdFusion Mobile Project' using ColdFusion thunder. • Select a mobile template (System/User template) to begin with the application. • Mobile template designed usning frameworks like bootstrap and jquery mobile. • Now <cfclient> does everything behing the screen.
  • 16. CFMobile : Continued. • Enclose client side CFML in <cfclient> tag. • CFML support on client side • All data structures and related functions – Struct, List, Array, Date, Query etc. • Tag and cfscript style code. • Member Functions syntax. • All basic language tags e.g. cfif, cffunction, cfloop, cfquery etc. • Does not support server side tags like cfldap, cfftp etc. • Does not support server side functions like addSOAPRequestHeader, spreadsheet functions etc. • Only variables, this and super scopes supported. • Does not support Application, Server, Client, Session and Arguments scope. .
  • 17. CFMobile : Continued. • Supports client side custom tags. • Can use client side (in-browser) database: websql • Use cfquery or queryExecute to execute client side SQL. • But qoq and in-memory query creation not possible. • Device APIs like Camera, Contacts, Audio etc. supported using PhoneGap. • Interoperability between JS and client side CFML • Call JS functions from cfclient. • Call cfclient functions from JS • OOP using client side CFComponent . • Easy way to call server side CFCs from cfclient •
  • 18. Inspecting and Debugging • Use weinre(Web Inspector Remote) for inspecting the application similar to firebug. • Steps: 1. Start the local weinre server. 2. Configure ColdFusion Builder. 3. Package the mobile application. 4. Inspect the mobile application. • Through weinre we can inspect HTML ,CSS elements and can view console messages. • Supports Client side CFML debugger to debug the code. • Debug code running in desktop browser or on mobile device. • Breakpoints, Step operations, Variable inspection
  • 19. Packaging • Packaging is for creating .apk file for android and .ipa file for ios. • Using PhoneGap build service and Coldfusion Builder. • Steps: 1. Get the required certificate 2. Register for a phonegap plan 3. Provide server and authentication details
  • 20. Packaging Continued. 1. For creating the self-signed certificate for Android , i. Open Comman prompt with administrator previlages ii. Goto JDK installation directory iii. Use "keytool -genkey -v -keystore keyname.keystore -alias keyalias -keyalg RSA -keysize 2048 -validity 10000 " 2. For creating a phonegap account goto, 3. For providing certificate and phonegap account details, Goto ColdFusion Builder ->Window -> Preferences -> ColdFusion -> Phone gap
  • 21. References • • ions • • •
  • 22. Thank You. Presentor: Deepak Kumar Padhy Mindfire Solutions