• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

ColdFusion 2016 Update 17 : Getting 500 Error After Installing When Using Elvis Operator

Contributor ,
Mar 24, 2021 Mar 24, 2021

Copy link to clipboard

Copied

Hello CFers,

I installed the ColdFusion 2016 Update 17 (from Update 16) which came out this week and unfortunately all of my Coldbox sites are getting 500 errors when trying to load them.  The line that is causing the error is as follows:
`variables.thisRoute.handler = arguments.handler ?: "";`
The error that is being generated in the logs is:

"Error","ajp-nio-127.0.0.1-8016-exec-12","03/23/21","22:31:22","6A70E1E9B0E6E14EC4590A014F4D5C13","coldfusion.runtime.CFPage._isDefinedElvis(Ljava/lang/String;)Ljava/lang/Object; The specific sequence of files included or processed is: C:\websites\mysite.com\wwwroot\index.cfm, line: 1217 "
java.lang.NoSuchMethodError: coldfusion.runtime.CFPage._isDefinedElvis(Ljava/lang/String;)Ljava/lang/Object;
at cfRouter2ecfc1597072887$func_CF_ANONYMOUSCLOSURE_ELVIS1155.runFunction(C:\websites\mysite.com\wwwroot\coldbox\system\web\routing\Router.cfc:1217)
at coldfusion.runtime.Closure.invoke(Closure.java:109)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:3697)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:3677)
at coldfusion.runtime.CfJspPage._invokeElvisUDF(CfJspPage.java:3601)
at cfRouter2ecfc1597072887$funcROUTE.runFunction(C:\websites\mysite.com\wwwroot\coldbox\system\web\routing\Router.cfc:1217)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:3697)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:3677)
at cfRouter2ecfc467509851$funcCONFIGURE.runFunction(C:\websites\mysite.com\wwwroot\config\Router.cfc:7)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:654)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:443)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:413)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3247)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3224)
at cfRoutingService2ecfc1094123460$funcLOADROUTER.runFunction(C:\websites\mysite.com\wwwroot\coldbox\system\web\services\RoutingService.cfc:121)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:3697)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:3677)
at cfRoutingService2ecfc1094123460$funcONCONFIGURATIONLOAD.runFunction(C:\websites\mysite.com\wwwroot\coldbox\system\web\services\RoutingService.cfc:53)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:654)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:443)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:413)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3247)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3224)
at cfLoaderService2ecfc757761125$funcLOADAPPLICATION.runFunction(C:\websites\mysite.com\wwwroot\coldbox\system\web\services\LoaderService.cfc:66)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:426)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:654)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:443)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:413)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3247)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3224)
at cfBootstrap2ecfc1975085538$funcLOADCOLDBOX.runFunction(C:\websites\mysite.com\wwwroot\coldbox\system\Bootstrap.cfc:98)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:654)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:443)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:413)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3247)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3224)
at cfapplication2ecfc1140908838$funcONAPPLICATIONSTART.runFunction(C:\websites\mysite.com\wwwroot\application.cfc:69)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:493)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:426)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:389)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:340)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:235)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:654)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:443)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:413)
at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:114)
at coldfusion.runtime.AppEventInvoker.onApplicationStart(AppEventInvoker.java:237)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:345)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:43)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:153)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:60)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
at coldfusion.CfmServlet.service(CfmServlet.java:223)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:552)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1634)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:834)

 

I know ColdFusion 2016 is EOL but is there a channel I can use to let Adobe know their update broke some essential functionality?

Views

2.0K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Contributor , Mar 24, 2021 Mar 24, 2021

Well, I did some more digging and found others experiencing the same issue I was having on the Adobe Bug Tracker:
https://tracker.adobe.com/#/view/CF-4208310
The TLDR is to clear out your C:\ColdFusion2016\cfusion\wwwroot\WEB-INF\cfclasses folder after you update ACF 2016.

-- Edit 6/2/2021:
You will also need to restart CFML services after clearing out the cfclasses folder.

Votes

Translate

Translate
Contributor ,
Mar 24, 2021 Mar 24, 2021

Copy link to clipboard

Copied

Well, I did some more digging and found others experiencing the same issue I was having on the Adobe Bug Tracker:
https://tracker.adobe.com/#/view/CF-4208310
The TLDR is to clear out your C:\ColdFusion2016\cfusion\wwwroot\WEB-INF\cfclasses folder after you update ACF 2016.

