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