ColdFusion

Backing Up Databases For Offline Storage
Reader Level: Reader Level

If you are running your own server, then many hats are needed to ensure your clients data is correctly maintained. Everything from the web site and associated files, through to any database that might be used to support the web site needs to be backed up.

In this tutorial we will look at how to efficiently back up your SQL Server Databases and copy them down from the remote server for storing in a separate location. I use hardware within my office for this storage, the databases are copied down to my main machine and then copied across to an external hard drive. This process provides the latest backup in three different locations as well as providing a backup stack of the last thirty days for each database, that should cover all the bases nicely!

ColdFusion Worst Practices Part 2: Abusing Pound Signs (#)
Reader Level: Reader Level

The pound sign (#) has a special meaning in ColdFusion. It tells the application server to evaluate what is inside the matching pound signs as a variable or an expression. If the value is a variable, or can be treated as an expression or a function, ColdFusion replaces the whole thing with the result of the evaluation.

However, using # signs is not always the best choice. You should not get it the habit of using them where they are not required. Overuse of pound signs can cause the server to work too hard and eventually cause performance issues. In this article we will look at several examples of when not using the # sign is the better choice.

The ColdFusion Worst Practices Series:
ColdFusion Worst Practices - Part 1: Misuing CFOUTPUT
ColdFusion Worst Practices - Part 2: Abusing Pound Signs (#)

ColdFusion Contact Forms in One Easy File - Part 2
Reader Level: Reader Level

In Part 1 of this tutorial, we created a simple ColdFusion contact form, and set up some basic checking for a few required values, using validation and a very simple server-side check for an email address.

To process the form contents, we set up two dynamic messages - one to send the email to the site owner, and a custom auto-response 'thank you' message back to the person submitting the form.

Simple, easy, and it works... but we didn't do much to restrict the flow of content, including unwanted junk mail, into our contact form and our customers' inboxes.

In this section of the tutorial (Part 2 of 3), we will add several methods of spam prevention to our simple contact form, including:

  • Trapping automatic form submission (junk mail bots) with a "Honeypot" field
  • Preventing html characters '<' & '>'
  • Blocking a defined list of words and phrases, including common spam terminology and nasty words we don't want in our email
  • Advanced validation of the email address format

...all in one simple file that you can insert into any page!

Michael Evangelista is a freelance web developer, ColdFusion programmer, and owner of a successful web and print design company based in southern Utah. Michael's company, Evangelista Design, has grown from a locally-oriented small business web design company to an international team of designers and ColdFusion developers offering a wide range of online business solutions, including full-service web hosting, custom content management applications, corporate data systems, and more.

The ColdFusion Contact Forms in One Easy File Series:
ColdFusion Contact Forms in One Easy File - Part 1
ColdFusion Contact Forms in One Easy File - Part 2
ColdFusion Contact Forms in One Easy File - Part 3



ColdFusion and Spry: Part 4
Reader Level: Reader Level

SPRY is a JavaScript-based framework that provides AJAX-powered dynamic web content. There are other JavaScript libraries available to accomplish similar results (such a JSON, jQuery, etc.) The SPRY library is produced by Adobe Labs, and, as of this writing, is in 1.6.1 release. (SPRY at Adobe Labs.) Although SPRY can be used with other server technologies, such as PHP, ASP.net, etc., SPRY seems to employ techniques that are especially intuitive to the ColdFusion developer.

In Parts I & II, we constructed a simple Picture Gallery with clickable thumbnails that then revealed full-size pics, some with further detail. The SPRY techniques used XML and its source was a static, hand-coded XML file. In Part III, we used one ColdFusion technique to create our XML source (using the tag). In this final part, we will look at another dynamic method of creating XML, as well as suggest other resources to quickly produce XML from data types, such as queries, arrays, etc. Unless your data rarely changes, creating XML dynamically is a more practical approach than hard coding. These latter techniques are not special for SPRY, but can be used anytime you want ColdFusion to produce XML, whether for something like SPRY, direct output to a web page, or Flash/Flex applications.

The CF techniques demonstrated can be used to output XML directly on the fly or provide XML files saved on the hard drive for direct access. For the latter purpose, ColdFusion might be used to update a certain XML file each time the data changes.

Keith Dodd got into web development as a second career following 30 years in public education, with 19 as a middle school principal. With help from friends and a lot of reading, he got into ColdFusion (version 3) and in 2003 was certificated as an Advanced ColdFusion MX Developer. In recent years, he has worked with Flash and the integration of Flash with ColdFusion (with a lot of help from CMX resources). He is just starting to delve into Flex.

The ColdFusion and Spry Series:
ColdFusion and Spry: Part 1
ColdFusion and Spry: Part 2
ColdFusion and Spry: Part 3
ColdFusion and Spry: Part 4

Preventing SQL Injection Attacks in ColdFusion
Reader Level: Reader Level

SQL injection is a technique used by hackers to break into your database. SQL Server has been a target because of the vast number of users who do not use it properly. The sad fact is, web developers are assuming all roles in the development of their web sites, and many of them do not have some simple understandings of how security works in a database. A compromised database can destroy your business, or at the very least, give you a few headaches and wasted time restoring from backups. This article will show a few things that will help your web page against attacks.

ColdFusion and Spry: Part 3
Reader Level: Reader Level

Spry is a JavaScript-based framework that provides AJAX-powered dynamic web content. There are other Javascript libraries available to accomplish similar results (such a JSON, jQuery, etc.). The Spry library is produced by Adobe Labs, and, as of this writing, is in 1.6.1 release. (SPRY at Adobe Labs.) Although SPRY can be used with other server technologies, such as PHP, ASP.net, etc., Spry seems to employ techniques that are especially intuitive to the ColdFusion developer.

The Spry parts of this tutorial series (Parts I & II) just scratched the surface of working with Spry. However, they should have given you the basic concepts in a simplified manner, allowing you to go much deeper on your own. When you download Spry you get not only the necessary library, but many examples, as well as Spry widgets to accomplish many interesting effects. These can be invaluable in learning to use Spry.

In Parts I & II, we constructed a simple Picture Gallery with clickable thumbnails that then revealed full-size pics (and some with further detail). The Spry techniques used XML and its source was a static, hand-coded XML file.

In Parts III & IV, we will use ColdFusion techniques to create our XML source. Unless your data rarely changes, creating XML dynamically is a more practical approach than hard coding. (These latter techniques are not special for Spry, but can be used any time you want ColdFusion to produce XML, whether for something like Spry, direct output to a web page, or Flash/Flex applications.)

Keith Dodd got into web development as a second career following 30 years in public education, with 19 as a middle school principal. With help from friends and a lot of reading, he got into ColdFusion (version 3) and in 2003 was certificated as an Advanced ColdFusion MX Developer. In recent years, he has worked with Flash and the integration of Flash with ColdFusion (with a lot of help from CMX resources). He is just starting to delve into Flex.

The ColdFusion and Spry Series:
ColdFusion and Spry: Part 1
ColdFusion and Spry: Part 2
ColdFusion and Spry: Part 3
ColdFusion and Spry: Part 4

ColdFusion and Spry: Part 1 Free!
Reader Level: Reader Level

Spry is a JavaScript-based framework that provides AJAX-powered dynamic web content. There are other JavaScript libraries available to accomplish similar results. such a JSON, jQuery, etc. (On this CMX site, Rob Williams has a couple of series on jQuery and jQuery UI Components.)The Spry library is produced by Adobe Labs, and, as of this writing, is in 1.6.1 release. (SPRY at Adobe Labs.) Although SPRY can be used with other server technologies, such as PHP, ASP.net, etc., Spry seems to employ techniques that are especially intuitive to the ColdFusion developer.

Keith Dodd got into web development as a second career following 30 years in public education, with 19 as a middle school principal. With help from friends and a lot of reading, he got into ColdFusion (version 3) and in 2003 was certificated as an Advanced ColdFusion MX Developer. In recent years, he has worked with Flash and the integration of Flash with ColdFusion (with a lot of help from CMX resources). He is just starting to delve into Flex.

The ColdFusion and Spry Series:
ColdFusion and Spry: Part 1
ColdFusion and Spry: Part 2
ColdFusion and Spry: Part 3
ColdFusion and Spry: Part 4

Inserting Excel File Values Into The Database
Reader Level: Reader Level

In earlier articles, we read an Excel file using ColdFusion and validated the values in the fields of the spreadsheet. In this article, we will insert the values into a database table.

The Excel and ColdFusion Series:
Reading Excel Files in ColdFusion
Validating an Imported Excel File
Inserting Excel File Values Into the Database

Formatting Dates in CFGrid
Reader Level: Reader Level

You surely know by now that ColdFusion 8 includes built-in Ajax functionality wrapped up in easy to use tags. Part of this functionality comes in an update to the CFGrid tag. In prior versions, CFGrid allowed you to create a sortable and updatable grid in the form of a Java applet or a Flash component. CF8 adds the HTML format to CFGrid which renders an ajaxified HTML grid that is sortable and editable.

Quick Shot - Validating Imported Dates in ColdFusion Free!
Reader Level: Reader Level

In previous articles, we have discussed the way that Microsoft stores dates in SQL Server and Excel and how that can be an advantage and a hindrance as you deal with your data. There is a method to the way that MS products store dates. It allows you to deal with time against an absolute reference rather than being concerned with its formatting (whether US, Euro, or other). But the way ColdFusion's validation functions treat dates can be tricky if you are trying to get some concrete assurance that you are processing valid information.

Reading Excel Files in ColdFusion
Reader Level: Reader Level

ColdFusion has built in list functions that make it easy to handle comma separated lists that you can export from Excel. But sometimes you need to read an actual Excel binary file, which allows you to access additional information within the spreadsheet. Luckily ColdFusion has built in functionality that allows you to do that as well.

The Excel and ColdFusion Series:
Reading Excel Files in ColdFusion
Validating an Imported Excel File
Inserting Excel File Values Into the Database

Using Cookies to Log In A User
Reader Level: Reader Level

In a previous article, we looked at setting and deleting cookies in ColdFusion. In this installment, we will use those cookies to remember a user and automatically log them into a site.

Quick Shot - Securing Your ColdFusion Session Information
Reader Level: Reader Level

As we have discussed in other articles, ColdFusion compensates for the stateless nature of web applications by using session variables to track information across the entire time of a user's visit to your site. This allows you to store a user's ID after sign on, for instance, and use it to retrieve information about them from a database or to keep track of information that the user enters while completing a multi page form.

In this article, we are going to go over two simple steps that should lessen the risk of anyone inadvertently providing access to their personal information on your site.

Saving Structures to Client Variables with ColdFusion Free!
Reader Level: Reader Level

I've always liked using Client variables in ColdFusion. In fact, I probably use them more then I should. The fact that I can set a client variable and not have to worry about passing it around my application in order to use its value is, well, lazily handy for me. However, serious programming involves Queries, Arrays and Structures. Client variables are not typically used to store these types of objects. This article talks about, and shows you how to, set Queries, Arrays and Structures to a Client variable.

Bill Betournay has been specializing in web development and database design since 1999. He is currently employed at Algoma Steel (A Subsidiary of Essar Global) in Northern Ontario as a programmer analyst and at Jordan Media Ltd., a Marketing and Application Development firm in the UK. For the past several years Bill has maintained a high profile within the Cartweaver (Coldfusion) community as a developer providing additional custom functionality via his web site DataPacks.com. Bill is often spotted lurking in the Cartweaver CF newsgroup.

Ending a Session When the Browser Closes
Reader Level: Reader Level

Most applications on the web are written as stateless applications, meaning that each page request is basically unaware of anything else that is happening around it. That means that you need to manage the information your pages need to interoperate with each other, like the current account number or what is in a shopping cart. You can do that using the URL string, or cookies or something called session variables.

Creating Custom Toolbars for the ColdFusion 8 Rich Text Editor
Reader Level: Reader Level

Among the great new Ajax features of ColdFusion 8 is a rich text editor that you can easily add to your site, making the collection and display of text much more flexible and attractive. Based on the FCKEditor, the ColdFusion editor is quite full featured for a lightweight object and it allows the formatting of text collected in a form including many HTML features like tables and hyperlinks as well as fonts, styles, emoticons, special characters, text alignment and other things to allow more that just raw text entry into your application.

Building a CRM/Invoicing System
Reader Level: Reader Level

Customer Relationship Management has become quite the buzzword lately, and for good reason. No business can succeed without customers, and it has become increasingly necessary for companies to keep a close eye on how they are servicing their existing customers and how they can obtain new ones. Services like Salesforce.com specialize in managing contact with leads, prospects and clients throughout their lifecycle. But they also come at a hefty price.

Many smaller companies could get by with a simpler CRM system, and there are some available in the open source market that might suffice. But there is nothing much available in ColdFusion, so I want to cover over a few articles the basics of creating a CRM and invoicing module that you can use standalone, or add to your existing application. In this first article, we will begin to look at a database structure.

Simple Server-Side Form Validation
Reader Level: Reader Level

Setting up a simple custom server-side form validation is a straightforward process and has the advantage over JavaScript in that it cannot be turned off by the user in order to override your validation.

In this tutorial, we will look at how we can use a combination of ColdFusion, JavaScript and CSS to provide an interactive form validating process. Although we do use a little JavaScript in this process it does not have a bearing on the validation process and is used only to enhance the messaging that is passed to the user.

Creating a Redirected Login in ColdFusion
Reader Level: Reader Level

Creating a transparent login system is one of the easiest things a developer can do to enhance an end user's experience on an access controlled site. In this article we're going to take the concepts that were introduced previously in the PHP version of Creating a redirected login and apply them to ColdFusion.

ColdFusion 8 and AJAX Series - Part 3: Pods
Reader Level: Reader Level

Continuing on our ColdFusion 8 and AJAX series we will take a look at Pods. So what are Pods and why would I use them? Similar to layout areas within a tag, Pods provide us a standalone area of the browser window where we can display static and dynamic content. Follow along as we explore the tag.

The ColdFusion 8 and AJAX Series:
ColdFusion 8 and AJAX Series - Part 1a: Layouts
ColdFusion 8 and AJAX Series - Part 1b: Layouts
ColdFusion 8 and AJAX Series - Part 2: Tabbed Layouts
ColdFusion 8 and AJAX Series - Part 3: Pods
ColdFusion 8 and AJAX Series - Part 4: CFWindow

ColdFusion 8 and AJAX Series - Part 2: Tabbed Layouts
Reader Level: Reader Level

Tabbed layouts seem to be a common occurrence around the web these days. Your choices for designing and developing tabbed layouts vary from CSS to Javascript to Ajax. Adobe first threw its hat into the tabular layout ring with the introduction of the Spry framework. Well they are back at it again, this time with ColdFusion 8 and the new tag.

The ColdFusion 8 and AJAX Series:
ColdFusion 8 and AJAX Series - Part 1a: Layouts
ColdFusion 8 and AJAX Series - Part 1b: Layouts
ColdFusion 8 and AJAX Series - Part 2: Tabbed Layouts
ColdFusion 8 and AJAX Series - Part 3: Pods
ColdFusion 8 and AJAX Series - Part 4: CFWindow

ColdFusion 8 and AJAX Series - Part 1b: Layouts
Reader Level: Reader Level

AJAX being all the buzz, Adobe introduced ColdFusion 8 with integration for a bunch of new rich interface features that make your introduction to AJAX a whole lot easier. Of these new features we began to take a look at the cflayout tag. Whether you're wanting to create a one, two or three-column layout or simply create an intranet portal, you will want to take a look at the cflayout tag.

We will continue our series by looking at a couple more attributes of the cflayout tag including the "source" attribute which allows you to populate a region from an external file, "closable" which allows the user to close a region of your layout, how to reference the ColdFusion JavaScript API to allow a user to re-open a region that was closed and some gotchas to look out for when using the cflayout tag.

The ColdFusion 8 and AJAX Series:
ColdFusion 8 and AJAX Series - Part 1a: Layouts
ColdFusion 8 and AJAX Series - Part 1b: Layouts
ColdFusion 8 and AJAX Series - Part 2: Tabbed Layouts
ColdFusion 8 and AJAX Series - Part 3: Pods
ColdFusion 8 and AJAX Series - Part 4: CFWindow

ColdFusion 8 and Ajax Series - Part 1a: Layouts
Reader Level: Reader Level

When Adobe released ColdFusion 8 they introduced some new tags and functions related to Ajax development. Imagine being able to create Ajaxified web applications with little or no knowledge of how to build it from scratch. In this series we will be looking at all the wonderful Ajax functionality that you can start adding to your next web page with just a few tags.

Let's start off with some of the UI (user interface) Controls. especially that of layouts and layout areas using the new cflayout and cflayoutarea tags.

The ColdFusion 8 and AJAX Series:
ColdFusion 8 and AJAX Series - Part 1a: Layouts
ColdFusion 8 and AJAX Series - Part 1b: Layouts
ColdFusion 8 and AJAX Series - Part 2: Tabbed Layouts
ColdFusion 8 and AJAX Series - Part 3: Pods
ColdFusion 8 and AJAX Series - Part 4: CFWindow

CFPresentation - Adding Audio & Video
Reader Level: Reader Level

Adobe ColdFusion 8 provides us with a laundry list of new tags, including the new tags that allow us to create dynamic presentations using existing HTML or CFM templates. Previously we took a look at creating our first presentation utilizing some of the basic features. This time we will look at how to spruce up our presentations by adding audio and video and some of the gotchas to look out for.

Download size: 1.8MB

CFPresentation
Reader Level: Reader Level

Creating slide presentations is a common task we have all found ourselves having to do at one time or another. However, the application you have used has probably either been Micorosft's Powerpoint or Apple's Keynote. With the introduction of ColdFusion 8 and the new tag, ColdFusion lets you create dynamic slide presentations from existing source files such as HTML or CFM templates or a mashup of the two. In fact you can even create a slide from an external web page just by specifying the absolute url. Regardless of how you decide to create your slides, the process is simple and we will walk you through creating your first presentation.

Database-Oriented Document Management
Reader Level: Reader Level

Nearly every time the question of storing documents or images in a database comes up, the answer is almost always "don't do it", and for very good reasons. There are those times, however, when it's very much the appropriate thing to do. A clustered server environment can be one such scenario, where deployment of documents and/or images needs to be immediate and not subject to the cluster resynchronization schedule. In order to make an image or document immediately available, we need to utilize a central repository that can be updated in real time: the database.

This article was written by guest author Doug Boude. Having spent four years disarming bombs for the Air Force, Doug Boude is now a Senior Web Application Architect for Fiserv Health in San Antonio, TX. He has been developing with ColdFusion since version 4.0. Doug has written several ColdFusion articles for Fusion Authority.

Dynamic Navigation Page Marking
Reader Level: Reader Level

In this article we look at how we can deploy page marking in a dynamic navigation menu by using values returned from a query and matching them to a url variable in order to change the state of a tab with CSS.

FusionDebug 2.0 - Variables
Reader Level: Reader Level

This is the final article in our series on FusionDebug 2.0, an interactive ColdFusion debugger. While we have looked at configuration, setting breakpoints within a template and stepping thru a CFC to examine the results of a query within the Variables panel, we have not looked at one of the most important functions of FusionDebug.

Variable Introspection is very powerful in that we don't have to use <cfdump> to see what various scoped variables contain. As well as with FusionDebug 2.0 we can also change the values contained within those variables which makes it a great way to test a ColdFusion application and change values during run-time to see how certain sections of code will work.

In this article we will look at a couple of examples on changing a variables value during run-time.

The FusionDebug Series
FusionDebug 2.0 - Configurations
FusionDebug 2.0 - Setting Breakpoints
FusionDebug 2.0 - Stepping Through a CFC
FusionDebug 2.0 - Variables

FusionDebug 2.0 - Stepping Through a CFC
Reader Level: Reader Level

In our last article we took a look at setting breakpoints within ColdFusion templates using FusionDebug 2.0 an interactive debugger for ColdFusion. While we paused code execution on a single page to view the variables contained within the page, I would bet that we have all built more complex applications that involve the use of ColdFusion Components (CFCs). FusionDebug 2.0 is a great tool in that we can set a breakpoint on any page, including CFCs, UDFs (User Defined Functions) and even custom tags. Knowing this we will take a look at what happens when we set a breakpoint on a query contained with a CFC and how we can view the contents of the query prior to actually outputting the results to browser.

The FusionDebug Series
FusionDebug 2.0 - Configurations
FusionDebug 2.0 - Setting Breakpoints
FusionDebug 2.0 - Stepping Through a CFC
FusionDebug 2.0 - Variables

FusionDebug 2.0 - Setting Breakpoints
Reader Level: Reader Level

In this article we will take a look at how to set a breakpoint within FusionDebug 2.0, an interactive ColdFusion debugger by Fusion-Reactor. Breakpoints allow us to stop code execution at a predetermined location within our ColdFusion template, CFC (ColdFusion Component) or custom tag. This is a big plus over having to use to output variables to our page, in that we don't have to allow code execution to complete or unnecessarily abort our template. Once we have our code paused, so to speak, we can inspect all variables of various scope at that particular moment and then let our code finish processing.

The FusionDebug Series
FusionDebug 2.0 - Configurations
FusionDebug 2.0 - Setting Breakpoints
FusionDebug 2.0 - Stepping Through a CFC
FusionDebug 2.0 - Variables

FusionDebug 2.0 - Configurations Free!
Reader Level: Reader Level

Since our last look at installing and configuring FusionDebug, Fusion-Reactor has come out with version 2.0. So your asking "what's new in this version and why should I upgrade?" Well, how about a new standalone installer that gives you Eclipse 3.2, CFEclipse 1.3 and FusionDebug 2.0, all in one fail swoop. They have also included a Server Configuration Wizard that easily modifies the JVM.config (Java Virtual Machine) settings that we looked at in the previous article. Besides a performance improvement of about 10 times faster than before, the most noticable improvement is it's own debug perspective.

So before we go off learning how to set breakpoints and view and modify variables in our code let's take a look at how to quickly set up the new FusionDebug perspective. This is similar to setting up the Eclipse Debug environment that we looked at in our previous article with a lot less choices.

The FusionDebug Series
FusionDebug 2.0 - Configurations
FusionDebug 2.0 - Setting Breakpoints
FusionDebug 2.0 - Stepping Through a CFC
FusionDebug 2.0 - Variables

FusionDebug 1.0 - Configurations Free!
Reader Level: Reader Level

If you have been doing ColdFusion development for awhile you have no doubt wished you had an easier way to debug your code instead of using the usual to spit out variables, structs, queries, etc. to a web page. Wouldn't it be nice to set a breakpoint on a line of code and then step thru the web page as it was being rendered? Well now you have just that option. FusionDebug is an interactive ColdFusion MX debugger that plugs into the Eclipse IDE which lets you do just that.

In this series of tutorials we will be looking at how you install the product and create a FusionDebug configuration, set breakpoints in your code that allow for stepping over and into templates, tags and components, change variable values, and watch expressions in the debugger, all in real time.

ColdFusion Report Builder - Part 3c: Input Parameters
Reader Level: Reader Level

This is the last article in our three part series on using input parameters with ColdFusion Report Builder. If you have been following along we have created a simple report that took an input parameter to change the title of the report and to modify or filter the data being retrieved from our query. Finally we will be discussing showing or hiding a region of a report based on an input parameter.

The ColdFusion Report Builder Series:
ColdFusion Report Builder - Part 1: Exploring the IDE
ColdFusion Report Builder - Part 2: Building a Simple Report
ColdFusion Report Builder - Part 3a: Input Parameters
ColdFusion Report Builder - Part 3b: Input Parameters
ColdFusion Report Builder - Part 3c: Input Parameters

ColdFusion Report Builder - Part 3b: Input Parameters
Reader Level: Reader Level

If you have been following the series on ColdFusion Report Builder, we have previewed the IDE, built a simple report and utilized input parameters to dynamically change a report label at runtime. However input parameters are even more powerful and as promised from the last article, we will explore using input parameters inside a query to filter the data being returned.

The ColdFusion Report Builder Series:
ColdFusion Report Builder - Part 1: Exploring the IDE
ColdFusion Report Builder - Part 2: Building a Simple Report
ColdFusion Report Builder - Part 3a: Input Parameters
ColdFusion Report Builder - Part 3b: Input Parameters
ColdFusion Report Builder - Part 3c: Input Parameters

ColdFusion Report Builder - Part 3a: Input Parameters
Reader Level: Reader Level

In our last article we took a look at building a simple report using the ColdFusion Report Builder. In most cases you may only need a simple report but when it comes to customizing the report fields on the fly we need to consider using input parameters. We will be addressing input parameters in three parts. Our first article will look at adding an input parameter to our existing report's title and then passing that report title from a form. The Second article will look at using input parameters inside a query to filter the data being returned. The third will be using input parameters for conditional formatting, such as hiding or showing parts of a report.

The ColdFusion Report Builder Series:
ColdFusion Report Builder - Part 1: Exploring the IDE
ColdFusion Report Builder - Part 2: Building a Simple Report
ColdFusion Report Builder - Part 3a: Input Parameters
ColdFusion Report Builder - Part 3b: Input Parameters
ColdFusion Report Builder - Part 3c: Input Parameters

ColdFusion Report Builder - Part 1: Exploring the IDE Free!
Reader Level: Reader Level

With the introduction of ColdFusion MX 7, Adobe gave developers the ability to create simple to advanced reports using a new tool called ColdFusion Report Builder. While you can still utilize tags such as to generate PDF and FlashPaper reports from existing XHTML content, there are times when your client needs something a little more.

In this series of articles we will be walking you through the interface, simple report layouts, and even advanced topics such as sub reports, parameterization and tips and tricks that every ColdFusion Report writer needs to know.

If you are not familiar with ColdFusion Report Builder then you are in the right place. A quick overview of the product, it is a tool for allowing the user to create banded reports similar to Microsoft Access reports but for ColdFusion. These reports contain definitions with built-in SQL queries, grouping and placement and custom functions and styling that result in a very professional looking report. These ColdFusion Reports are saved with .CFR extension and are then displayed by using the tag.

In Part 1 we will introduce the ColdFusion Report Builder interface to get you familiar where things are laid out.

The ColdFusion Report Builder Series:
ColdFusion Report Builder - Part 1: Exploring the IDE
ColdFusion Report Builder - Part 2: Building a Simple Report
ColdFusion Report Builder - Part 3a: Input Parameters
ColdFusion Report Builder - Part 3b: Input Parameters
ColdFusion Report Builder - Part 3c: Input Parameters

Let's Learn ColdFusion: Building a Simple Admin - Part 3
Reader Level: Reader Level

In this tutorial we will build on the administration area that we created earlier in the series, you will begin to build the functionality required for page creation and the construction of a central control area.

The Let's Learn ColdFusion: Building a Simple Admin Series:
Let's Learn ColdFusion: Building a Simple Admin - Part 1
Let's Learn ColdFusion: Building a Simple Admin - Part 2
Let's Learn ColdFusion: Building a Simple Admin - Part 3
Let's Learn ColdFusion: Building a Simple Admin - Part 4 Coming Soon

Combine Gets and Posts into the Request Scope
Reader Level: Reader Level

Have you ever worked on a large ColdFusion application and had to review previous templates to see whether or not the variables you were trying to process or validate were coming from a FORM submission or from a Query string? We'll don't feel alone, this is a common challenge when developing larger applications. Fortunately we can take advantage of the onRequestStart method within the Application.cfc to eliminate the need to check templates as we explore using the REQUEST scope to process all variables from now on by combining Gets and Posts into the Request scope..

CFEclipse How To: Creating Your First CFC
Reader Level: Reader Level

We explored the CFEclipse interface earlier in our previous How To article on creating a simple ColdFusion page. This time around, we will expand on that project and convert our ColdFusion page to utilize a CFC (ColdFusion Component). This will open up some new CFEclipse panels and wizards for us to take a look at, all of which are very helpful in speeding up our development time. Particularly the CF Component Wizard, Methods View panel, Tasks or TODO Panel and the ability to add Snippets.

The CFEclipse How To Series
CFEclipse How To: Creating a Simple CFML Page
CFEclipse How To: Creating your first CFC

Fundamental Fusebox: Part 2 - A Fusebox 5 Follow-up
Reader Level: Reader Level

This follow-up to my introductory article on Fusebox 5 shows how to adapt a Fusebox 4 application to the Fusebox 5 architecture, and explores Fusebox 5's model-view-controller design pattern in more detail. See how easy it is to use the most popular ColdFusion web application framework!

The Fundamental Fusebox Series:
Fundamental fusebox: Part 1 - An Overview
Fundamental Fusebox: Part 2 - A Fusebox 5 Follow-up

Using the cfstoredproc Tag
Reader Level: Reader Level

If you have been using ColdFusion for a while you have undoubtedly needed to interact with a database in one way or another. Whether it is Microsoft Access, MySql or Microsoft SQL Server, a client has asked you to develop an application to create, retrieve, update or delete data. Until now you have probably been using the cfquery tag to accomplish this.

Let’s kick it up a notch and discuss the advantages of using stored procedures and in general how to utilize the cfstoredproc tag in this edition of our HOW TO series.

Protecting Sections of a Control Panel by Using Access Levels
Reader Level: Reader Level

When building administration areas it is often necessary to create multi-level access to the control panel. Often users are re-directed to a page that matches their particular administration rights.

In this tutorial we will look at how we can streamline this process by setting the administration level and implementing the required logic directly in the Application.cfm template. Once this is in place you can then show and hide sections of the control panel to specific users.

Preventing Accidental Data Loss - Or Giving Your Clients a Second Chance
Reader Level: Reader Level

In this article we will look at providing ways of preventing accidental data loss when providing Content Management Systems to your clients. We will specificlly look at providing an archive mechanism and interfacing delete requests with a confirmation page.

Re-running a Google Search on Your Web Site
Reader Level: Reader Level

In this tutorial we will learn how we can access the search data a user entered on Google. We will then use that information to re-run a search on our web site to provide the user with more specific information about the item(s) they originally searched for on Google.

ColdFusion Tag Clouds
Reader Level: Reader Level

Wikipedia says about Tag Clouds:

A tag cloud (more traditionally known as a weighted list in the field of visual design) is a visual depiction of content tags used on a website. Often, more frequently used tags are depicted in a larger font or otherwise emphasized, while the displayed order is generally alphabetical. Thus both finding a tag by alphabet and by popularity is possible. Selecting a single tag within a tag cloud will generally lead to a collection of items that are associated with that tag.

The first tag cloud appeared on Flickr, the photo sharing site. That implementation was based on Jim Flanagan's Search Referral Zeitgeist, a visualization of web site referrers. Tag clouds have also been popularised by Technorati, among others.


Jeffrey Zeldman has some thoughts on the subject. Although he's not exactly the biggest proponent of the technique, my purpose here is to simply show you how to create your own. After all, if your client wants a tag cloud, who are you to deny them of it?

Sample code is provided using ColdFusion.

More Site Monitoring with CFHTTP
Reader Level: Reader Level

Have you ever used a site monitoring service? Well now you can monitor your own sites remotely by building a simple ColdFusion script. This article tells you how to extend our earlier monitoring script to validate the HTML retrieved from the server.

Using CFCs as Sources of Data for Queries in Dreamweaver 8
Reader Level: Reader Level

ColdFusion MX added the possibility to create objects through ColdFusion Components ( CFCs ) that could be easily reused throughout your site. Reuse of is good, as it allows you make changes in one place and have the update available everywhere it is used. Dreamweaver 8 (and Dreamweaver MX 2004 with the ColdFusion MX 7 Extensions installed) allows you to create queries within components (CFCs) that can be used as data suppliers to queries visually within the editing environment.

What's with the Question Marks? Or: Where are my Curly Quotes? Free!
Reader Level: Reader Level

If you work with ColdFusion and popular databases such as MySQL you my find yourself geting strange results. Even if you don't use non-Roman scripts such as Chinese or Arabic you may find curly quotes or other extended characters magically becoming question marks. This article discusses techniques you can use to resolve this common problem.

Base64 Encoding
Reader Level: Reader Level

Your boss comes up to you, says that the requirements on the latest project have changed. You are now required to include an employee badge photo along with your company's replication feed. "But sir, the replication feed is an XML file ... how are we going to get an image into that?".

Enter Base64 Encoding. Though it doesn't come up every day, it's usefulness is undeniable, and your toolbox will be all the better for containing it. Code presented in this article will be in ASP.NET, Coldfusion, and PHP. We will discuss some situations where Base64 encoding will come in handy.

Simple Security with ColdFusion: No Database - No Problem
Reader Level: Reader Level

In this tutorial we will use ColdFusion to look at how we can implement a simple but secure method of authentication without the need for a database.

Simple Search-Engine Friendly URLs
Reader Level: Reader Level

Often in your ColdFusion applications you are forced to use URL parameters to pass dynamic data between pages. These lead to cumbersome, non-intuitive URLs which are not search-engine-friendly (let alone human-friendly). This article shows how to create ColdFusion applications which use search-engine friendly URLs.

The technique described here has been tested with Apache 1.3 and 2.0 Web servers using the server installation of ColdFusion. Quick testing with the J2EE installation of ColdFusion suggests that this technique may not work as expected. In addition, things are not quite as simple in IIS and this technique won't work without adjustments; I'll probably cover those adjustments in another article in the future.

ColdFusion MX 7 on Macintosh OS X: Part 2 Free!
Reader Level: Reader Level

Part 2 in our CF 7/Panther series shows you how to install the latest version of ColdFusion with JRun 4 in a number of different scenarios: as a new version, as an upgrade from an earlier version, or as a parallel installation with your existing version of ColdFusion.


ColdFusion MX 7 on Macintosh OS X: Part 1
Reader Level: Reader Level

Want to run the latest version of ColdFusion on OS X Panther? Part 1 of this tutorial will walk you through an installation of CF 7 that will work even if you're already running CF 6.1 on your Mac. Part 2 will show you how to upgrade an earlier ColdFusion installation to ColdFusion MX 7.


BlueDragon, an Alternative ColdFusion Platform: Part 2 - Installing the Standalone Server
Reader Level: Reader Level

The first article in our series on BlueDragon provided an overview of BlueDragon as it compares with ColdFusion MX. In this, the second article of our series, we look at installing the stand-alone version of BlueDragon 6.1 Server (the free version) on Linux with an Apache 2 Web server as well as installing on a Mac OS X workstation to serve as a development system.

The Blue Dragon Series:
BlueDragon, an Alternative ColdFusion Platform: Part 1 - Overview
BlueDragon, an Alternative ColdFusion Platform: Part 2 - Installing the Standalone Server
BlueDragon, an Alternative ColdFusion Platform: Part 3 - Installing the J2EE Server
BlueDragon, an Alternative ColdFusion Platform: Part 4 - Administering BlueDragon

Discovering CFMX 7: Charting
Reader Level: Reader Level

In this tutorial, we will be taking a look at charting in ColdFusion MX 7. We will see how very easy it is to create and display dynamic data in the form of flash, JPG and PNG charts within our web pages.

ColdFusion on OS X
Reader Level: Reader Level

ColdFusion, Macromedia's powerful server-side scripting language, is not just for Windows developers. You can harness the power of ColdFusion and Java on your Mac by installing the free CF Developer Edition, which provides the same functionality as the top-of-the-line ColdFusion MX Enterprise. This tutorial will walk you through the installaton step-by-step, show you how to install the latest updaters for both JRun and ColdFusion, discuss your database options for ColdFusion on the Mac and show you how to write a shell script to start JRun and ColdFusion automatically upon login.

File Management with cfdirectory and cffile: Part One - Batch Delete
Reader Level: Reader Level

In this tutorial, we will use cfdirectory and cffile to delete files on the server based on the age of any given file. We will look at date masks and the use of variables to provide test parameters prior to carrying out the batch delete on the server.

Using CSV Strings in SQL
Reader Level: Reader Level

Using SQL Server stored procedures, you can parse and insert individual items from a comma-separated list in the form of a string. This has great benefit in that you can avoid complex server-side scripting of batch inserts. This is useful for multiple categories for one product, or any other type of one-to-many relationship in a database table.

Pseudo DSN-less Connections in ColdFusion MX
Reader Level: Reader Level

ColdFusion MX was a great leap forward in many respects, however, one thing that many feel is a step backwards, is that DSN-less connections are no longer allowed. If your client's process was to add their new products in bulk to the shopping cart system by uploading an Access database that contained a table with all the new products in it, or if they collected business cards at their industry convention and needed to upload their Excel spread sheet that stores all the email addresses to add to their eNewsletter, this change in the ColdFusion MX release probably upset your cart a little. The new functionality can basically stop you from connecting to an arbitrary databases, such as the uploaded files in the examples above. However, all is not lost if you are working with Access databases, or Excel files as a source for your data, then you may be able to use what is commonly called a pass through database to connect to your uploaded files. This tutorial will show you how to create pages that upload MDB and XLS files and then output data from those files, all without having a DSN created specifically for the files.

CMX CF Upload Size Server Behavior
Reader Level: Reader Level

CMX CF Upload Size allows you to set a maximum file size - in bytes - that a user may upload. If the file they attempt to upload exceeds your limit, they are given a message explaining that their file is too large. If the upload is successful, they will get a message saying the upload was successful. All the server behavior requires is that you have a file field and submit button inside of a form. This Server Behavior is for ColdFusion only.

Limiting Upload File Size in CF
Reader Level: Reader Level

Even if you're standing right behind someone saying "OK, your upload size is limited to 10 kilobytes", chances are they'll try and upload something larger than that. This tutorial will outline how to prevent a user from uploading a file that exceeds your predetermined file size limitation. We'll also give the user a message explaining what the file size limit is - if they exceed it, and a "File Uploaded" message if they do not.

A Simple Banner Application: Part 2
Reader Level: Reader Level

In Part 1, we covered the creation of the database, the application.cfm file, and a basic page to display our banners. This, the final installment, will take you through monitoring the number of times an ad is shown and counting each click-through a banner receives.

A Simple Banner Application: Part 1
Reader Level: Reader Level

In this, the first of a two-part series, we will create a simple banner ad rotator that will randomly display an ad and monitor the number of times it is seen by our visitors, as well as, track our visitor's click-thrus. The application will ensure that every visitor will not see the same ad twice (unless, of course, they view enough pages to see every ad we have to display).

CMX CF Row Style
Reader Level: Reader Level

CMX CF Row Style is a Server Behavior for ColdFusion that takes your repeat region and changes the style of every other row to match a style from your Cascading Style Sheet, or the embedded styles on your page. This allows you to have not only a different color for every other row, but different colored text/font in every other row as well.

Note: This Server Behavior works with ColdFusion only.

Making The List: List Creation and Manipulation in ColdFusion
Reader Level: Reader Level

Lists can be a great friend, and ColdFusion provides several ways to create and interact with them. This article will show how easy it can be to create, manipulate, and use lists to your advantage.

Export Recordsets to Excel - Part 3
Reader Level: Reader Level

In Parts 1 and 2, Bill showed you how to create Excel files on the fly and email them to your clients, yourself, etc. Well, what if your client just wants to be able to click a link and download it directly from the server? That's exactly what I'll show you how to do in this installment. I do recommend you read at least the first installment as the topics covered there will not be rehashed in this one.

Resending Undeliverable Mail in ColdFusion
Reader Level: Reader Level

ColdFusion is capable of high-output mail delivery. One problem with the ColdFusion server that is not addressed by any built-in functionality is what happens when an email cannot be delivered. This article will address one possible way to handle undeliverable messages. This method only works in instances where you control your own server, however, as the central spool folders for emails in ColdFusion are server-wide rather than site-wide.

Our First CFC: Part One
Reader Level: Reader Level

In this tutorial, we will look at creating our first ColdFusion component and how we can interact with it. We will look at the cfargument, cffunction and cfreturn tags, and explore how we can interact with our component using cfinvoke and cfinvokeargument.

Searching xml Documents with ColdFusion
Reader Level: Reader Level

In this tutorial, we will investigate how we can search an xml document. We will be looking at creating a dynamic table and populating it from our xml data. We will then look at how we can search that data and return the information we need. Along the way we will also be looking at query of queries, and investigating the XmlParse function.

Consuming RSS Feeds in ColdFusion: Part 1
Reader Level: Reader Level

RSS feeds provide an easy way for sites to syndicate news headlines and stories, and are widely used by sites such as Yahoo! which want to make it easy for others to reuse their content. RSS is a simple XML language for defining the content of these feeds, and using ColdFusion's XML object it is easy to consume and process these feeds in your ColdFusion Application. This first installment of our series on consuming RSS feeds in ColdFusion introduces RSS and the basics of the XML object.

Using the Hash Function
Reader Level: Reader Level

The Hash function is a handy tool for many purposes. You can use it to protect passwords in databases, or track changes to files. This article introduces how to use the function and shows some practical examples.

Dynamic Web Development - The Basics: Creating Dynamic List Menus
Reader Level: Reader Level

In this tutorial, we will look at how we can create an inline dynamic list menu, complete with a tabindex. We will also look at how we can filter page content based on a url variable. This tutorial contains video demos.

An Image Delivery System with JIMG: Overview and Planning
Reader Level: Reader Level

This is the first article in a series detailing the design and implementation of a system for dynamic image delivery from ColdFusion using JIMG. This system resizes images on-the-fly and adds copyright notices to images if needed.

The Image Delivery System with JIMG Series:
An Image Delivery System with JIMG: Overview and Planning
An Image Delivery System with JIMG: The cmxImage.cfc
An Image Delivery System with JIMG: The image.cfm Template
An Image Delivery System with JIMG: Extending the Application

Export Recordsets to Excel - Part 2
Reader Level: Reader Level

In Part 1 of this tutorial, we learned how to export the contents of a recordset to an Excel spreadsheet, and then email that report to a specific email address. In Part 2, we'll look at ways to adjust our query in ColdFusion so that we can build customized reports that can then be exported to Excel. We'll also go over how to email the report to any email address you like, rather than just the one email address we used in Part 1 of the tutorial.

ColdFusion Arrays - Part Three: User Interaction
Reader Level: Reader Level

In this, the third tutorial in this series, we will look at how we can allow our users to create and interact with our arrays. We will do this by allowing our users to select 5 songs from a select list. We will perform error checking to ensure our users do not select more, or less, than that number. When we have the correct information we will insert the array that was populated by our user into a database table.

Making the Log In User Server Behavior Case-Sensitive
Reader Level: Reader Level

The Log In User Server Behavior is handy, for sure. But it does not deal with case-sensitivity with regard to passwords. This tutorial will will cover how to add three lines of simple code to the Server Behavior to achieve case-sensitive passwords. Find out how easy it can be to modify Macromedia's "stock" server behaviors and make them do what you want them to.

Arrays in ColdFusion - Part 2: 2-Dimensional Arrays
Reader Level: Reader Level

In this tutorial we will look at the two-dimensional ColdFusion array. We'll look at their structure, and how we can populate them from a query.

Counting Users In Our Application
Reader Level: Reader Level

In this tutorial we will look at how we can count users that are accessing our application. As each new user visits the site we will create a new key for them and add them into the structure. By using the DateDiff function we will also see how we can remove users that have left our application. We will also discuss how we can use the cfdump tag to view the function in operation.

Part Two: Interacting With Our UDFs
Reader Level: Reader Level

In this tutorial we will pick up from where we left off in Part One. We'll explore how we can allow our users to interact with the UDF by using variables in the url scope to return specific data from a query. We will also explore using a dynamically populated unordered list to provide the necessary information to the UDF.

Export Recordsets to Excel - Part 1
Reader Level: Reader Level

I have a client that lives and dies by Excel data. He uses Excel as a database in his office, and wants his website stats, and online sales data, emailed to him in Excel format. ColdFusion makes this task very simple. In this tutorial, we'll learn how to create an Excel file on your server through ColdFusion, append data to it, and even email it automatically to your customer.

Masks in ColdFusion (Part 3): Formatting Numbers
Reader Level: Reader Level

The NumberFormat function in ColdFusion allows you to format numeric output almost any way you might want using masks. The third part in a series about masks for dates, times and numbers, this article teaches you to use these numeric masks.

Unicode and International Character Sets in ColdFusion MX: Part 3
Reader Level: Reader Level

This is the third and final article in a series about using Unicode and International Character sets in ColdFusion. This article provides a quick overview of how to ensure your Unicode text is handled properly by databases and, in particular, MySQL and Microsoft Access.

The Unicode & International Character Sets Series:
Unicode and International Character Sets in Coldfusion MX: Part 1
Unicode and International Character Sets in Coldfusion MX: Part 2
Unicode and International Character Sets in Coldfusion MX: Part 3

Understanding CFCONTENT
Reader Level: Reader Level

You may have seen the CFCONTENT tag used to change the character set of a page by specifying the necessary HTTP header for your file. But, the CFCONTENT tag can be used for much more. For instance, you can use it to return non-HTML MIME types from ColdFusion to the browser. For instance, a ColdFusion file could just as easily return an image or a PDF file to the browser instead of an HTML page. This article tells you how.

Unicode and International Character Sets in ColdFusion MX: Part 2
Reader Level: Reader Level

In part 1 of this series we learned how to work with international character sets and encodings in ColdFusion MX and the role of Unicode. In this installement, learn to create forms which can accept non-ASCII text input and then correctly access the submitted data from your ColdFusion pages.

The Unicode & International Character Sets Series:
Unicode and International Character Sets in Coldfusion MX: Part 1
Unicode and International Character Sets in Coldfusion MX: Part 2
Unicode and International Character Sets in Coldfusion MX: Part 3

Upload An Image and Insert Its Name Into The Database Free!
Reader Level: Reader Level

In this tutorial we will look at how we can transfer an image from the user's hard drive to the server and then insert the image's name into our database for use on any necessary pages.

Using ColdFusion Locales
Reader Level: Reader Level

ColdFusion MX has done a lot to make internationalized applications easier to build. Aside from it's built-in Unicode support, ColdFusion MX supports the use of Locales to make it easy to generate the output of dates, times and other data in a language and culturally-appropriate fashion. This quick tutorial shows you how to use these locales in your applications.

Unicode and International Character Sets in Coldfusion MX: Part 1
Reader Level: Reader Level

ColdFusion MX is fully Unicode compliant but making everything work properly for international character sets from the browser through to the back end database requires a firm understanding of Unicode and how to use it in ColdFusion MX. This article is the first in a series of three articles that show you how to work with Unicode and international characters sets in ColdFusion.

The Unicode & International Character Sets Series:
Unicode and International Character Sets in Coldfusion MX: Part 1
Unicode and International Character Sets in Coldfusion MX: Part 2
Unicode and International Character Sets in Coldfusion MX: Part 3

High Volume Mail without CFMAIL, Part 2: Sending Personalized Messages to a Mailing List
Reader Level: Reader Level

This is the second in a three-part series showing how you can use Perl to bypass limitations in CFMAIL for sending mailings to big lists. This installment shows how to personalize messages sent to the list.

CF Administrator: Debugging Settings
Reader Level: Reader Level

There is nothing worse than spinning wheels trying to debug an application in the dark. This artice will show you how to limit the debugging information display for just yourself and describe all of the possibilities contained in the CF Administrator's debugging settings.

CF_CMXIMAGE: A Custom tag for image manipulation on the server
Reader Level: Reader Level

Have you ever needed to manipulate images on the server from ColdFusion. This tag lets you easily use the open-source ImageMagick image manipulation package to resize and change the format of images from your ColdFusion applications.

Creating XML Documents with ColdFusion
Reader Level: Reader Level

Learn how to create an xml file by passing a cfquery over your data, see how it can be easily exported and written to your machine and then reimported back into access to create a database table.

Using a ColdFusion Custom Tag as a Site Template Part 2
Reader Level: Reader Level

ColdFusion custom tags allow you to build a flexible template for your site that will feed every page on the site. Part 1 of this series showed the basic concepts of the custom tag and how to use one as a site template. The tutorial addressed the setup and implementation of a custom tag, and showed how to supply a title to the document dynamically. Part 2 will show you how to add other features to this template, such as JavaScript, CSS, and meta tags.

Check for duplicate database entries
Reader Level: Reader Level

You may have a database in which you have duplicate entries in a particular column. This may be by design, or possibly by accident. If you've inherited the site from someone else, you may not be aware of this duplicate data. Or perhaps you are aware, but you'd like to see what or where this data is. This tutorial will allow you to build a page that lists only duplicate entries from a column in your database.

Enabling Session Variables in ColdFusion Free!
Reader Level: Reader Level

Enabling session management in ColdFusion is not automatic. So if you're having trouble getting your user log in form to work in Dreamweaver, take at look at this article where we walk you through the process of enabling sessions.

Populating a select list using cfdirectory
Reader Level: Reader Level

Have you ever need to pull the contents of a directory within your site and make it available to you visitor via a select list? Well, ColdFusion provides an easy way to do it using the <cfdirectory> tag.

Using CFDirectory to Get Multiple File Types
Reader Level: Reader Level

While the cfdirectory is a very powerful and helpful tag, it does have one flaw. You can only filter the files gathered with the tag by a single file type. So if you have a folder containing both .jpg and .gif files there is no way to get them all at once. Well, with a little help from ColdFusion's query of queries feature we can overcome this problem.

Emailing file attachments with ColdFusions cfmail and cfmailparam tags
Reader Level: Reader Level

Learn how to allow your viewers to send you file attachments through your web site forms. Shows you how to upload the file and create a variable for storing the file until it's called for forwarding it on to its destination.

cf_label custom tag
Reader Level: Reader Level

Handy dandy little custom tag to clean up your page code. Picking up from my experience with ASP.NET, I wanted a way to be able to separate some of my display code from my program logic.

This custom tag allows me to set properties such as style and text from code at the top of my coldfusion template, and define the custom tag elsewhere on the page, thus neatly separating code from content. When it comes to code organization and maintainability, this is one of the best techniques I have found so far.

Using a database to display images dynamically Free!
Reader Level: Reader Level

Let's say you have a repeat region and you want to display a unique picture with each record. There's really no way you can do that without using your database to hold information about the image you want to use. In this tutorial, you'll learn how to use your database and a repeat region to dynamically display your images. We'll even go over how to display an alternate image if there is no reference to it in your database.

CFFILE: Uploading files to your server with ColdFusion
Reader Level: Reader Level

Learn how to to use multipart/formdata in your forms for transferring files from your hard drive to your server. This tutorial shows how you can use ColdFusion to transfer varying types of files and how you can set permissions to restrict the types of files that are uploaded.

Displaying Alternate Text if Recordset is Empty
Reader Level: Reader Level

If you've got an empty recordset, rather than have a big blank spot on your page where data should be, you can show whatever text you like, or even an image. Using CFIF statements and a recordcount variable, it's a nice cool breeze.

Simplify your documents with CFINCLUDES Free!
Reader Level: Reader Level

Site maintenance can be a real bear! A simple task such as changing an address can take hours, especially if the address is repeated on every page of a large site. Simplify your code and your life with includes!

Create/Email a tab-delimited text file from a web page
Reader Level: Reader Level

Many programs require that you import data via a tab or comma-delimited text file. Now you can create one right from your web page and email it at the same time.

Email the Contents of a Form Using ColdFusion
Reader Level: Reader Level

Sending the results of a simple form from your web page using some simple ColdFusion code is much easier than you might imagine.

Creating a Multi-Page Form
Reader Level: Reader Level

Create a form that carries over several pages. This is useful for loan applications, lengthy registration pages, etc.