Backing Up Databases For Offline Storage
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:
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:
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:
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:
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:
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
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
Formatting Dates in CFGrid
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
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.
Using Cookies to Log In A User
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:
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
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:
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:
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:
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:
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:
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.
CFPresentation - Adding Audio & Video
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:
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:
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:
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:
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:
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 - Configurations
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
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.
Combine Gets and Posts into the Request Scope
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:
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
Using the cfstoredproc Tag
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:
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.
Re-running a Google Search on Your Web Site
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:
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:
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:
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?
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:
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 Search-Engine Friendly URLs
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
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:
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.
Discovering CFMX 7: Charting
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:
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.
Using CSV Strings in SQL
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:
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:
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:
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:
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:
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:
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.
Export Recordsets to Excel - Part 3
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:
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:
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:
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:
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:
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.
Export Recordsets to Excel - Part 2
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:
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:
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.
Counting Users In Our Application
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:
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:
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:
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.
Understanding CFCONTENT
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.
Using ColdFusion Locales
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.
CF Administrator: Debugging Settings
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:
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:
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:
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:
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
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:
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:
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.
cf_label custom tag
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
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:
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:
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
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!
Creating a Multi-Page Form
Reader Level:
Create a form that carries over several pages. This is useful for loan applications, lengthy registration pages, etc.