What’s New in Cold Fusion 2016

Adobe ColdFusion (2016 release) delivers NTLM support for some tags, ability to store sessions in external storage, documents according to Swagger specifications, language, security, and PDF enhancements, and CLI integration.

Adobe ColdFusion (2016 release) is a feature packed version of ColdFusion with benefits ranging from better security, performance, PDF improvements, language enhancements along with the all new API Manager.

What's new and changed

Language enhancements

Command Line Interface (CLI)

PDF enhancements

Security enhancements

External session storage

Swagger document generation

NTLM support

New and changed functions/tags in ColdFusion (2016 release)

API Manager

Language enhancements

Overview

In Adobe ColdFusion (2016 release), the language enhancements that have been introduced are safe navigation operator (“?.”) and collections support along with some other minor enhancements. 

To the top

In Adobe ColdFusion (2016 release), the language enhancements that have been introduced are safe navigation operator (“?.”) and collections support along with some other minor enhancements.

<cfoutput>#employee?.getDesignation()#</cfoutput>

<cfscript>

function employees() {return {Marketing : "Tim", Sales: "John", Finance: "Andrew"};}writeOutput("Employee in Finance: ")/** In earlier ColdFusion versions **/ emp = employees();

if(isDefined("emp") and isDefined("emp.Finance")) {

writeOutput(emp.Finance);

} else{

writeOutput("Sorry, no employee found")}  

/** Now with Safe Navigation**/writeOutput(employees()?.Finance?:"Sorry, no employee found");

</cfscript>

Safe navigation (?.)

You can use the safe navigation operator to access members of a Struct or values of an object.

Instead of ".", using the safe operator ensures that exception is not thrown when the variable is not defined.

Arrays

Now we can pass array by reference

Collection support (Ordered)

Struct New("Ordered") creates a struct that maintains insertion order.

Other new enhancements

ArrayFindNoCase, replaceListNoCase, cfloop item tag, Whitespace management

Command Line Interface (CLI)

In Adobe ColdFusion (2016 release), there is a new Command Line Interface (CLI) for developers to run cfm scripts without starting the ColdFusion server.

CLI can be used to write CRON jobs with:

File operations for reporting, logging, archiving, and so on.

Database operations for monitoring, debugging, and so on.

Network operations like mailing an error log or thread dump to a system admin.

The cfm files can either be in wwwroot or in a different location.

You can pass parameters from command line to the cfm script that is being executed.

Arguments

You can pass both positional and named arguments to the executing cfm from the command line.

CLI has the following methods to read the arguments:

cli.getArgs()- Gets all the arguments.

cli.getNamedArgs()- Gets all the named arguments.

cli.getUnnamedArgs() - Returns all the unnamed args as a CFML array or an empty array if none are specified.

cli.getArg(int index)- Gets the argument at the index location.

 .getNamedArg(String argName)- Gets the value of the named argument with name argName.

Example

cf.bat test.cfm 10 20 foo=barcli.getArg(1) returns 10

cli.getArg(2) returns 20 cli.getNamedArg("foo") returns bar

Custom directories

In CLI, you can set outputdir and logdir while executing the cfm. By default, both classes and logs go to the temp folder.

Usage:

cf.bat cliscript.cfm –outputdir=c:\cfclasses –logdir=c:\logs

PDF enhancements

Adobe ColdFusion (2016 release) provides new actions for <cfpdf> tag, such as sanitization, import and export of metadata, import and export of comments, attaching files, annotation (stamp), and enhancement to PDF archival.

The new cfpdf actions

Sanitize

Exporting and importing comments

Exporting and importing metadata

PDF archiving

Attaching files to a pdf

Adding stamp

Redaction

Security enhancements

Security code analyzer is a new feature introduced in ColdFusion. It serves the purpose by integrating security analyzer into ColdFusion Builder so that developers can now avoid common security pitfalls/vulnerabilities while writing ColdFusion code

External session storage

All ColdFusion sessions are stored in memory. But the sessions cannot be shared across ColdFusion nodes. You can replicate sessions, but as the number of nodes increase in a cluster, the configuration and management of sessions become increasingly difficult and resource-intensive.

One way to solve this problem is to use an external session storage like Redis.

You can now store ColdFusion sessions in external cache servers like Redis, instead of in-memory storage in ColdFusion servers.

Redis support

Swagger document generation

Swagger is a project specification that is used to describe and document RESTful APIs. In ColdFusion (2016 release), you can create swagger doc automatically from REST CFC after it is implemented and registered in server. The Swagger version that is supported in ColdFusion is 1.2.

Using new response Messages attribute

NTLM support

There is support for NTLM (NT LAN Manager) for <cfsharepoint>,<cfinvoke>, and <cfobject> tags, and CreateObject function. NTLM is a suite of Microsoft security protocols that provides authentication, integrity, and confidentiality to users.

In a Windows network, NT LAN Manager (NTLM) is a suite of Microsoft security protocols that provides authentication, integrity, and confidentiality to users. Whether these protocols are used or can be used on a system is governed by Group Policy settings, for which different versions of Windows have different default settings.

New and changed functions/tags in ColdFusion

Adobe ColdFusion (2016 release) has gone through changes and enhancements in tags and functions.

The following is a list of new functions in Adobe ColdFusion (2016 release):

ArrayContainsNoCase

ArrayDeleteNoCase

BooleanFormat

Floor

IsPDFArchive

QuerySort

QueryEach

QueryFilter

QueryKeyExists

QueryMap

QueryReduce

ReplaceListNoCase

SpreadsheetGetColumnCount

ValueArray

API Manager

API Manager is a new component introduced for the first time in Adobe ColdFusion (2016 release). It is a standalone server component that can run on its own, providing you all the capabilities of monitoring, measuring, securing, and, monetizing APIs.

API Manager is an all new API management solution introduced with Adobe ColdFusion (2016 release).The API Manager can be used as a platform to publish and manage APIs based not only on ColdFusion, but also on other platforms or languages. The API Manager can:

Authenticate an API via OAuth2, basicAuth, or apiKeys

Enforce rate and throttle limits on API calls with SLAs

Manage the life cycle and versioning of an API

Monitor API usage statistics across applications and user profiles

Cache API response to reduce load on server

The API Manager includes some additional capabilities, such as:

Publishing a traditional SOAP based web service as a RESTful API.

Proxy for traditional web services (SOAP PROXY)

Coldfusion Expertise

Lucid Solutions have been working in ColdFusion for more than 12 years now and have a team of more than 20 Adobe certified developers and Expertise team. We are committed to providing our clients with the best solutions, quality services and superior support. Our team of ColdFusion Experts develop highly customized and affordable desktop and web-based solutions for you.

Lucid solutions working on following Coldfusion Platforms:

  • Coldfusion Services

  • Coldfusion Industies

  • Coldfusion Projects

  • Coldfusion Consulting

  • Coldfusion Testinomial

  • Coldfusion Developer

     

Leave a Reply