Advanced ColdFusion 9: XML, External Data and File System
This course is provided by Wintrac. Wintrac
provides one stop shopping for all your IT training needs. Wintrac’s course catalog
of over two thousand courses includes courses on ColdFusion training
ColdFusion Training Course Duration
2 Days
ColdFusion Training Course Outline
Advanced ColdFusion: XML, File System and Web Services
Module 1: Working with <cffile>
Read and Write Text Files with <cffile>
Demo: Read Plain Text Documents
Built-in Function: ExpandPath()
Reading Files with the <cffile> tag
Demo: Write Text File
Built-in Function: FileExists()
Exercise 1: Build a Simple Message Board or Log File
Challenge
Possible Solution to Exercise 1
Upload Documents with <cffile>
Using the <cffile> tag for an Upload
After a <cffile> Upload: FILE Variables
Demo: Upload Image and Dynamically Create Static HTML Pages
Deeper Examination: HTML and a File Upload18
Saving long variable values with <cfsavecontent>
Using the <cffileupload> tag for Multiple Uploads in ColdFusion 9
Demo: Using <cfdirectory>
Using <cfcontent> to create an Excel Spreadsheet
Exercise 2: Upload External Files and Create Photo Gallery Page
Challenge
Possible Solution to Exercise 2
Module 2: Using XML
XML Syntax Basics
XML Logical Structure
Each XML document must begin with a language declaration
Each XML document must have a single root element, which normally contains other child elements
XML Physical Structure
Case Sensitivity
Required Closing Tags
New Syntax for “empty elements”
Tags must be nested properly
Attribute Values must be enclosed properly in single or double quotes
<
XML Comments
XML Logic: Designing Datasheets
Parsing XML data with ColdFusion
Demo: Convert an XML datasheet into an XML Document Object with XMLParse()
Case-sensitive Element Names with XMLParse()
Demo: Referring to Specific XML nodes
Method 1 – Array notation with generic node names
Method 2 – Associative Array notation
Method 3 – Array notation with specific node names
Methods 4(+) – Mix and Match
Demo: Loop through each node with <cfloop>
Deeper Examination: Counting Nodes
Manipulating XML data with Built-in Functions
List of Structure/Array Functions that may be used on an XML Document Object
List of XML-specific Functions
Exercise 3: Create a Calendar of Events Built from External XML Files Provided by External Organizations
Challenge
A Possible Solution to Exercise 3
Manipaulating the XML Document Object: Adding Elements
Demo: Build XML Object in .cfm Document with <cfxml> Tag
Demo: Query Database to Build XML Document Object
Demo: Add nodes to Existing XML Document Object
Deeper Examination
Deeper Examination: Adding an XML Attribute
Exercise 4: Add an Event to the Calendar
Challenge
A Possible Solution to Exercise 4
Create a Query Object from Existing XML (optional)
Demo: Combine Multiple XML Document Objects into One
Deeper Examination: Looping through the XML
Demo: Convert XML Document Objects into a Query Object with QueryNew()
Deeper Examination: Creating the Query Object
Deeper Examination: Query the query
Exercise 5: Co-mingle the Events on the Calendar (optional)
Challenge
A Possible Solution to Exercise 5
Extensible Stylesheet Language (XSL) Basics
XSL, XSLT, and XSLFO
XSL Basics: Linking to an XSL Stylesheet
Examining an XSL Stylesheet
The xsl:stylesheet tag and the namespace declaration
The <xsl:template> tag
The <xsl:value-of> tag
Referencing iterating nodes
Server-side XSL Transformation with ColdFusion
Demo: Transforming XML Data with XSL
Deeper Examination: XMLTransform()
Idea! Transforming XML Data into XML Data
Exercise 6: Transform XML data
Challenge
A Possible Solution to Exercise 6
XPath Basics
XPath: the XSL Node Matching Syntax
Choosing Between Equivalent XPath Expressions
An XPath testing tool
Using XPath with ColdFusion
Demo: Select Nodes Based on Attribute Values
Deeper Examination: XPath expression
Deeper Examination: XMLSearch()
Idea! Convert an XML Document Object to a Query Object
Exercise 7: Using XPath to select specific XML elements
Challenge
A Possible Solution to Exercise 7
Module 3: Working with <cfhttp>
Making http requests with <cfhttp>
Demo: Using <cfhttp> to display a complete page: Screen Scrape
Demo: Using <cfhttp> to download a complete page and save with <cffile>
Attributes of <cfhttp>
Demo: Convert a Text File into a Query with <cfhttp>
Deeper Examination: <cfhttp> tag
Deeper Examination: <cfoutput> block
While looping though the records…
Demo: Add a Column to Query
Deeper Examination: QueryAddColumn() function
Idea! Dynamically Creating Static Pages
Exercise 8: Using <cfhttp> to Access and Parse External Data
If you are done early
A Possible Solution to Exercise 8
Passing Variables with <cfhttp> and <cfhttpparam>
Creating an Intelligent Agent
Demo: Examine a Simple Traditional Application
Demo: Convert Simple Application into an Intelligent Agent
Deeper Examination: agent.cfm
Deeper Examination: agent-page2.cfm
Deeper Examination: <cfsetting>
Demo: Screen Scraping for Data
Exercise 9: Simulate the Post Method with <cfhttp> and Create an “Intelligent Agent”
Challenge
A Possible Solution to Exercise 9
Module 4: Working with Web Services
Examples
Producers vs. Consumers
Definitions
Creating WSDL Documents
Demo: Converting CFCs into Web Services
Step 1 – Convert the existing CFC into a Web Service
Step 2 - Examine a local WSDL file from the demo
Step 3 - Invoking a ColdFusion Web Service
Deeper Examination
Deeper Examination: Passing an argument to a Web Service
SOAP
A note about security
Exercise 10: Convert Existing CFC into Web Service
Challenge
A Possible Solution to Exercise 10
Invoking External Web Services
Locating Web Services
Invoking Web Services from .NET, Java and more
Demo: Random Quote Generator
Deeper Examination: <cfinvoke> and <cfinvokeargument>
Exercise 11: Consuming External Web Services
Challenge
A Possible Solution to Exercise 11
Module 5: Web Distributed Data Exchange (WDDX) (optional)
WDDX
Demo: Store simple data as WDDX
Deeper Examination: <cfwddx> tag
Demo: Store an Array as WDDX
Demo: Store a Recordset as WDDX
Demo: Store binary object as WDDX
Deeper Examination
Exercise 12: Serialize data as wddx file
If you are done early
A Possible Solution to Exercise 12
Deserialize WDDX data in JavaScript
Demo: Deliver a ColdFusion query to JavaScript
Deeper Examination: Include JavaScript functions
Deeper Examination: Deserialize in JavaScript
Deeper Examination: Generated source code
Demo: Using the data in a more complicated example
Deeper Examination
Exercise 13: Transfer WDDX data from ColdFusion to JavaScript
If you are done early
A Possible Solution to Exercise 13
Appendix A: Resources
Appendix B: Set-up Notes
Appendix C: Selecting Among ColdFusion Code Reuse Methods
Appendix D: Dreamweaver, Web Services and Components
Please contact your training representative for more details on having this course delivered onsite or online