[Looking for Charlie's main web site?]

CF2016: What's deprecated and/or 'no longer supported' (note: nothing 'removed')

Continuing a series of posts I started last week on ColdFusion (2016 Release), aka CF 2016, I'd like to highlight the items that Adobe has chosen to deprecate and/or declare as "no longer supported", as of CF 2016.

(Note that for now, nothing is "obsoleted" or "removed" in CF2016, so this is just about our being made to know that certain features that DO work now in CF 2016 may NOT in future releases and won't be receiving any additions, enhancements, or modifications. )

While some of these features listed as deprecated will be things that most won't miss (and some may even wonder why they weren't deprecated sooner), some of the features listed as deprecated may really surprise some folks, as I'd not heard discussion of their deprecation myself until finding them discussed in the CF docs.

Some introductory observations

Before I start listing them, let me note that I am indeed simply sharing info that is readily available in the docs, but first of all, that page lists not only what's deprecated in 2016, but indeed what's been deprecated in all releases back to CF 6 (CFMX). I'm drawing out here ONLY what's deprecated in CF 2016. Second, they are offered in that docs page in a seemingly random order. I present them here in what I think may be more logical groupings.

Also note from that document that Adobe has for the first time created yet another subset of deprecation, as in "deprecated AND unsupported". The difference in the latter is that they are also declaring that they will not be making any bugfixes to them (during the CF 2016 release lifetime), except perhaps for security reasons. Some things that are "deprecated and unsupported" as of CF2016 were already deprecated in CF11 or earlier. I'll break out separately also, below.

With that, let's proceed to the 3 groups of deprecations.

1) Language/tags/functions deprecated in 2016

Following are deprecated features which are enabled through CFML code:
  • cfchart- format flash
  • cffileupload Flash component
  • cfmediaplayer
  • cftable
  • UI Tags based on YUI toolkit - cftree, cfcalendar, cfautosuggest, cfmenu*
(Items marked with * above indicates items also "no longer supported".)

2) CF Admin features deprecated

Following are deprecated features which are either only used via the CF Administrator or are related to it, or support language features though it:

  • Event gateway - Jabber, Flash Media server
  • Portlets*
  • Server Manager
  • Server Monitor (Adobe subsequently said that the monitor would NOT be deprecated)
  • System Probes
(Items marked with * above indicates items also "no longer supported".)

And to others who are surprised to hear that the CF Server Monitor is deprecated, so was I. Granted, it's never changed from being Flash-based, but I thought at some point Adobe would just rewrite it as HTML5. That now seems not to be in the future. (Adobe subsequently said that the monitor would NOT be deprecated)

(Folks should definitely check out FusionReactor, the third-party CF server monitor, which HAS been using HTML5 for a few years, and which can in fact monitor not just CF but Railo/Lucee, BlueDragon, OpenBlueDragon, and indeed any JAva app server, like Tomcat, JBoss, Glassfish, Jetty, etc.)

3) Other features deprecated

Finally, following is a deprecated features which is neither specific to language/CFML or the CF Admin:

  • Report Builder*
(Items marked with * above indicates items also "no longer supported".)

The Report Builder is another item I was a bit surprised to learn was deprecated (and "no longer supported"), though I do of course understand it's not been updated in a long time, and many never got to using it, though I know some folks who do and will be surprised to hear of this. I'll talk about a few such surprises to me (and perhaps some other folks) in the conclusion below.

Features marked "deprecated and unsupported" in CF2016, but deprecated already previously

The following were all already deprecated in CF11, but they are also now marked as "unsupported" in CF 2016, so they won't receive bug fixes (eccept perhaps for security reasons):

  • AIR integration
  • CF actionscript functions (CF.query, CF.http, etc.)
  • cfapplet
  • cfdocument format="flashpaper"
  • CORBA integration
  • Flash forms
  • LCDS integration
  • cfpresentation flash presentations
  • cfslider/cftree/cfgrid, if using format="applet"
  • cfsprydataset
  • xml forms

Conclusion: no "obsolete/removed" features, yet perhaps surprises

In conclusion, let me repeat that none of the features listed above are "obsoleted" or "removed" in CF 2016. They are simply deprecated, indicating that they will not be updates and should NOT be expected to be in future releases. And in some cases they are "deprecated and unsupported", which will receive no bugfixes, except perhaps for security reasons.

Even so, there may be many things that some are "glad to see go", such as all the things related to Flash or applets or UI components.

