I am working on retiring " /> I am working on retiring " /> I am working on retiring "/>

What does cfform enablecab="No" do?

251 Views Asked by At

I am working on a lot of ColdFusion legacy code. I am seeing

<cfform action="xxxx.cfm" method="POST" enablecab="No">

I am working on retiring <cfform> but I am at a loss as to what enablecab="No" does.

QA has spotted the change, but I am at a loss as to how to describe the change. This system was recently updated from CF10 to CF2016

2

There are 2 best solutions below

0
Alex On BEST ANSWER

The enableCAB attribute was around when Java applets were still a thing and ColdFusion used them to make things such as <cfform> (and its input parts) "more rich". Enabling enableCAB prompted the user to download the required applet classes as a .cab file (Microsoft's archive format) speeding up the transfer. It was thus only available for Internet Explorer and required Microsoft's Code Signing (Authenticode).

The attribute's functionality was removed without substitution in ColdFusion MX (ColdFusion 6) back in 2001. However, the attribute is still read and completely ignored in newer versions.

0
James A Mohler On

Short answer:

It does nothing

Long answer:

Normally, when <cfform> gets an attribute that is not on its official list, it will do a passthrough. enablecab does not. It just disappears into the æther.

Also it does not do any kind of validation. It used to have to be truthy or falsy. But now it takes anything.