About ColdFusion



Adobe ColdFusion is a rapid scripting environment server for creating dynamic Internet Applications. ColdFusion Markup Language (CFML) is a tag-based scripting language that is easy to learn. CFML provides connectivity to enterprise data and powerful built-in search and charting capabilities. ColdFusion enables developers to easily build and deploy dynamic websites, content publishing systems, self-service applications, commerce sites, and more.

ColdFusion pages are plain text files that you use to create web applications. You can create your ColdFusion applications by writing all the code manually or by using wizards (provided with some editors) to generate the majority of the code for you.

Saving ColdFusion pages

In order for the ColdFusion server to process a page, save the ColdFusion page on a computer where ColdFusion is installed. If you are creating your pages on a local server (on which ColdFusion is running), you can save the pages locally; if you are using a remote server, save your pages on that server.

If you are using the J2EE configuration, you typically save ColdFusion pages under the ColdFusion web application root. For example, in the default directory structure when you use the J2EE configuration with JRun, you save pages under jrun_root/servers/cfusion/cfusion-ear/cfusion-war.

Testing ColdFusion pages

To ensure that the code you wrote is working as expected, you view the ColdFusion page in a browser by going to the appropriate URL, for example http://localhost/test/mypage.cfm. If you are using the built-in web server, specify the port to use in the URL, for example, http://localhost:8500/test/cfpage.cfm. The address localhost is only valid when you view pages locally.

Note: On Vista, the address ::1 is equivalent to localhost. You can use the ColdFusion GetLocalHostIP function to get the IP address of localhost.

The URL for a remote site includes the server name or IP address of the server where ColdFusion is installed; for example, http://<serveripaddress>/test/mypage.cfm. Some ColdFusion J2EE configurations require a context root in the URL; for example, http://<server>/<context-root>/mypage.cfm. For example, if you deploy an EAR file and use the default context root of cfconroot, you specify http://localhost/cfconroot/test/mypage.cfm.

Elements of ColdFusion

ColdFusion consists of the following core elements:

  • ColdFusion scripting environment

  • CFML

  • ColdFusion Administrator

  • Verity Search Server

The ColdFusion scripting environment

The ColdFusion scripting environment provides an efficient development model for Internet applications. At the heart of the ColdFusion scripting environment is the ColdFusion Markup Language (CFML), a tag-based programming language that encapsulates many of the low-level details of web programming in high-level tags and functions.

ColdFusion Markup Language

ColdFusion Markup Language (CFML) is a tag-based language, like HTML, that uses special tags and functions. With CFML, you can enhance standard HTML files with database commands, conditional operators, high-level formatting functions, and other elements to rapidly produce web applications that are easy to maintain. However, CFML is not limited to enhancing HTML. For example, you can create Flash output that consist entirely of Flash elements and CFML. Similarly, you can use CFML to create web services for use by other applications.

For more information, see Elements of CFML.

CFML tags

CFML looks like HTML—it includes starting and, in most cases, ending tags, and each tag is enclosed in angle brackets. All ending tags are preceded with a forward slash (/) and all tag names are preceded with cf; for example:

<cftagname>  
    tag body text and CFML 
</cftagname>

CFML increases productivity by providing a layer of abstraction that hides many low-level details involved with Internet application programming. At the same time, CFML is powerful and flexible. ColdFusion lets you easily build applications that integrate files, databases, legacy systems, mail servers, FTP servers, objects, and components.

CFML tags serve many functions. They provide programming constructs, such as conditional processing and loop structures. They also provide services, such as charting and graphing, full-text search, access to protocols such as FTP, SMTP/POP, and HTTP, and much more. The following table lists a few examples of commonly used ColdFusion tags:

Tag

Purpose

cfquery

Establishes a connection to a database (if one does not exist), executes a query, and returns results to the ColdFusion environment.

cfoutput

Displays output that can contain the results of processing ColdFusion functions, variables, and expressions.

cfset

Sets the value of a ColdFusion variable.

cfmail

Lets an application send SMTP mail messages using application variables, query results, or server files. (Another tag, cfpop, gets mail.)

cfchart

Converts application data or query results into graphs, such as bar charts or pie charts, in Flash, JPG, or PNG format.

cfobject

Invokes objects written in other programming languages, including COM (Component Object Model) components, Java objects such as Enterprise JavaBeans, or Common CORBA (Object Request Broker Architecture) objects.

CFML Reference describes the CFML tags in detail.

CFML functions and CFScript

CFML includes built-in functions that perform a variety of roles, including string manipulation, data management, and system functions. CFML also includes a built-in scripting language, CFScript, that lets you write code in a manner that is familiar to programmers and JavaScript writers.

CFML extensions

You can extend CFML further by creating custom tags or user-defined functions (UDFs), or by integrating COM, C++, and Java components (such as JSP tag libraries). You can also create ColdFusion components (CFCs), which encapsulate related functions and properties and provide a consistent interface for accessing them.

All these features let you easily create reusable functionality that is customized to the types of applications or websites that you are building.

CFML development tools

Adobe® Dreamweaver® CS3 helps you develop ColdFusion applications efficiently. It includes many features that simplify and enhance ColdFusion development, including tools for debugging CFML. Because CFML is written in an HTML-like text format, and you often use HTML in ColdFusion pages, you can also use an HTML editor or a text editor, such as Notepad, to write ColdFusion applications.

ColdFusion 9 includes a line debugger that you can use to debug your ColdFusion applications in Eclipse™ or Adobe Flex™ Builder™.

Verity Search Server

The Verity Search Server (also called the Verity search engine) provides full text search capability for documents and data on a ColdFusion site.

ColdFusion Administrator

ColdFusion Administrator configures and manages the ColdFusion application server. It is a secure web-based application that you can access using any web browser, from any computer with an Internet connection. It includes a Server Monitor, which lets you see the status of your ColdFusion server.

For more information about ColdFusion Administrator, see Configuring and Administering ColdFusion.