Welcome!

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

Related Topics: ColdFusion

ColdFusion: Article

Mastering ColdFusion 5

Mastering ColdFusion 5

I received Mastering ColdFusion 5 two months ago and began using it immediately. Since I had recently upgraded to ColdFusion 5.0, I used this book to learn about some of its new features; I used three of them (query-of-a-query, CFFLUSH, and CFSAVECONTENT) in a single template the first day. This book is an excellent reference to the new features of CF 5.0.

That's not all it's good for. Danesh, Motlagh, and Camden have written a fine book suitable for both novice and expert ColdFusion developers. It's clear that their intention was to produce a comprehensive work that serves not only as an introductory through advanced text but also as a reference to all things ColdFusion. Its whopping 1,263 pages and mammoth size attest to this.

The book is well organized into four parts and five appendices. Part 1 covers the basics, such as "Creating Your First ColdFusion Template," "Passing Data Between ColdFusion Templates," and "Retrieving Data from a Database." It introduces the beginner to the rudiments of ColdFusion development and offers a solid overview of the architecture of any database-backed CF application.

Part 2 provides what every other programming book offers: an explanation of the meaning and syntax of variables, operators, data structures, flow control, and more. It illustrates a how-to program, specifically, how to program in ColdFusion Markup Language (CFML). This section also explains ColdFusion-specific conventions, techniques, and technologies. For instance, it discusses and illustrates the "ColdFusion application framework," i.e., how to use the built-in capabilities of the ColdFusion server to maintain client state within an application, as well as graphing in ColdFusion, variable locking, form validation, error control, and the myriad other functions that CF provides.

Two chapters within Part 2 are worth mentioning. First, "Using Advanced Query Techniques" provides the best introduction to advanced SQL that I've seen. This chapter focuses on JOIN techniques and syntax, then addresses subqueries and table creation before proceeding to excellent coverage of advanced CFQUERY topics like caching strategies and transaction processing. Second, the chapter "Using ColdFusion Studio" is not something I remember seeing in other books. It provides a brief, useful introduction to the Studio interface and utilities, which should interest beginning CF programmers.

Part 3 focuses on the various technologies built into the ColdFusion platform that enable communication with other popular Internet servers and services via such protocols as SMTP, HTTP, FTP, and LDAP. This section focuses on the CFMAIL tag since e-mail is the most complicated Internet service. Examples of how to send and receive e-mail from within ColdFusion are provided as well as good examples of generating message content from a query, generating a recipient list from a query, and so on.

I eagerly skipped straight to the chapter on CF and LDAP, mainly because I'm having a problem SSL-encrypting communications between my CF server and LDAP server. Unfortunately, this section doesn't cover SSL-encryption in any depth. This is puzzling, since I'd assume the one thing most developers would be using LDAP for would be authentication, and if you're authenticating across a network you'd want to ensure the credentials you're sending are properly encrypted. (The authors do address this topic in slightly more detail in the ColdFusion Tag Reference entry for CFLDAP at the back of the book. At least there it unveils the magic term - cert7.db - that's the key to getting SSL-encryption between CF and LDAP to work at all.)

Part 4 covers such advanced topics as query-of-queries, ColdFusion scripting, using the Verity search engine, CF custom tags, user-defined functions, and WDDX. Being new to CF 5.0, I found the chapters on query-of-queries and user-defined functions particularly enlightening and useful. The sections on the CF Administrator and administering a CF server are welcome additions as well.

Finally, the most important of the six appendices are the ColdFusion Tag Reference and Function Reference; they're what you'd expect: long lists of tags and functions with corresponding explanatory text. I'm a little disappointed with these two sections. The two-column layout is visually confusing - a single-column layout would have been much easier to browse. Also, the function reference is organized alphabetically, not grouped by function type (e.g., string functions, date functions, list functions). There's an index of functions grouped by type at the beginning of this reference, but using it would require a separate lookup - one for the name of the function, the other for the function itself - something the harried developer doesn't want to do every time he or she needs a quick reference. Grouping the entire function reference by type, then alphabetically, would have been a lot better.

Since Mastering ColdFusion 5 comprehensively covers almost everything from introductory material to the nitty-gritty of the ColdFusion Markup Language and SQL, advanced application development techniques, and server administration, it could be the one book you use for learning and reference. This book is not something you'd lug around in your backpack (although an 11MB PDF of the entire book is included on the accompanying CD, and is certainly worthy of disk space on a laptop). It is, however, the kind of volume you'd want by your workstation. It's a valuable introduction to new features of ColdFusion, as well as a solid, comprehensive reference to CFML and its built-in functions.

Mastering ColdFusion 5
By Arman Danesh, Kristin Aileen Motlagh and Raymond Camden
Sybex
1,263 pages, $49.95

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.