Still, a couple of other things may at least surprise those who perhaps DID still use them, like the Report Builder (thought it's not been updated in years), the System Probes and the Server Manager (though many never even knew that either existed). I realize that both facts (things people don't seem to know about, and things not updated in years) are for some the very definition of something that ought to be deprecated. I'm just saying that some people DO use them, and those folks will be bummed to learn that they are now declared officially deprecated and in some cases "no longer supported" (no more bug fixes, other than perhaps for security reasons).

Still, to be clear, this information I share here should have virtually no bearing on whether one *moves to* 2016. It's mostly just information about how such features will be treated in subsequent releases. And as some will know, some things have lay dormant (deprecated but never removed) for years in CFML, such as the parameterexists function, deprecated since like CF 3.1. :-)

And again, note that since nothing is "removed" in 2016, this means also that things marked as "deprecated" even as recently as CF11 have also "still not been removed". If it's not too indelicate to use a legal analogy, deprecation may be a death sentence, but circumstances may forestall that so this becomes instead "life without parole".

What do you think? Any surprises to you?

I would be curious to hear what others think. I'd ask that folks please refrain from sharing "good riddance" type messages regarding the more obvious things most are "glad to see go" (the Flash, applet, or UI components). And really, if you just want to say you're "glad to see" them or even something else here go, I'm not sure what value there is in commenting on that here. Adobe has obviously heeded your sentiment. :-)

I would be interested (as perhaps Adobe may be) to hear from any who are disappointed to hear that some feature is going away.

Finally, I'll note that there may well be mistakes in the Adobe deprecated feature document, or perhaps even in my rendering of the info (in a slightly different, and I hope helpful) way. If you see any, please let me know, and as I learn of any changes, I'll mark them here as an update.

Glad to see some features deprecate...
But Report Builder?! Our Servers produce thousands of pdf reports each day which all are based on CFRs...

What would be a good recommendation as a replacement?
At least we could stay with CF11 ;)
# Posted By Jörg Zimmer | 2/23/16 2:55 AM
Jörg, I do understand your concern about the deprecation of Report Builder. You who use it need to stand up and make yourselves heard to Adobe.

That said, you conclude, "At least we could stay with CF11 ;)".

No, no, no! Please, PLEASE note the point I made at both the top and bottom of the post: NOTHING is "removed" (or "obsoleted") in CF 2016!

These items are only deprecated: essentially, marked as "to be removed in the future".

And even about the few that are marked as "no longer supported" (and therefore will not receive bug fixes), note that Adobe has left the door open to fixes for security reasons.

So really, this information I share here should have virtually no bearing on whether one *moves to* 2016. It's mostly just information about how such features will be treated in subsequent releases.

As some will know, some things have lay dormant (deprecated but never removed) for years in CFML, such as the isdefined function, deprecated since like CF 3.1. :-)

And again, note that since nothing is "removed" in 2016, this means also that things marked as "deprecated" even as recently as CF11 have also "still not been removed". If it's not too indelicate to use a legal analogy, deprecation may be a death sentence, but circumstances may forestall that, so this becomes instead "life without parole".

Anyway, I have updated the title of the post to make it clear that nothing is "removed". I will also add a bit of this comment as text in the conclusion (as it seems some people only read a blog's text and not comments, for some reason).

Finally, you ask about alternatives to report builder. I'll address that as a separate comment, in case some may not read so far into this one, about deprecation vs obsoletion.
# Posted By charlie arehart | 2/23/16 7:18 AM
Jörg had also asked about "a good recommendation as a replacement" for the Report Builder functionality.

Well, let's clarify some things that seem important to note about that, and then I'll propose some possible replacements:

1) First, the Report Builder was a tool added in CF7, which created a new form of file extension, .cfr, which could be used in CFREPORT as a template to then populate and present a report in any of many formats.

2) But the CFREPORT tag itself has existed long before CF7. It was originally used to integrate with Crystal Reports, which used to be bundled with CF, but has not been included for many years (I think last in CF3, so yes, there was a time when you could use CFREPORT even though the tool for building them was removed, just as could be the case here once the "newer" CF Report builder is removed).

2a) Indeed, to be clear, CFREPORT *STILL DOES* supports Crystal in 2016, but you would need to obtain (purchase) Crystal Reports yourself to use it (supported only on Windows, I believe. It's also expensive, if I recall correctly. And many had complaints about using it over the years). One would also need to then change their CFREPORT tags to use Crystal instead (which does not use "cfr" files. That was added uniquely with the new Report Builder in CF7). I don't know if that's the way most in your situation will go.

3) But there is sadly nothing else I know of which will build CFR files.

