Welcome!

ColdFusion Authors: Maureen O'Gara, Hovhannes Avoyan, Yakov Fain, Pat Romanski, Liz McMillan

Related Topics: ColdFusion

ColdFusion: Article

Programming ColdFusion

Programming ColdFusion

As the author points out in the introduction: "[Y]ou'll find this book loaded with strategies, hints, tips, and tricks that you can apply to your own projects. I've tried to include all the useful ColdFusion tidbits that I've discovered over the years so that you can benefit from my experience." And Brooks-Bilson, one of the ColdFusion community's most senior developers and a frequent contributor to the Allaire Forums, comes through.

For instance, on page 135 we find a short example of how to include a small chunk of JavaScript to force confirmation before form data is posted - an incredibly simple and useful technique that most CF developers will use over and over again. Then, a few pages further, in an illuminating discussion of variable scopes and thread locking, the author serves up a tasty tidbit pointing out that merely copying a structure to another variable scope won't really do the trick because the structure name is actually only a pointer to the variable. Yet, using the Duplicate() function will force the actual structure, not merely a pointer, to be copied to the new scope. (This is something I immediately stuck in my mental "I-did-not-know-that" file.)

Such snippets and tips are scattered throughout the book and make it a truly useful and enlightening programming resource.

The book, however, is not merely a collection of these tips and tricks. Rather, the book is - as are most entries in the O'Reilly catalog - a well-organized, comprehensive, readable work. It progresses naturally from introductory material to discussions of such advanced topics as using the Verity search engine, regular expressions in CF, creating custom tags, calling external objects, and graphing.

Of the chapters in the book, the two that I found most interesting were the chapters on the Verity engine and on using regular expressions, both advanced topics to be sure.

In the Verity chapter, Brooks-Bilson provides a great example of how to use the Verity engine to create a "Top Ten List" for your Web site. Essentially, he advises reaping search terms and saving them to a back-end table. Then, once this list is at a critical mass, use a simple SQL COUNT function to count the number of times each search string occurs. The result set can then be sorted and looped over, and URLs to the top 10 items can be dynamically generated. In this chapter he also provides a nice example of how to use Verity to index XML files and to map an XML tagset to the built-in CF_TITLE variable.

The regular expressions chapter discusses what they are and the ColdFusion functions that employ them, and provides 10 examples of useful search-and-replace regular expressions. It then provides example code used to build a Web-based regular expression wizard - for a simple forms-based system that will allow you to input a string, choose from a dropdown list of CF functions you want to apply to the string, type in the regular expression you think will do what you want, and test the whole thing with a click of a button. I think this example, as with most of Brooks-Bilson's fine examples, will come in handy in the future.

Having reviewed O'Reilly books in the past, I feel compelled to comment on the book qua book, i.e., on the book as a physical, tangible object. Simply stated, O'Reilly has the best typography, page design, and graphical conventions in the industry. This is truly a case where style has a direct impact on substance, or at least on our comprehension and interpretation of the substance of the book. These conventions, as well as the readability of its prose, make the book a pleasure to browse and to use as a reference tool. My only specific complaint in this respect is with the organization of the list of CF functions in the Appendices: the functions here are organized alphabetically, not by functional area. So, for example, a string function such as LTrim() is sandwiched between LSTimeFormat() and Max() instead of being grouped in a section with all other string functions. Organizing this portion of the book by functional area instead of alphabetically would have made a better reference work.

This small criticism aside, however, Rob Brooks-Bilson has written a fine book on ColdFusion programming that will serve the needs of CF programmers, from beginners to advanced.

Programming ColdFusion
By Rob Brooks-Bilson
O'Reilly and Associates
953 pages

More Stories By Mark Cyzyk

Mark Cyzyk is the Web Architect at Johns Hopkins University in Baltimore,
Maryland.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.