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
- 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
- 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
- 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
- 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)
- 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
- 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
- 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
- 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”
- 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
- 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
- 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
- Exercise 12: Serialize data as wddx file
- 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
- Exercise 13: Transfer WDDX data from ColdFusion to JavaScript
- 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
|