That said, there are indeed other alternative mechanisms to create reports in CF, at least given that CF is based on Java.

4) Perhaps the long most popular solution has been the open source JasperReports (http://community.jas...).

But you would need to not only use Jasper's alternatively provided UI for building reports, but note also that the CFREPORT tag does not itself have any feature for integrating with Jasper-provided reports. So it really would be a cobbled-together solution, including calls to the underlying Java object for Jasper (which is beyond the ability or interest of many).

I will note that people have blogged about trying it for years. Witness this post from the 2004 timeframe: http://www.rickroot.... (which still shows up as among the first results in a search for: ColdFusion Jasper).

Then again, some will want to point out that a subset of Jasper functionality (in the form of some jasper JAR files) does exist in CF, and has for some time. It appears that it's used in some ways under the covers for the CFREPORT feature, but again it has nothing to do with creating CFR files. It seems perhaps Adobe was leveraging it as part of the process of creating the reports, after the CFR templating mechanism passed in the data to be formatted.

More to the point: I've heard that some who tried to "use jasper" themselves" found that then they could no longer "use CFREPORT with CFRs", because of a conflict in the versions of the Jasper JAR files. See for instance https://forums.adobe...

5) Here again we see the twin nature of CF and reporting. Some used it and loved it, some tried it and hated it, many I think never even knew it existed. And some have tried using tools like Jasper, but perhaps were put off by the heavy Java-ness of that solution, or ran into version conflicts with the jasper jars.

Some may wonder why Adobe would just drop (again, not kill, but "stop supporting") a reporting solution in CF. Still others would stand on the argument, "it's java, you can just add reporting yourself", not realizing that the long-used Java-based approaches may be beyond most to use, and again can hit conflicts.

And this emphasizes also the twin nature of CF providing things for folks. Some would argue that they are paying Adobe to solve such problems for them, while others decry that by providing such embedded solutions Adobe just opens the door to soon having outdated libraries. (See my blog post on the version of libraries included in CF 2016: http://www.carehart....)

But as for reporting, it seems that so few used the provided feature that Adobe felt compelled to start officially "letting it go" rather than try to implement updates regarding it (and my sense was that the real problem was with the Report Builder tool itself, built as it was using Delphi in the CF7 timeframe. Rewriting it just did not seem to gain priority interest.)

6) That's why I say that those who use it, and rely on it, need to speak up to Adobe. But this blog post is not the best place to rally around that flag. I would think a forum post on the Adobe CF forums (https://forums.adobe...) would be the better place. Indeed, did you know there is a still-active Reporting-specific CF forum, forums.adobe.com/community/coldfusion/coldfusion_reporting? (For some reason, when I offered that as a full URL here, it got badly formatted by BlogCFC. Don't know why, so I have changed it to remove the https. Didn't happen with the other. May be the underscore. Hey, it's a very old version of BlogCFC that I still run. Sorry.)

If one of you RB fans wants to plant a flag pole there to have that conversation, I'm happy to have a pointer to it here as a comment.

7) Finally, I wonder if there may not be some nifty reporting solution which works NOT via java calls but instead perhaps some other way, such via REST calls, where you pass to some service the data to be reported upon, or perhaps even as a Javascript API library, where the reporting data is passed down as JSON and the library formats it.

I'm not saying either is a good or right way to solve the problem. I'm just proposing to Jörg that there may well be other "reporting" solutions he could look for, even if not tied directly to a CF feature.

8) Finally, let's not forget that while this "reporting" feature, based on the CF Report Builder, is now deprecated, there do remain several other options for creating "report-like" content. Of course, CFML has long been able to create any HTML you want, in a report-like format. It has also long had the ability to create charts and graphs (CFCHART, which replaced the older and now-obsoleted CFGRAPH).

And then subsequent releases added the ability to create first PDFs and then later MS Office-formatted files, with such tags as CFDOCUMENT, CFSPREADSHEET, CFPRESENTATION, and related functions.

So it's not that "one can no longer create reports in CF2016". There remain lots of ways one can "create reports". It's just that the Report Builder specifically, the app that creates CFR files and integrates with CFREPORT, is now deprecated. It's not "gone" yet, but Adobe is has put a target on its back.

Hope that's helpful.

