There were a few already
known facts about the new version of ColdFusion,
known as Scorpio. As the tour of user groups to promote the new version
progresses we are beginning to see some interesting postings on various Blogs.
The first one I noticed was Dave Shuck's Blog which has a really comprehensive list of the new features.
Dave reports on the capability of the new <cfimage> tag which I
personally asked for in CF6 and CF7 but was disappointed. I don't expect to be
disappointed this time as the tag seems to do everything I want.
I was also concerned by the lack of an upgrade for the KTML edit
facility in the new Adobe Dreamweaver Developer Toolbox extensions which have
replaced the Interakt Tools, which we made good use of. I need not have worried
as a better and easier solution has bee provided by the new RICHTEXT="true"
attribute on the <cfinput> tag.
Two new tags have been designed to allow easier construction of portal type
sites. <cfpod> and <cfwindow> can be used to create
panels that can be resized and moved around. Dynamic menus are also supported by
the <cfmenu> tag.
If you want to read a file <cfloop> will now loop over a file.
The small number of architecture gurus will be happy by the introduction of
the <cfinterface> tag which allows ColdFusion to implement object
oriented interfaces.
To pass arguments to tags argumentsCollection can be used in most cases
avoiding some need to create strange logic when different numbers of parameters
are present.
Integration with other Adobe products is a major benefit in the new version.
Adobe Acrobat Connect users will be pleased to see that presentations can be
created easily with the new <cfpresentation>,
<cfpresenter> and <cfpresentationslide>
tags, while <cfpdf> allows access to the metadata within a
pdf file, merge pdf files, generate thumbnails, and encrypt pdfs.
The facilities with pdf files are also enhanced to allow forms to be completed
offline and submitted to CF8 for processing by use of the <cfpdfform>
tag.
As far as the cold fusion engine is concerned there is now much better
support for performance tuning, with real time monitoring and the ability to
take snapshots of the server at points when problems occur. Its also possible to
run CF8 in a virtual machine under VMware.
On Ben
Forta's Blog Ben has added more snippets with the news of support for JSON
in AJAX. Two new functions, SerializeJSON() and DeserializeJSON() make it easy
to convert data to and from JSON which is generally regarded as the best way to
move data to and from AJAX applications. In addition, CFC methods can now return
data serialized as JSON by specifying returnformat="json".
Ben also tells
us about another new tag <cffeed> which can be used to read and create
RSS or Atom syndication feeds.
Regular Expressions get
two new function too with the introduction of REMatch() and REMatchNoCase().
There are new
security features in Scorpio, giving increased control and flexibility in
managing ColdFusion Administrator Access and RDS access.
In his blog, Ray
Camden reveals that CF 8 has a function that checks for the existence of an
array element. There is no longer a need to use try/catch if you have arrays
that potentially have null elements.
He also
notes that there are new ways to create arrays and structs and that AJAX is
going to be supported through a number of tags. For example <cfajaxproxy>
will handle all the JavaScript plumbing to let you invoke any CFC method
from JavaScript, and support for refreshing
AJAX grid controls.
You can also create a Spry dataset in CF8.
Some people are worried
by the new features and think they might be on the way out. But personally
the <cfexcahnge> tag looks like it will make it possible to move into new
areas of functionality, and Ian Smith has identified 9
ways for CF8 to rule web development.
The ColdFusion
Muse has identified that Scorpio will support the standard set of operators
we are used to seeing from other languages like "++" and
"!=". He also says that <cfajaxproxy> allows you to
instantiate CFCs from the client. This exposes the functionality of your CFC in
your JavaScript.
Among the other good CF8 snippets I found in the blogs were:
- getComponentMetaData - lets you get metadata by passing a path of a CFC.
- <cfstoredproc> now supports caching
- query caching now works even when using cfqueryparam
- <cfftp> now supports sftp
- cfc serialization for session replication
- Flash form restrictions removed.
- Apache Derby, a 100% Java database, will be supported.
I can't wait.....