Bugs
Wonderful. It’s taken exactly 25 minutes after installing ColdFusion 8 to find a bug that will require me to edit hundreds of reports that have been working fine for years in MX7.
Thank you again, Adobe.
In a nutshell, the <cfdocument> tag apparently no longer has access to the arguments scope.
Given CFC code
<cffunction name="reportfunction" access="private" returntype="string" output="true">
<cfargument name=”reportmonth” type=”numeric” required=”yes” />
<cfargument name=”reportyear” type=”numeric” required=”yes” />
<cfargument name=”reportformat” type=”string” required=”yes” />
<cfdump var="#arguments# />
<cfif reportformat Is "PDF">
<cfdocument format=”pdf” name=”thePDF”>
<cfdocumentitem type=”header”><p align=”center”>Report date: #MonthAsString(arguments.reportmonth)# #arguments.reportyear#</p></cfdocumentitem>
<cfdocumentitem type=”footer”><p align=”center”>Run date: #DateFormat(Now(),”full”)# #TimeFormat(Now(),”full”)#</p></cfdocumentitem>
…
The first <cfdocumentitem> line (in italics) throws the exeption “Element REPORTMONTH is undefined in ARGUMENTS.” However, the prior <cfdump> reports everything correctly. The other allowed report formats (HTML, XML) also still function correctly.
Removing the arguments. scope allows it to function correctly. These reports have been working for years. That means about 100 of them than now need to be modified.
Bastards.