(Perhaps I should make a new blog post on this topic alone, repeating what I have here! :-) Some people may not bother to read this, but might spot and even more may contribute to a newly titled post on "alternatives to Report Builder".)
# Posted By charlie arehart | 2/23/16 8:00 AM
I think you meant ParameterExists is deprecated, not isdefined.
# Posted By Derek | 2/23/16 10:01 PM
Derek, you're absolutely right. Doh! I was in such a rush to get all those thoughts out in the earlier comment reply (which I then rolled the post) that I slipped there. I've corrected the post, and will leave this and yours to acknowledge my mistake and your correction. Thanks.
# Posted By Charlie Arehart | 2/23/16 10:50 PM
Hi Charlie,
thank you very much for these extensive comments.
I think I'll post to the forums.
But as I worked with Crystal Reports for years, until 2010 at least, I might give that a try.
We would only have to purchase CR first, as I switched companies back then.

Best Regards!
# Posted By Jörg Zimmer | 2/24/16 5:07 AM
just to complete this, here is the URL to my posting
# Posted By Jörg Zimmer | 2/24/16 5:18 AM
Hi Charlie,

I use the Server Monitor quite a bit. I really don't see any point in removing the System Probes feature - I'd like to know Adobe's thinking on that one.

Regarding UI features, I agree w/ removing Flash functionality and the YUI stuff (Yahoo themselves have deprecated YUI). I wouldn't agree w/ removing ExtJS or ZingChart, and thankfully Adobe hasn't deprecated either of those. For those, inclusion of their licenses alone is a significant value-add as they cost more than CF itself.

# Posted By Aaron Neff | 3/3/16 1:18 PM
Yep, I'm with you on surprise over removal of both the probes and the server monitor. I hoped they may come out with an HTML5 version of it, or at least release the Flex source code as open source, to let some of us either improve it or port it to such an HTML5 version.

And lest any readers wonder, I totally am a fan of FusionReactor, and see value in both (indeed, I often run and help people run both at once). Each has something the other does not (and both share much in common).

I'm just saying that for those who DO have the CFSM, it would be nice to tweak just a few things, which have long remained untouched, even if it were to remain a Flex thing...which it of course should not!

Oh well, let this indeed be a chance to point out that there is indeed a modern HTML5 CF monitor in FusionReactor (fusion-reactor.com), which of course DOES work with CF Standard OR Enterprise, and which indeed works not just with CF but also BlueDragon, Railo, and Lucee, as well as any Java EE server or servlet engine, like Tomcat, JBoss, Jetty, Glassfish, and so on. It's also pretty cheap, starting at only $39 a month. And the new FR6 edition adds lots of powerful new features, which I'll be talking about more shortly I hope.
# Posted By Charlie Arehart | 3/3/16 1:58 PM
Server monitor was ok, but needed more work, including HTML5...

I see SeeFusion is noting a pending update also... FusionDebug has been ahead in 'extensive' features, but sometimes I see seefusion as what you need rather than what you 'could have' (for tonnes more cash). It is a the best tool 'today', but we need more options.

I'm also building a new HTML5 'modern' Lucee Admin (extendable), that I'll port back to CF11+ (maybe even 10) and it will have a basic monitor in it also. (and will allow hybrid admin to an extent) and uptime monitor functionality. Think Q4 for beta as a Lucee extension, the Q1 2017 for cf support. (more info will be at http://luceeadmin.in...) - I'm guessing seefusion and fusiondebug will integrate also to give extended info if installed...
# Posted By Dawesi | 5/29/16 9:45 PM
Just writing to say thanks! Found this blog and its comments while looking for a solution to problems a group of historians I belong to are having with an old website that used CF. It was put together between 2003 and 2005 and launched that same year, but never updated!!! As our service provider has updated to CF11 (without letting us now first), a number of removed features have caused our site to go under, leaving us with only blank pages. At the time of writing this post, we're in the process of finding a solution for the short and long term, using this post, comments and links. But while we wait for the updates - from me now working in the archives (my job, after all!), I thought of sharing this, if only as proof of modesty and negligence, I guess, but mainly gratitude. Keep up the good work.
# Posted By Nelson Ouellet | 6/1/16 11:15 AM
I, too, am a big fan of Fusion Reactor. We started using it about a year ago. It's a great monitoring tool and, more importantly to us, a good tool for post-mortem analysis.

I'm also sorry to see the report writer on the deprecation list.
# Posted By Edward Gioja | 6/14/17 11:44 AM
BlogCFC was created by Raymond Camden. This blog is running version 5.005. (Want to validate the html in this page?)

Carehart Logo

Managed Hosting Services provided by
Managed Dedicated Hosting