New features introduced in ColdFusion 8 such as CFThread,
file functions and stored procedure caching enables users to develop better
performing applications. Similarly, in ColdFusion 8 the CFC (ColdFusion
Component) creation performance has drastically increased as compared to
ColdFusion 7. The performance of tags like CFSwitch and CFCase has increased in
ColdFusion 8 2.7 times as compared to ColdFusion 7.0.2 and 4.3 times as
compared to ColdFusion 6.1. The performance of lists and list manipulation
functions has also significantly increased. The file functions added in
ColdFusion 8 solve the performance issue with CFFile tag when used for reading
large files. The tag introduced new to ColdFusion 8, CFThread, enables
developers to quickly and easily add powerful multithreading capabilities to
sever applications. It enables asynchronous processing in CFML, which results
in improving the overall user response time for web applications (especially
Adobe Flex and Ajax applications where many sever side requests are made from a
browser and delays in server response can make an application appear
unresponsive).
Server Monitoring and Multiserver Monitoring
Being ColdFusion developers, we always want to easily build
applications that can handle heavy traffic as well as quickly respond to user
activities. But with the earlier versions of ColdFusion, it was not possible to
analyze the software's performance after deployment and understand how the
server is processing the pages. So it was difficult to tune applications for
maximum performance and to monitor applications in case of any potential
problems. ColdFusion 8 has introduced the server monitoring and multiserver
monitoring. The Server Monitor provides information about the server which can
be used to fine tune applications. The Sever Monitor can be used during the
creation of the application for getting information regarding page processing
time, memory usage, database query performance which can help in fine tuning
the code for increasing the performance. After deployment it can be used to
monitor the server performance like memory usage, page processing time, etc.
Alerts and other actions can be used for preventing memory
problems, errors, or other issues that would negatively impact a user's
experience with the application. The Multiserver Monitor can be used while
running multiple ColdFusion servers or server instances. Though it provides a
subset of information available in the Server Monitor, it can simultaneously
monitor several ColdFusion servers. This can be used to monitor the performance
of all ColdFusion servers in a cluster and across the network or even elsewhere
on the web. There is also a Monitoring API available for programmatically
retrieving all the information that the Server Monitor collects.
PDF Support
It has always been a problem for creating well formatted
portable content on web. Most of the time it happens when we go for printing a
web browser window then the margins are cut off, the page breaks interfere with
the graphics, or many other irregularities. If we think carefully, we may
notice that we do not have any simple way for saving print formatted web
content offline nor do we have any simple way of sharing content by e-mail
attachment. Things are made even worse when we need to capture data from users,
since there is no way to save or share HTML web forms with offline users.
ColdFusion 8 has introduced a number of features for handling PDF documents;
using those we can create PDF files, manipulate the existing PDF files, create
PDF forms, etc. In ColdFusion 8 an existing HTML content can be transformed
dynamically to a PDF for producing printable quality content with headers and
footers, multiple page sizes, etc. The PDF documents can contain embedded PDF
forms. In ColdFusion 8 it is possible to combine PDF documents to produce one
PDF package, remove pages from a PDF file, password-protect and encrypt a PDF
document, etc. Users can now work with PDF forms offline providing a portable
way to capture and share information in Internet applications.
AJAX Support
As we know, Ajax applications are asynchronous, i.e. they
can exchange data with the server independent of the loading and reloading of
the entire web page which results in a more interactive and user friendly
application for a user. Now, simple tags can be used to access a large library
of prebuilt Ajax user interface components such as rich text editors, data
grids, tree controls, tab navigators, etc. Even ColdFusion 8 has features for Ajax logging and debugging.
.NET Integration
ColdFusion is a Java application, so ColdFusion applications
run on J2EE application servers as compiled Java bytecode. This makes it easy
to integrate existing Java assets/objects into the ColdFusion applications. In
previous versions of ColdFusion, there was no native way to integrate .NET
assets into a ColdFusion application. One could use web services to integrate
ColdFusion and .NET, but that may result in poor performance or compatibility
problems. ColdFusion 8 software solves this problem by introducing native .NET
integration that allows access to Microsoft .NET assembly classes as CFML
objects. Since the .NET integration capabilities of ColdFusion 8 do not rely on
.NET remoting or web services, there is no requirement of changing the existing
.NET assets. ColdFusion application can access .NET components that are on
remote systems. Also, the ColdFusion system does not require .NET runtime
software installed to use remote. ColdFusion 8 also converts data types
automatically.
Microsoft Exchange Server Integration
Many organizations rely on Microsoft Exchange servers for
messaging, contact list, and task management. Though it was possible to send
and receive email from Exchange Servers using ColdFusion, other Exchange Server
functions were not accessible from ColdFusion Markup Language (CFML). Now in
ColdFusion 8 software, several new tags make it easy to interact with Microsoft
Exchange servers for sending, getting, and managing e-mail, creating, getting,
and managing calendar events, contacts, and tasks. E-mail messages, calendar
events, contacts, and tasks can all be programmatically controlled with
ColdFusion 8.
Interactive Debugger
In ColdFusion 8, interactive line debugger has been
introduced. This would help to look into the application while the code is
executed. It lets you know what is happening in the application while the code
is executed. It can be used to set breakpoints, inspect variables, view log
files, etc. It also allows stepping over, into, or out of code. This is
particularly useful when writing code that does not produce HTML output, such
as ColdFusion components (CFCs), SOAP web services, Ajax applications, etc.
Adobe Flex Integration
Being developers, we always want to develop an application
which is highly user friendly and interactive. For creating such
multimedia-rich applications where user experience is dramatically enhanced,
there is no easier way than the combination of Adobe ColdFusion 8 and Adobe
Flex 2 as Flex enables us to create high-performance applications that run
identically on all major browsers and operating systems, and ColdFusion lets us
link those applications to virtually any enterprise data source or service
quickly and easily. Even a ColdFusion Component (CFC) can be called from a Flex
application easily which means that the logic written previously for
traditional HTML applications can enrich Internet applications without any
changes required to the server-side coding.
Application Settings on a per-application basis
In ColdFusion 8 it is possible to set ColdFusion mappings
and custom tag paths on a per-application basis.
Multithreading
This feature has been added to ColdFusion 8 which might
appear new to ColdFusion developers. In ColdFusion 8 there is a tag, CFThread,
which can be used to create new threads, end a thread, join together threads or
temporarily suspend the processing of particular ColdFusion threads. The use of
this tag can lead to high performance increase for pages that carry out a lot
of independent processing and for actions not important for the end user.
Image Manipulation
In ColdFusion 8 a number of functions and tags have been
added for creating and manipulating images, which are able to perform actions
ranging from simple to sophisticated. For example, the cfimage tag. It is used
to create a ColdFusion image. It can be used for the manipulation of images as
a shortcut to the functions introduced for images. It can also be used in
conjunction with the image functions. It can be used to convert the image from
one format of file to another, enforce size limits to a JPEG image, and save a
ColdFusion image to a file. The number of functions added for image
manipulation is large. For example, ImageAddBorder function can be used to add
a rectangular border to an image. ImageCopy function can be used to copy a
rectangular area of an image. ImageCrop fucntion can be used to crop an image
to a specified rectangular area. ImageFlip function can be used to flip an
image across an axis and ImageBlur can be used for making an image appear
blurred. ImageNegative fucntion can be used to invert the pixels value of an
image. IsImageFile function can be used whether an image file is valid or not.
This function returns false if the file being checked has a format that is not supported by the server where ColdFusion has been deployed or if the pathname to the image file
is valid. It would also return false if the pathname to the image file is null.
Like these, there are a lot of functions added for image manipulation in
ColdFusion 8.
Presentation on demand
ColdFusion 8 allows for dynamic creation of multimedia
experiences with animation, audio, and video which are generated on the server
with up-to-the-minute data and content from multiple external resources.
ATOM and RSS feeds
In ColdFusion 8 we have the cffeed tag, which can be used for
reading and creating RSS and Atom feeds in commonly used formats, thus helping
one to quickly and easily create complex content syndication applications.
ZIP and ZAR file support
ColdFusion 8 introduces two new tags: cfzip and cfzippzram
for manipulating ZIP and JAR i.e. Java Archives files. In addition to the basic
functionality of zipping and unzipping files, cfzip tag can be used to delete
files, filter files from an archive, read files in binary format, etc.
cfzipparam is always used as a child tag to the cfzip tag. It can be used along
with the cfzip tag to zip or delete multiple files or directories.
Administrator and RDS Access according to a user
ColdFusion 8 allows for the creation of multiple ColdFusion
Administrator and Remote Development Services (RDS) accounts with individual
permissions, so you can modify the Administrator and RDS access to fit your
specific security needs. According to the roles assigned to a user, a user can
access pages in ColdFusion Administrator and functions in the Administrator
API.
File manipulation functions added
In ColdFusion 8, a number of file manipulation functions
have been added to the ColdFusion Markup Language (CFML), making it easier to
work on larger files.
JavaScript Operators in CFML
ColdFusion 8 supports common JavaScript operators such as
++, ==, ||, <, and > so they can be used in CFML expressions.
Improvements in CFC
Using ColdFusion 8, it is now possible to create interface
definitions, have access to the CFCs in session data across all the machines in
a cluster, etc. We can now use onMissingTemplate method added to ColdFusion 8.
This method is invoked when ColdFusion encounters a situation when it is not
able to find a file. This means that the URL has specified a CFML page that
does not exists. It takes the targetPath, the path from the webroot to the
requested CFML page, as its argument. It returns true if the request has been
processed and false if the event is not processed. If it does not return any
value, it is assumed to be true. If false is returned, ColdFusion invokes the
standard error handler. But if the error occurs within the onMissingTemplate
method, then the error handler is not invoked. So try/catch blocks should be
used.
Strong Encryption Libraries
ColdFusion 8 includes strong encryption libraries like RSA
BSAFE Crypto-J libraries, which provide FIP's 140-certified strong encryption
and helps in building strong encryption and authentication. It provides for
authentication features to be built into virtually any application for
optimized performance reducing the development time and the need to compromise
with the security of an application for performance issues.
Enhancements in Reporting Features
In ColdFusion 8 a completely new version of the ColdFusion
Report Builder has been introduced. It can be used for creating high-quality
structured reports with more choices of output, and a consistent look and feel
throughout the application. Cascading Style Sheets (CSS) can also be created
and applied to reports.
Improvements in Database Interactions
In ColdFusion 8 a new tag has been introduced to
programmatically access information regarding data source, stored procedures,
etc. cfdbinfo can be used to retrieve information regarding a datasource along
with the details of the database, tables, stored procedures, queries, indexes,
foreign keys, etc. This tag supports only JDBC drivers.
Argument Collection
In ColdFusion 8 it has been made simpler for coding using
tags that have many attributes by the use of an argumentsCollection attribute
to specify the tag's attributes in a single structure.
Array and Structure creation Improvements
Now with ColdFusion 8 it is possible to create arrays and
structures implicitly using assignment statements and without the use of
ArrayNew or StructNew functions.
Expanded platform, OS, Database Support
ColdFusion 8 offers broad platform support and has also
added Mac OS X on Intel, JBoss, 64-bit support on Solaris, JDK 1.5 and JDK 1.6,
and support for VMware and Microsoft Virtual Server.