ColdFusion RoadShow Notes: What's New In ColdFusion 2016, Elishia Dvorak

April 14, 2017

doing a lot of going to different cities, having conversations w/ CF folks
feedback taken to product/engineering team

next month (May) CF 10 goes out of core support - no more security/hot fixes
ONE more for CF 10 and 11 in the next few weeks, but that’s it for 10

CF11 is supported thru 2019

CF2016 highlights / main feature sets —

30% performance improvement over CF11
(depends on how you develop your app of course, but this is on average - 30% increase in performance)

http://adobe.com/products/coldfusion-family.html
white-paper that outlines the diff areas you can go thru in order to get the most performance impact
really big gain in cached queries — 822%!

As of CF11 - every tag can also be done via script. so all performance changes work for both tags and script syntax

Pass Array By Reference
(historically was by value)
25X performance improvement!
setting you can change in application.cfc
this.passArraybyReference = true
make sure your code will support it of course

Search Implicit Scopes -
5x improvement
have ability to disable the implicit scope search
if you’re not scoping variables, CF traverses the scopes to see where the variable lives
if you disable that, you can gain some performance since CF won’t look thru all the scopes
in application.cfc
this.searchImplicitScopes = true

Command Line Interface -
c:\cf.bat test.cfm foo bar

can run a CFM page straight from CLI, don’t have to start CF services or anything
nice for quick tests
useful for container deployment
creating deployments that are configured and being able to scale them up/down easily

Ordered and sorted structs/collections
StructNew( “ordreed”) - results returned in order struct was created
StructNew( “sorted”, “asc/desc” )  -

Safe Navigation Operator ?.
No exception thrown if struct value is undefined

documentation for web services
Swagger
ability to quickly documentation REST based services
in CF2016, any REST based service will auto-generated documentation via Swagger

APIs —
lot more use of data exchange thru APIs these days
sharing data can be your core asset
having a standard API makes sharing that data easier

API mgmt benefits

access control
versioning
analytics
documentation
caching
testing
portals


can have separate SLA’s for different people using the API Mgr. So Customer A can hit the API 10 times, Customer B can hit it 200 times, etc.

(Looking into Platform as a Service and containerization support. but not released yet)

Acrobat Integration -
PDF
Comment
Signatures
Sanitization - looks at all metadata, all the non-visual data in the PDF (geolocation info, scripts, etc) that contains important private data, and strips all of that out of the PDF. so nothing behind the “visual data” remains
Redaction - can black-out sensitive data (e.g. (SSN#’s in healthcare docs, etc)
Attachments
Stamps - icon image attached to the doc, useful for “certification stamp” on a doc, etc
Metadata
Archive PDF/A-2b

(no new form manipulation stuff in CF 2016)

Each type of integration can be done in just 1 or 2 lines of code. Demos Elishia did all “just worked”.

Security -
Secure by default installation
What else can we do to eliminate the hardening steps, and make it easier to lock down CF servers?

NTLM authentication
for sharepoint
have that ability in CFSharepoint now to use NTLM

Code Analyzer -
run from within CF Builder
REQUIRES Enterprise to run this

we’re doing “quite a bit” to promote use of CF, make it a viable option for new teams, attracting junior dev’s, etc.