Advanced ajax in ColdFusion
Dan Vega
Dan Vega
www.danvega.org
no notes exist for this slide
Slide 2
no text exists for this slide
no notes exist for this slide
Presentation Agenda
About Me
About Me
AJAX Overview
Debugging & Logging ( Firebug / ColdFusion 8 AJAX Log )
ColdFusion 8 AJAX Review
ColdFusion JavaScript Functions
UI (Grid,Tabs,Layout,Windows,Menus,Trees,Tooltips)
Binding / Tags / Functions (cfajaxproxy,cfajaximport,cfdiv)
Under The hood of the UI Controls
ColdFusion 9
Q&A
MORE CODE / LESS SLIDES
no notes exist for this slide
We wont cover
Everything â This is only an hour long presentation
Everything â This is only an hour long presentation
All the different frameworks
Every attribute of ever tag covered today
Please feel free to ask me after the presentation.
Buy me a drink!
no notes exist for this slide
About Me
Programmer (Always working to get better)
Programmer (Always working to get better)
ColdFusion / Flex / AS3 / HTML / CSS / JS / Groovy / Grails
Cleveland ColdFusion User Group Co Manager
Active ColdFusion Community Member
Open Source Developer
CFMU (ColdFusion Multi Uploader)
cfPayflowPro (PayflowPro API wrapper for ColdFusion)
Rocket FM (Flex + CF File Manager
cfExt (ColdFusion custom tag wrappers for ExtJS Framework)
STERIS Corporation (http://www.steris.com) Web Developer
Cleveland OH Resident â Die hard Cleveland Sports Fan (Go Cavs!)
Email: danvega@gmail.com
Blog: http://www.danvega.org/blog/
Twitter: cfaddict
no notes exist for this slide
AJAX
Ajax, or AJAX (Asynchronous JavaScript and XML), is a group of interrelated web development techniques used to create interactive web applications or rich Internet applications.
Ajax, or AJAX (Asynchronous JavaScript and XML), is a group of interrelated web development techniques used to create interactive web applications or rich Internet applications.
HTML
JavaScript
CSS
Data (JSON/XML)
YES YOU CAN
No longer requires you to be an expert JavaScript Developer
Popular Frameworks make it easy for us
jQuery / ExtJS / Spry / Prototype / DOJO
ColdFusion 8 makes it really easy!
Not just for style points
no notes exist for this slide
Logging amp Debugging
Debugging is a core essential for all programmers
Debugging is a core essential for all programmers
Some get introduced to these tools after they have been developing for awhile. I believe that these tools are essential for any developer
Firebug (http://getfirebug.com/)
Debug and Profile JavaScript
Monitor Network Activity
Quickly find errors
Explore the DOM
Execute JavaScript on the fly
ColdFusion 8 Logging & Debugging
Added in ColdFusion 8
Administrator setting
Enable AJAX Debug Log Window
?cfdebug
YAHOO UI
no notes exist for this slide
Debugging amp Logging
no text exists for this slide
no notes exist for this slide
ColdFusion JavaScript Functions
Grid ( ColdFusion.Grid )
Grid ( ColdFusion.Grid )
Layout ( ColdFusion.Layout )
Window ( ColdFusion.Window )
Form ( ColdFusion.Ajax.submitForm)
JSON ( ColdFusion.JSON )
Logging ( ColdFusion.Log )
Navigation ( ColdFusion.Navigate)
no notes exist for this slide
cfajaximport
no text exists for this slide
no notes exist for this slide
cfajaxproxy
Creates a JavaScript proxy for a ColdFusion component, for use in an AJAX client.
Creates a JavaScript proxy for a ColdFusion component, for use in an AJAX client.
Component methods must be remote
Alternatively, creates a proxy for a single CFC method, JavaScript function, or URL that is bound to one or more control attribute values.
no notes exist for this slide
Slide 12
no text exists for this slide
no notes exist for this slide
Data Binding
Data binding allows you to bind the results of one control to another control or content area
Data binding allows you to bind the results of one control to another control or content area
To specify a bind expression, use one of the following formats:
cfc:componentPath.functionName(parameters)
javascript:functionName(parameters)
url:URL?parameters
URL?parameters
A string containing one or more instances of {bind parameter}, such as {firstname}.{lastname}@{domain}
no notes exist for this slide
Slide 14
no text exists for this slide
no notes exist for this slide
ColdFusion 8 UI Controls
Grid
Grid
Tabs
Layout
Windows
Menus
Trees
Divs
no notes exist for this slide
UI Controls
no text exists for this slide
no notes exist for this slide
Under the Hood
ColdFusion 8 + ExtJS
ColdFusion 8 + ExtJS
ColdFusion 8 uses v 1.1
Current v 2.2
Just released 3.0 Beta
http://extjs.com
API docs (http://extjs.com/learn)
Browser Support
Internet Explorer 6+
FireFox 1.5+ (PC, Mac)
Safari 3+
Opera 9+ (PC, Mac)
ColdFusion provides many features right out of the box but sometimes you need the power of customization
Improving Performance
Why use another library for functions Ext can do
compress & minify
no notes exist for this slide
ColdFusion 9
ExtJS 3.0 +
ExtJS 3.0 +
ExtJS 2.2+ allows us to simply add themes
no notes exist for this slide
QampA
no text exists for this slide
no notes exist for this slide