ColdFusion 9 Wishlist - Deprecated tags and functions

Apr 03, 2008

So, I will be posting my blog entries in series with a basic underlining theme. This first series will be things I wish Adobe would address in ColdFusion 9, aka Centaur.

So in the early days of ColdFusion, I used a function called parameterexists()  If you don't know about this function, that's a good thing because I believe it was deprecated back in ColdFusion 4.0  Today, you should be using isDefined() or structKeyExists() instead.

But here's the funny thing, if you wanted to, you could still use this deprecated function. It still works today in ColdFusion 8. This of course is just one example and by the way there are several tags, functions and attributes that have been deprecated over the years. Adobe provides a full list of deprecated items since ColdFusion 5 at http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags-pt0_21.html

So, a great (or bad) thing about ColdFusion is that it has been very good about backward compatibility. Many of these things run just like they did before, but it would be nice to have the ability to tell the ColdFusion server to ignore or error out on deprecated items. Just a simple toggle in the ColdFusion admin that if turn on would throw a deprecation error back if you tried to run a deprecated item. Naturally, this feature would be of great use in development to clean up older CF applications.

Comments

Howard Fore

Howard Fore wrote on 04/03/087:40 AM

John, what do you mean? Do you want a list of the currently deprecated tags? Or you have some you'd like deprecated?
Howard Fore

Howard Fore wrote on 04/03/087:41 AM

Never mind, I didn't read...need more coffee...
Brian Rinaldi

Brian Rinaldi wrote on 04/03/088:21 AM

Personally I would like to see them deprecate or eliminate a few other things...Flash Forms? the Java cfgrid? Did you know even the old Spectra tag call of cfa_ still works? Please don't ask me how I know that.
Shawn Gorrell

Shawn Gorrell wrote on 04/03/089:46 AM

John, please don't take away ParameterExists();) I've got some legacy code that I don't feel like fixing. Brian I did know that, because we are still a Spectra shop. I think they keep the Spectra support so that they have an example of an application that performs horribly as a way to compare performance across versions. Not sure if there is an application out there that is more of a dog than Spectra...
Brian Rinaldi

Brian Rinaldi wrote on 04/03/0810:10 AM

@Shawn - holy crap, another Spectra shop. I thought we were possibly the only one left. Of course its a dog, each object is like 5 levels of nested WDDX.
John Mason

John Mason wrote on 04/03/0811:19 AM

Thanks guys for the responses :) Just to be clear. Nothing would actually go away. Just a setting in the CF admin to either allow or not allow the execution of those deprecated items. So in your case Shawn, you would simply leave that setting unchecked. But for others it may be a useful way to clean the cobwebs out.
CheyenneJack

CheyenneJack wrote on 04/03/084:47 PM

I think toggling the use of tags would be a great managerial tool, especially on your development servers. Programmers either Junior or too lazy suddenly wouldn't be able to compile and check in code that you do not see fit for your particular shop.

While I think the backwards compatibility needs to be there for all the legacy apps, it would be nice for shops to create subsets of CF they deem appropiate, cutting stuff like cfinsert, java grid and other items they don't want running in their shop or buying from vendors.

Write your comment



(it will not be displayed)