ColdFusion 9 Developer Tutorial

ColdFusion 9 Developer Tutorial
eBook: $29.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $79.98    Print cover: $49.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Fast-paced guide to the foundational concepts of developing in ColdFusion
  • Broad coverage of CFScript to deal with its expanded power in ColdFusion 9
  • Enhance the user interface with built-in ColdFusion AJAX features (layout, forms, script, maps, and more)
  • Packed with example code and real-world knowledge

Book Details

Language : English
Paperback : 388 pages [ 235mm x 191mm ]
Release Date : July 2010
ISBN : 1849690243
ISBN 13 : 9781849690249
Author(s) : John Farrar
Topics and Technologies : All Books, Web Development, AJAX, jQuery, Web Services

Table of Contents

Chapter 1: Web Pages—Static to Dynamic
Chapter 2: Basic CFCs and Database Interaction
Chapter 3: Power CFCs and Web Forms
Chapter 4: ORM Database Interaction
Chapter 5: Application, Session, and Request Scope
Chapter 6: Authentication and Permissions
Chapter 7: CFScript
Chapter 8: CF AJAX User Interface
Chapter 9: CF AJAX Forms
Chapter 10: CF AJAX Programming
Chapter 11: Introduction to Custom Tags
Chapter 12: ColdFusion Powered Views
Chapter 13: Control Logic Processing
Chapter 14: Guide to Unit Testing
Appendix A: Beyond this Book
Appendix B: Tools and Resources
  • Chapter 1: Web Pages—Static to Dynamic
    • Turning HTML into a dynamic web page
      • HTML requests
      • ColdFusion requests
        • Comments
        • Variable output
        • Functions
    • Understanding and using simple variables
      • Variable types
        • Integers
        • Strings
        • Decimals
        • Additional functions
        • Find and FindNoCase
    • Understanding structures
      • CGI variables
    • Let's get interactive
      • URL variables
      • Exception handling
        • Standard error exception
        • <CFTRY> and <CFCATCH>
    • Setting page defaults
      • HTML links
    • Introduction to lists and loops
    • Understanding arrays
    • Conditional processing with If/<cfif>
    • Conditional processing with switch
    • Summary
  • Chapter 2: Basic CFCs and Database Interaction
    • Our first CFC
    • Our first object
      • Product (object)
    • Using an object constructor
    • Connecting to a database
    • Returning data from the CFC
    • Making our data query flexible
    • The basic data object concept
    • Object method access control
    • Summary
  • Chapter 3: Power CFCs and Web Forms
    • The practice of protecting access
    • Web forms introduction
    • Managing our product data
    • Getting data to our edit page
    • Saving our data
    • Improving page flow
    • Adding a new record
    • Let's look under the hood
    • Summary
  • Chapter 4: ORM Database Interaction
    • Introduction to ORM in ColdFusion
      • ORM-enabled application configuration
      • ORM-enabled CFCs
      • Understanding entities
    • Working with entity-object relationships
      • Many-to-many relationships
      • Working with relational data
    • ORM functions
    • Summary
  • Chapter 5: Application, Session, and Request Scope
    • Life span
    • Introducing the Application.cfc object
    • Application variables
    • The start methods
      • Application start method—onApplicationStart()
      • Session start method—onSessionStart()
      • Request start method—onRequestStart()
    • The end methods
      • Request end method—onRequestEnd()
      • Session end method—onSessionEnd()
      • Application end method—onApplicationEnd()
      • On Error method—onError()
    • Scope visibility
    • Practical application
    • Universal datasource
    • Mappings per application
    • Custom tag paths per application
    • Summary
  • Chapter 7: CFScript
    • Script basics
      • Variables
      • Switch/case
      • If/then/else
      • For loops
      • For/in loops
      • Do/while loops
      • While loops
    • Exception handling
      • Throw/abort
    • New functions/commands in CF9
    • Summary
  • Chapter 8: CF AJAX User Interface
    • Changing times
      • HTML-based websites
      • Server-side languages
      • Browser-side applications
        • Flash
        • JavaScript
    • ColdFusion AJAX
      • Layout
        • <cfdiv />
        • <cflayout />
        • <cfpod />
        • <cfwindow />
      • Menus and tool tips
        • <cfmenu />
        • <cftooltip />
    • Styling notes
    • Tips
    • Map interaction
    • Summary
  • Chapter 9: CF AJAX Forms
    • AJAX forms
      • <cfgrid />
      • Grid paging
    • Grid updates and deletes
    • Linked grids
      • <cfinput />
        • Binding page elements
      • Binding immediately upon load
    • The date requestor
    • The autosuggest box
      • <cfselect />
      • <cftextarea />
      • <cftree />
    • The directory tree
    • Message boxes
    • Progress bar
    • Summary
  • Chapter 10: CF AJAX Programming
    • Binding
      • On-page binding
      • CFC binding
      • JavaScript binding
      • URL binding
    • Bind with event
    • Extra binding notes
    • Multiple radio buttons or checkboxes and multiple select
    • Spry binding
    • CFAJAXProxy
      • CFAJAX proxy binding
    • CFC proxy class objects
    • Client debugging
    • Firebug
    • Built-in debugging
      • Logging features
      • Customization
      • Automatically wired AJAX links
      • Execute JavaScript after loading content
      • Other cool commands
      • Post for CFAJAX calls
      • CFAJAX browser JavaScript API overview
    • Summary
  • Chapter 11: Introduction to Custom Tags
    • Different forms of code reuse
      • CFCs
      • CFInclude
    • Custom tags
      • Our first custom tag
    • Custom header/footer tags
    • Nested tags
    • CFInclude from custom tags
    • Templates versus skins
    • Managing custom tags
    • CFModule approach
    • Tag library approach
    • Summary
  • Chapter 12: ColdFusion Powered Views
    • What is open source?
    • The fun factor
      • Installing the library
      • Getting started
    • Happily separated
      • Manipulate DOM from server-side code
    • Turning lemons to lemonade
      • Separation complete
    • Fun with lists
      • Select list tag
      • Other list tags
    • Better form coding
      • Metadata
      • Smart form modes
        • Edit mode
        • Add mode
        • View mode
      • Style simplified
        • But wait, there's more!
    • Custom list item rendering
      • Module render option
    • Summary
  • Chapter 13: Control Logic Processing
    • The code side of applications
      • The model
      • The controller
    • Shared variables
    • Processing request events
      • Event model for the coprocessor
        • onPageStart() method
        • onFirstCall() method
        • onPostBack() method
        • Form modes
        • beforeViewCall() method
        • onPageEnd() method
    • Remote AJAX events
    • Data versatility
      • Lists
      • Array of structures
      • Modified data field names
      • Query handling
    • Personal extension of COOP
    • Summary
  • Chapter 14: Guide to Unit Testing
    • When to test
      • Mission critical
      • Test-driven development
      • Regression testing
    • Installing our testing software
    • Understanding assertions
      • First test class
      • Multiple tests
        • HTML view
        • Data view
      • Built-in assertions
      • MXUnit assertion extensions
    • Testing private methods
    • Testing included files and custom tags
      • Variable testing
      • Exception testing
    • A son's view of testing
    • Summary
  • Appendix A: Beyond this Book
    • Areas of interest
      • Perspectives
        • Business perspective
        • Design/marketing perspective
        • Developer perspective
    • Current technologies
      • AJAX
      • Flash (Flex/AIR)
      • Future
        • HTML 5
        • Devices
    • Scale versus implementation
    • Standards
      • Libraries
        • Size
        • Features
        • Begin with the end in mind
        • Research
      • Frameworks
      • Methodologies
  • Appendix B: Tools and Resources
    • AJAX
      • Firebug
      • jQuery
    • Analytics
      • Google webmaster tools
    • Coding
    • Conferencing and collaboration
      • Google Docs
      • GoToMeeting/Webinar
      • Slide-sharing sites
    • Data-management tools
    • Graphics creation/acquisition
      • Camtasia Studio
      • Color Schemer
      • Fireworks
      • Lightroom
      • SnagIt
    • Open source libraries
    • Project management
      • FreshBooks
      • Project Tracker
    • Source control
    • Usability
      • Morae
    • Virtual development box
    • XML

John Farrar

John started working with computer programming around 1977. He has had the opportunity to work on projects used by Apple, Blue Cross, Brunswick Recreation, Casio, GVSU, Johnson Controls, Sprint, and many others. This history covers over 30 years of knowledge and experience in the industry.

He started doing web development over 10 years ago. In the early days of the Web ColdFusion stood out to him not just as a way to make web pages into web applications but as a maturing solid platform good for the developer, site owner, and end users. He started at version 4.5 and has been enjoying each version upgrade more and more.

John owns a company called SOSensible. His company does work for large companies but has a special focus on also making sure technology is approachable beyond the enterprise. They have developed a number of Open Source solutions including COOP. COOP is a mix of Custom Tags and CFCs that provides structure while keeping development simpler. It demonstrates his love for the things that make ColdFusion/CFML a delightful language to build websites.

He has spoken at national and regional conferences, online meetings, and area user group meetings. He is also an Adobe User Group manager. John knows that community is a viable and productive tool to build developers and the companies they serve. He has learned much from great resources in the community including bloggers, books, conferences, and resources to great in number to mention here. He blogs at for the community.

Contact John Farrar

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

ColdFusion 9 Developer Tutorial +    SAP HCM - A Complete Tutorial =
50% Off
the second eBook
Price for both: $45.60

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Foundational Concepts of Developing in CFML (ColdFusion Markup Language)
  • How to make your ColdFusion Components (CFCs) come alive with methods, using object inheritance, connecting to a database through the internal methods of your object/CFCs
  • Managing multiple products through common forms for listing, editing, and adding data
  • Debugging and unit testing techniques
  • How to pass information into a custom tag and learn the different methods of storing and accessing tags and tag libraries
  • Enhancing the user interface with built-in ColdFusion AJAX features (layout, forms, script, maps, and so on)
  • Managing files, emails, and images through CFML
  • Power mixing CFCs and custom tags using COOP library as an example to simplify view coding and understand event based objects
  • ORM database interaction covering the new data integration of Hibernate
  • The working of different variable scopes
  • Applications and authenticating users for roles and permissions
  • Integrating Feed, REST, and SOAP web services to interact with other sites

In Detail

Adobe ColdFusion is an application server, renowned for rapid development of dynamic websites, with a straightforward language (CFML), powerful methods for packaging and reusing your code, and AJAX support that will get developers deep into powerful web applications quickly. However, developing rich and robust web applications can be a real challenge as it involves multiple processes.

With this practical guide, you will learn how to build professional ColdFusion applications. Packed with example code, and written in a friendly, easy-to-read style, this book is just what you need if you are serious about ColdFusion.

This book will give you clear, concise, and practical guidance to take you from the basics of ColdFusion 9 to the skills that will make you a ColdFusion developer to be reckoned with. It also covers the new features of ColdFusion 9 like ORM Database Interaction and CF Builder.

ColdFusion expert John Farrar will teach you the basics of ColdFusion programming, application architecture, and object reuse, before showing you a range of topics including AJAX library integration, RESTful Web Services, PDF creation and manipulation, and dynamically generated presentation files that will make you the toast of your ColdFusion developer town.

This book digs deep with the basics, with real-world examples of the how and whys, to get more done faster with ColdFusion 9.

Get up to speed in ColdFusion and learn how to integrate it with other Web 2.0 technologies


This book is a fast-paced tutorial to developing ColdFusion applications, with an emphasis on real-world skills. Packed with examples and careful explanations, the book leads you through all the topics relevant to today's ColdFusion developer.

Who this book is for

This book is for web developers working with ColdFusion 9. If your goal is to get a good grounding in the basics of the language as quickly as possible and put a site together quickly, this book is ideal for you. This book will also help you if you want to learn more about professional programming of ColdFusion.

No prior knowledge of ColdFusion is expected, but basic knowledge of general web and software development skills is assumed.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software