-- Edit 6/2/2021:
You will also need to restart CFML services after clearing out the cfclasses folder.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 24, 2021 Mar 24, 2021

Copy link to clipboard

Copied

Thanks for sharing that.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Mar 27, 2021 Mar 27, 2021

Copy link to clipboard

Copied

I also had a problem with my sites throwing 500 errors, so I was pleased to see a fix above, but unfortunately the fix does not work for me

 

I performed the same update on my developer edition and it works fine. I've checked all of the settings including the version of JVM and everything appears to be identical.

 

The problem appears to be in CFQUERYPARAM, but not all of them. This WHERE for example will cause the 500 error

WHERE enduser_uid = <cfqueryparam value="#GetEnduser.enduser_uid#" cfsqltype="CF_SQL_INT">

 

I tried to replace the #GetEnduser.enduser_uid# with a hardcoded value, it still crashed, but when I removed the cfqueryparam and used WHERE enduser_uid = 123456 the query works.

 

These all worked fine before the update, plus with having two systems the dev and prod and only one doing this, I'm at a bit of a loss.

 

Any ideas anybody?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 27, 2021 Mar 27, 2021

Copy link to clipboard

Copied

You may well be getting a 500 error (that's what one gets with any cf error) but yours is not seemingly the same above, a nosuchmethoderror, right? Instead, yours is about cfqueryparam (again not the Elvis operator above).

 

Are you perhaps not seeing ANY error message? See the application.log for the error details. 

 

And as you say you're using sql_int, you should see cf reporting that sql_int is now invalid, as it should be sql_integer. The docs will show the latter has always been supported, but the former is not listed.

 

One of the changes implemented in the update for cf2016 is that it no longer ignores invalid cfsqltype values. (That change has been in CF2018 since its release). This is discussed in the technote for the update, and even more in the tracker ticket it points to.

 

As for you're not getting the same error for the same code on the same cf2016 update, it would seem that can't be. I'd think this means you have not updated the "working" one. Check the hf-updates folder and it's update 17 folder and its install log, to confirm it shows "0 fatalerrors". Let us know what you see.

 

Finally, as for this update (the last one ever for cf2016) introducing such a breaking change, it is unfortunate. But it's done for security reasons. Perhaps Adobe will soon offer a jvm arg to let folks switch it off, for those whose amount of affected code is too great. 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 21, 2021 Jun 21, 2021

Copy link to clipboard

Copied

Sorry @Homestar9,

but the workaround does not work for us even on CF2016 when the code is precompiled with an older version of hotfix.

The same goes for CF2018.

You use code precompiled or not?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jun 21, 2021 Jun 21, 2021

Copy link to clipboard

Copied

Paulo, my sense is that you would need to recompile that precompiled code with the update in place, for it to work on an instance with the update in place. The point is that the update relies on new Java code, which is why even code simply compiles using cf's more typical saved classes don't work unless those are cleared.

 

Using precompiled code is a very rare circumstance, in my experience, so you may hit some other quirky aspect to all this in using that, but let us know how it goes. 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 21, 2021 Jun 21, 2021

Copy link to clipboard

Copied

Hi Charlie, thanks for the reply.
In our company we have been working on releasing precompiled code for about 4 years and so far we have not encountered any problems as Adobe had informed us that the compiler did not change in their major versions.

We have contacted them and are waiting for their response.

Thanks again.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jun 21, 2021 Jun 21, 2021

Copy link to clipboard

Copied

But the whole point of this elvis issue (in both CF2016 and 2018, I'm pretty sure) is that in fact the java code they generated from CFML DID in fact change with this March 2021 update...and that's what's causing the problems for people, who find that (for the most part) they need to clear the cfclasses folder (where CF stored the classes it compiles from CFML, on the fly).

 

And that's why I am proposing that you, who are using precompiled classes (and the cfcompile tool) would seemingly face the same issue.

 

It's true that this is a very rare thing for Adobe to do (make a change that rquires this dance).  I can't recall it ever having happened before. (Normally we DO need to the "clear the cfclasses dance" when we move from one major JAVA version underlying CF to another, like java 8 to 11, or in the past 7 to 8, etc. But that's not the situation here.)

 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Jun 02, 2021 Jun 02, 2021

Copy link to clipboard

Copied

I just updated our staging server with CF 2018 update 11 and now I'm getting this error. I tried clearing out the cfclasses folder but that hasn't fixed the problem for me. Do I need to restart CF as well when I do this? Has anyone else run into this problem after applying update 11? I am seeing other problems related to the update but I'll put those in a different thread.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Jun 02, 2021 Jun 02, 2021

Copy link to clipboard

Copied

Update, restarting the server does fix the issue. So clear out cfclasses and restart your server in order for this fix to work (to anyone that needs detailed steps). Thanks

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 17, 2021 Jun 17, 2021

Copy link to clipboard

Copied

Hi, sorry but we have the same issue on CF2018 yet.

Obviously, by disabling the cache, the problem does not exist.

Our case is that to have the cache and the code compiled with hotfix 10 instead of 11. Could this be the issue?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Jun 17, 2021 Jun 17, 2021

Copy link to clipboard

Copied

I didn't run into this issue until hotfix 11, so your issue might be different.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 21, 2021 Jun 21, 2021

Copy link to clipboard

Copied

I am still wondering if there is anyone uses coldfusion. It was a powerful system, but it wasn't the best, but snice adobe purchased it, it continues to go down. The real wonder is that adobe is loosing products by not fixing and not updating.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jun 21, 2021 Jun 21, 2021

Copy link to clipboard

Copied

Stop spreading fud. If no one used cf, why would there be:

  • These forums with active q&a every day?
  • The cf developer week next week with 20 sessions and thousands of registrants?
  • CF2021, the 5th release in 10 years
  • Active 3rd parties supporting it (Ortus and their tools, Foundeo and their tools, Intergral and their tools, to name just a few)
  • An open source implementation in Lucee, itself used by thousands
  • Docker images for cf2021, 2018, and 2016 (separately from Adobe and Ortus)
  • And so on 

 

And to your last point, on Adobe "not fixing and not updating", you can't be talking about cf. Besides those 5 new releases in 10 years, there have been on avg 20 updates to each (over their 5 year support lives), and across the sum of update technotes for each release you'll find listed literally a few hundred bug fixes for each release over its 5 years.

 

So, again, stop spreading fake news. If you don't like cf, move on. It's inane to try to spread such fud here of all places. 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jun 21, 2021 Jun 21, 2021

Copy link to clipboard

Copied

Just in case @CreativeDev-e isn't trolling and is instead out of the loop.  I recommend checking out the Modernize or Die weekly podcast: https://www.ortussolutions.com/learn/modernize-or-die
Listen or watch that for a few weeks and you'll surely see how CFML is still a well-loved and adopted platform all over the world.

Edit: I can't believe I forgot to mention the Online ColdFusion Meetup that Charlie organizes on a weekly basis.  If you're interested in CFML and want to connect with other community members, I 100% recommend checking this out: https://www.meetup.com/coldfusionmeetup/

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jun 21, 2021 Jun 21, 2021

Copy link to clipboard

Copied

LATEST

Thanks for the kind regards, Homestar. And yep, I could have kept going with still more bullet points of things that demostrate the liveliness of CF, but note I ended with "and so on", so as not to seem to be belaborating the point.

 

And often folks who cast such aspersions really aren't really interested in having as many proofs possible. Often they aren't aware of even any single one, and sometimes that alone is enough to stop the conversation (and aspersions). But I appreciate that you added it as much to help others who may not be "haters" but just not as well-informed as they might be. More on that in a moment.

 

Of course, these kind of accusations arise a few times a year in various quarters, and we who still support (or at least appreciate) CF rise up to respond. And then others may jump on us for leading people down a primrose path. The conversation is literally as old as CF (25 this year), but we soldier on.

 

I didn't even mention that I will be giving a talk at the CF Devweek tomorrow on this very topic: ColdFusion at 25: Not the kid most have stuck in their minds. It just seemed a good time to catalog the indeed many (MANY) ways that CF has evolved in its recent releases. Whether that's to help those who are in management making decisions, or current developers, or those who delight in disrespecting CF, I hope to give still more "reasons for the hope we have" in CF (and I will cover not just CF itself but the CF ecosystem, including those things above and more).


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation