coldfusion 11 new features

22
Introduction to Coldfusion Splendor Presentor: Deepak Kumar Padhy Coldfusion Developer

Upload: mindfire-solutions

Post on 20-May-2015

775 views

Category:

Software


4 download

DESCRIPTION

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

TRANSCRIPT

Page 1: ColdFusion 11 New Features

Introduction to

Coldfusion Splendor

Presentor: Deepak Kumar Padhy Coldfusion Developer

Page 2: ColdFusion 11 New Features

Contact Me @

Deepak Kumar Padhy ColdFusion Developer, Mindfire Solutions

[email protected]

[email protected]

https://www.facebook.com/deepak.padhy

http://www.linkedin.com/pub/deepak-kumar/20/538/1a9

https://twitter.com/dkumar431

Page 3: ColdFusion 11 New Features

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)

Page 4: ColdFusion 11 New Features

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

Page 5: ColdFusion 11 New Features

Enhancements

• Complete cfscript support

• JSON Serialization enhancements

• Introduction of Member functions

• Query Enhancements

• Social Integration

• Better Security

Page 6: ColdFusion 11 New Features

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>

Page 7: ColdFusion 11 New Features

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"}]

Page 8: ColdFusion 11 New Features

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

Page 9: ColdFusion 11 New Features

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

Page 10: ColdFusion 11 New Features

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

Page 11: ColdFusion 11 New Features

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 this.security.antisamypolicy = "antisamy.xml">

• PBKDF2 Key Derivation:

generatePBKDFKey(algorithm, inputString, salt, iterations, keysize)

Page 12: ColdFusion 11 New Features

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.

Page 13: ColdFusion 11 New Features

Types of Mobile Application

Page 14: ColdFusion 11 New Features

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

Page 15: ColdFusion 11 New Features

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.

Page 16: ColdFusion 11 New Features

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.

.

Page 17: ColdFusion 11 New Features

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

Page 18: ColdFusion 11 New Features

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

Page 19: ColdFusion 11 New Features

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

Page 20: ColdFusion 11 New Features

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,

https://build.phonegap.com/plans

3. For providing certificate and phonegap account details,

Goto ColdFusion Builder ->Window -> Preferences ->

ColdFusion -> Phone gap

Page 22: ColdFusion 11 New Features

Thank You.

Presentor: Deepak Kumar Padhy

Mindfire Solutions