<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>cfsilence - Ajax</title>
			<link>http://cfsilence.com/blog/client/index.cfm</link>
			<description>The personal blog of Todd Sharp.</description>
			<language>en-us</language>
			<pubDate>Mon, 06 Sep 2010 21:33:15 -0400</pubDate>
			<lastBuildDate>Mon, 19 Jan 2009 21:25:00 -0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>cfsilence@gmail.com</managingEditor>
			<webMaster>cfsilence@gmail.com</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>cfsilence@gmail.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			<itunes:image href="" />
			<image>
				<url></url>
				<title>cfsilence</title>
				<link>http://cfsilence.com/blog/client/index.cfm</link>
			</image>
			<itunes:explicit>no</itunes:explicit>
			
			
			
			
			
			<item>
				<title>Interacting With YouTube Videos Inside A CFWindow</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2009/1/19/Interacting-With-YouTube-Videos-Inside-A-CFWindow</link>
				<description>
				
				A friend wrote me today and asked:

&lt;blockquote&gt;
I have a cfwindow that embeds YouTube content.  The problem is that when you close the window the content keeps playing.  Is there a way to unload the embedded content?
&lt;/blockquote&gt;
				 [More]
				</description>
						
				
				<category>Ajax</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Mon, 19 Jan 2009 21:25:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2009/1/19/Interacting-With-YouTube-Videos-Inside-A-CFWindow</guid>
				
				
				<enclosure url="http://cfsilence.com/blog/client/enclosures/youTubeCFWindow.zip" length="2067" type="application/zip"/>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Progressively Enhanced Transcripts With jQuery</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2009/1/15/Progressively-Enhanced-Transcripts-With-jQuery</link>
				<description>
				
				I quietly added a new feature to &lt;a href=&quot;http://slidesix.com&quot;&gt;SlideSix&lt;/a&gt; earlier this week which now extracts the text contents of each slide and displays that text as a transcript on the view page of a presentation.  The reason behind this enhancement is to dramatically increase the search engine visibility of your presentations since search engines will be basically indexing the content of each of your slides.
				 [More]
				</description>
						
				
				<category>jQuery</category>				
				
				<category>Ajax</category>				
				
				<category>Usability</category>				
				
				<category>JavaScript</category>				
				
				<category>SlideSix</category>				
				
				<pubDate>Thu, 15 Jan 2009 10:08:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2009/1/15/Progressively-Enhanced-Transcripts-With-jQuery</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Removing The Shadow From A CFWindow (And Something To Watch For)</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2008/12/3/Removing-The-Shadow-From-A-CFWindow-And-Something-To-Watch-For</link>
				<description>
				
				I received what seemed like a pretty simple question today given my background with ColdFusion 8 Ajax:

&lt;blockquote&gt;
I&apos;ve been looking for a way to simply eliminate the shadow on a cfwindow.  The closest thing I could find so far is in your example of using ext to fade the window in/out, but is there a way I could do it with just css since I don&apos;t need the fade effect?
&lt;/blockquote&gt;
				 [More]
				</description>
						
				
				<category>Ext</category>				
				
				<category>Ajax</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 03 Dec 2008 22:42:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2008/12/3/Removing-The-Shadow-From-A-CFWindow-And-Something-To-Watch-For</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Preventing Double Form Submission With jQuery Revisited</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2008/7/17/Preventing-Double-Form-Submission-With-jQuery-Revisited</link>
				<description>
				
				I had a request via IM for a more complete example of doing validation within a form submission.  I threw together a quick example here to better explain my thought process.  Please remember I&apos;m new to jQuery so what I&apos;m doing might not be an example of best practices.  Feel free to suggest an alternative.

So essentially I need to capture the submit event of my form.  In this case I&apos;m assuming a single form so I simply refer to the tag name in my selector, but I&apos;m sure you could just as easily refer to an id.  Here is a simple wrapper to capture the form submission:
				 [More]
				</description>
						
				
				<category>jQuery</category>				
				
				<category>Ajax</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Thu, 17 Jul 2008 15:32:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2008/7/17/Preventing-Double-Form-Submission-With-jQuery-Revisited</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Quick jQuery Tip - Preventing Double Form Submission</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2008/7/17/Quick-jQuery-Tip--Preventing-Double-Form-Submission</link>
				<description>
				
				Last night I wanted to implement a simple measure to prevent double form submissions so I of course turned to my &lt;a href=&quot;http://jQuery.com&quot;&gt;newest best friend&lt;/a&gt; for a little help.  My goal was simple - when the form was submitted just swap out the submit button for a little animated gif and a &apos;Saving&apos; message.  My first thought was to capture the click of the submit button like so:
				 [More]
				</description>
						
				
				<category>jQuery</category>				
				
				<category>Ajax</category>				
				
				<pubDate>Thu, 17 Jul 2008 09:05:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2008/7/17/Quick-jQuery-Tip--Preventing-Double-Form-Submission</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>HTML OnMissingImage - With Dynamic Content</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2008/4/21/HTML-OnMissing-Image--With-Dynamic-Content</link>
				<description>
				
				This morning Rob Gonda &lt;a href=&quot;http://www.robgonda.com/blog/index.cfm/2008/4/21/HTML-OnMissingImage&quot;&gt;blogged&lt;/a&gt; about using the &apos;onerror&apos; attribute of the &amp;lt;img&amp;gt; tag to display an alternate image if your image does not load.  I tried this solution within a dynamic Spry region, and it didn&apos;t seem to work.  I&apos;m guessing that the onerror is fired once and only once, and since the image src is dynamic (within my Spry region) it is not firing the onerror again so the initial replacement image is loaded.  

Thanks to some good discussion in the comments I devised a method to get this to work with my Spry region.  It&apos;s pretty simple really, just register an observer on the region, and once the region is updated loop over the dataset, checking to see if the image is loaded.  If not, replace it with your &apos;oops&apos; image.  Here&apos;s some code:

&lt;code&gt;
observer = function(type,notifier,data){
	if(type == &apos;onPostStateChange&apos;){
		var ds = dsName.getData();
		
		for(var i = 0; i&lt;ds.length; i++){
			//assumes you&apos;ve named your image {ID}_img
			  
			var id = ds[i].ID + &apos;_img&apos;;
			
			//check to see if the image was loaded
			
			if(!document.images[id].complete){
			 	document.getElementById(id).src = &apos;oops.jpg&apos;;
			}
		}
	}
}
Spry.Data.Region.addObserver(&apos;regionName&apos;, observer);
&lt;/code&gt;

That&apos;s it!
				
				</description>
						
				
				<category>Ajax</category>				
				
				<pubDate>Mon, 21 Apr 2008 12:41:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2008/4/21/HTML-OnMissing-Image--With-Dynamic-Content</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Managing Sessions In CF Ajax Applications</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2008/4/9/Managing-Sessions-In-CF-Ajax-Applications</link>
				<description>
				
				Everyone is likely familiar with standard application logic for managing authenticated sessions with ColdFusion.  Typically you do some sort of check inside your Application.cfc file (usually in onRequestStart()) and if the current user is not authenticated (or there session has timed out) you redirect them to a login screen.  Nothing new there, but when you think of the nature of an Ajax application you realize that there is a fundamental issue with that concept.  What happens if a cfdiv were to be refreshed and the users session has timed out?  Well, likely your cfdiv would then contain the results of the redirection (maybe a login.cfm template), but that may not be the &apos;prettiest&apos; solution depending on your application.

So I put together a quick application to demo one possible solution.  The basic concept this:

&lt;ul&gt;
&lt;li&gt;Log a timestamp of the last &apos;hit&apos; by a given user in their session&lt;/li&gt;
&lt;li&gt;Create a simple facade that looks at the time difference between the last hit and the current time&lt;/li&gt;
&lt;li&gt;Create a ajax proxy to query that session facade&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Make sure the proxy request does not update the &apos;last hit&apos; - otherwise your session will never time out&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Run a call to the session facade (via the ajax proxy) on a set interval&lt;/li&gt;
&lt;li&gt;Evaluate the inactivity period, if in a &apos;warning&apos; period (say between 15-19 minutes) display a modal window warning the user.&lt;/li&gt;
&lt;li&gt;If the user chooses to extend the session, ping the session facade which will update the &apos;last hit&apos; variable.&lt;/li&gt;
&lt;li&gt;If the inactivity is beyond the session timeout (I usually go with &gt;= 19 minutes display a modal (non-closable) window telling them the session has timed out&lt;/li&gt;
&lt;/ul&gt;

I have a demo online &lt;a href=&quot;http://cfsilence.com/blog/demos/ajaxSessions/index.cfm&quot;&gt;here&lt;/a&gt;.  If you open the demo and wait longer then a minute you&apos;ll be warned.  Longer then 2 minutes and you&apos;re logged out.  Full source is attached to this entry.  As always, feel free to post questions/comments.
				
				</description>
						
				
				<category>Ajax</category>				
				
				<pubDate>Wed, 09 Apr 2008 10:58:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2008/4/9/Managing-Sessions-In-CF-Ajax-Applications</guid>
				
				
				<enclosure url="http://cfsilence.com/blog/client/enclosures/ajaxSessions.zip" length="1797" type="application/zip"/>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>CFGrid Date Picker Editor</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2008/4/7/CFGrid-Date-Picker-Editor</link>
				<description>
				
				A few weeks ago Dan Vega &lt;a href=&quot;http://www.danvega.org/blog/index.cfm/2008/3/12/Custom-Grid-Editor&quot;&gt;blogged&lt;/a&gt; about creating a comboxbox (drop down) cell editor for the editable &amp;lt;cfgrid&amp;gt; before he &lt;a href=&quot;http://www.danvega.org/blog/index.cfm/2008/3/28/ColdFusion-8-Grid-Editor-Select-Menu&quot;&gt;realized&lt;/a&gt; that cfgrid supports in cell drop downs.  I commented that I&apos;d like to see something like a date picker cell editor and after using Dan&apos;s orginal code as inspiration and some hints from &lt;a href=&quot;http://www.coldfusionguy.com/ColdFusion/blog/index.cfm/2007/11/27/CFGrid-Custom-Date-Renderer&quot;&gt;this post by Scott Bennett&lt;/a&gt; I finally got the thing working.  Yes, I do realize that sometimes it&apos;d just be easier to roll your own Ajax widget from scratch, but sometimes hacking it is more fun.  

I&apos;ll leave it to Dan and Scott&apos;s original posts to explain the details, but here is what you&apos;ll end up with:

&lt;img src=&quot;http://cfsilence.com/blog/client/images/datepicker_grid.jpg&quot;&gt;

And here&apos;s the code:

&lt;code&gt;
&lt;cfsetting showdebugoutput=&quot;false&quot;&gt;

&lt;cfajaximport tags=&quot;cfinput-datefield&quot; /&gt;

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Edit Artist Grid&lt;/title&gt;
&lt;link href=&quot;/CFIDE/scripts/ajax/ext/resources/css/ytheme-aero.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;

&lt;style&gt;
.x-menu-list{
margin: 0px; padding: 0px;
}
&lt;/style&gt;

&lt;script type=&quot;text/javascript&quot; src=&quot;/CFIDE/scripts/ajax/ext/ext-all.js&quot;&gt;&lt;/script&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
function init(){
//grid object 

grid = ColdFusion.Grid.getGridObject(&quot;ArtistGrid&quot;);

//column model 

cm = grid.getColumnModel();

//we need to know the column id 

stIndex = cm.findColumnIndex(&quot;LASTMODIFIED&quot;);

var df = new Ext.grid.GridEditor(
	new Ext.form.DateField(
		{
			format: &apos;m/d/Y&apos;,
   			minValue: &apos;04/01/08&apos;,
  		}
 	)
);


cm.setEditor(stIndex, df);
cm.setRenderer(stIndex, Ext.util.Format.dateRenderer(&apos;m/d/Y&apos;));

grid.reconfigure(grid.getDataSource(),cm);
}
&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;



&lt;cfquery name=&quot;getArtists&quot; datasource=&quot;cfartgallery&quot;&gt;
SELECT artistId, firstname, lastname, address, city, state, 
postalcode, email, &apos;04/01/2008&apos; as lastModified
FROM Artists
&lt;/cfquery&gt;

&lt;cfset args = structNew()&gt;
&lt;cfset args.name = &quot;ArtistGrid&quot;&gt;
  
&lt;cfset args.format = &quot;html&quot;&gt;
&lt;cfset args.query = &quot;getArtists&quot;&gt;
&lt;cfset args.stripeRows = true&gt;
&lt;cfset args.selectColor = &quot;##D9E8FB&quot;&gt;
&lt;cfset args.selectmode = &quot;edit&quot;&gt;
&lt;cfset args.onchange = &quot;cfc:artists.editArtist({cfgridaction},{cfgridrow},{cfgridchanged})&quot;&gt;

&lt;cfform&gt;
&lt;cfgrid attributeCollection=&quot;#args#&quot;&gt;
&lt;cfgridcolumn name=&quot;artistid&quot; display=&quot;false&quot;&gt;
&lt;cfgridcolumn name=&quot;firstname&quot; header=&quot;First Name&quot;&gt;
&lt;cfgridcolumn name=&quot;lastname&quot; header=&quot;Last Name&quot;&gt;
&lt;cfgridcolumn name=&quot;address&quot; header=&quot;Address&quot;&gt;
&lt;cfgridcolumn name=&quot;city&quot; header=&quot;City&quot;&gt;
&lt;cfgridcolumn name=&quot;state&quot; header=&quot;State&quot;&gt;
&lt;cfgridcolumn name=&quot;postalcode&quot; header=&quot;Zip&quot;&gt;
&lt;cfgridcolumn name=&quot;lastModified&quot; header=&quot;Last Modified&quot;&gt;
&lt;/cfgrid&gt;
&lt;/cfform&gt;

&lt;cfset ajaxOnLoad(&quot;init&quot;)&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;/code&gt;
				
				</description>
						
				
				<category>Ext</category>				
				
				<category>Ajax</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Mon, 07 Apr 2008 16:29:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2008/4/7/CFGrid-Date-Picker-Editor</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Progressive Enhancement With ColdFusion 8 Ajax</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2008/3/17/Progressive-Enhancement-With-ColdFusion-8-Ajax</link>
				<description>
				
				I&apos;ve been heavy into some research lately, trying to become more familiar with some advanced concepts.  Part of such research has been to learn more about &lt;a href=&quot;http://en.wikipedia.org/wiki/Progressive_enhancement&quot;&gt;Progressive Enhancement&lt;/a&gt;.  I wouldn&apos;t exactly call myself an expert on the topic, but essentially it&apos;s a shift in mindsight from what I&apos;ve gotten used to with Ajax development over the last year.
				 [More]
				</description>
						
				
				<category>Ajax</category>				
				
				<category>JavaScript</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Mon, 17 Mar 2008 13:00:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2008/3/17/Progressive-Enhancement-With-ColdFusion-8-Ajax</guid>
				
				
				<enclosure url="http://cfsilence.com/blog/client/enclosures/progressiveEnhancement1.zip" length="3227" type="application/zip"/>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Speaking At April CFUG Meeting</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2008/3/17/Speaking-At-April-CFUG-Meeting</link>
				<description>
				
				I will be presenting a preview of my cf.objective() presentation &apos;Integrating ColdFusion 8 Ajax with Model-Glue Applications&apos; at the &lt;a href=&quot;http://www.clevelandmmug.org/?group=cfug&quot;&gt;Cleveland ColdFusion User Group&lt;/a&gt; meeting on April 10.  

I&apos;ve been trying to attend more meetings in person but things often come up for me.  &lt;a href=&quot;http://www.brianmeloche.com/blog&quot;&gt;Brian Meloche&lt;/a&gt; and &lt;a href=&quot;http://danvega.org/blog&quot;&gt;Dan Vega&lt;/a&gt; do a great job with the group, so if you&apos;re in the area you should try to attend.  I believe Brian is also presenting at the April meeting and I think Dan is presenting in May.
				
				</description>
						
				
				<category>Model-Glue</category>				
				
				<category>Ajax</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Mon, 17 Mar 2008 12:18:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2008/3/17/Speaking-At-April-CFUG-Meeting</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Sexy ColdFusion 8 Ajax</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2008/2/13/Sexy-ColdFusion-8-Ajax</link>
				<description>
				
				Many folks have asked recently how I worked around the - umm - &apos;plain&apos; look of the ColdFusion 8 Ajax controls.  I originally planned on that being a part of my cf.Objective() Ajax presentation, but what the heck, I may as well show it now.

It&apos;s actually quite simple.  Ext ships with several &apos;themes&apos;.  To use these with your Ajax controls, just include them on your page.  

For the &apos;aero&apos; theme:

&lt;code&gt;
&lt;link href=&quot;/CFIDE/scripts/ajax/ext/resources/css/xtheme-aero.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;/code&gt;

How &apos;bout a Vista theme?

&lt;code&gt;
&lt;link href=&quot;/CFIDE/scripts/ajax/ext/resources/css/xtheme-vista.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;/code&gt;

A few words of caution though.  The first caution is to make sure you have all of the latest hot fixes applied for CF 8.  There is a fix in one of them that makes sure your user included stylesheets are included &lt;strong&gt;after&lt;/strong&gt; the CF added ones.  &lt;strong&gt;This is important!&lt;/strong&gt;  (A workaround is to write your stylesheet to the &amp;lt;head&amp;gt; with &amp;lt;cfhtmlhead&amp;gt; - that should put your sheet after the CF stuff).  The other thing to watch out for is to make sure the path to the necessary images is not altered (if you move the theme to your project directory instead of pointing at /CFIDE).  If you don&apos;t maintain the image path, then you will need to change the path in the local stylesheet (and move the images local to your project).
				
				</description>
						
				
				<category>Ajax</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 13 Feb 2008 14:44:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2008/2/13/Sexy-ColdFusion-8-Ajax</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Adding A Minimize Button To Your CFWindow</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2008/2/13/Adding-A-Minimize-Button-To-Your-CFWindow</link>
				<description>
				
				Here&apos;s a quick example of how to add a functional minimize button to your CFWindow.  

&lt;code&gt;
&lt;script&gt;
createWin = function(){
ColdFusion.Window.create(&apos;Window1&apos;, &apos;This is a CF window&apos;,&apos;win.cfm&apos;,{x:100,y:100,height:300,width:400,modal:false,closable:true,collapsible:true,draggable:true,resizable:true,center:true,initshow:true})
//get the Ext window object

var w = ColdFusion.Window.getWindowObject(&apos;Window1&apos;);
//add the class for the collapse button

w.collapseBtn = w.toolbox.createChild({cls:&quot;x-dlg-collapse&quot;});
//add a listener for the collapse click

w.collapseBtn.on(&quot;click&quot;, w.collapseClick, w);
//add the class to swap the image on mouse over

w.collapseBtn.addClassOnOver(&quot;x-dlg-collapse-over&quot;);
}

&lt;/script&gt;

&lt;cfset ajaxOnLoad(&apos;createWin&apos;) /&gt;

&lt;/code&gt;

&lt;a href=&quot;http://cfsilence.com/blog/demos/winMin/index.cfm&quot;&gt;Demo&lt;/a&gt;
				
				</description>
						
				
				<category>Ext</category>				
				
				<category>Ajax</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 13 Feb 2008 12:54:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2008/2/13/Adding-A-Minimize-Button-To-Your-CFWindow</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Thoughts On Ajax Frameworks And ColdFusion/Adobe</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2008/2/13/Thoughts-On-Ajax-Frameworks-And-ColdFusionAdobe</link>
				<description>
				
				A reader (ironically named Todd) commented on my post yesterday:
&lt;blockquote&gt;
I&apos;d also like to see some discussion about Ext vs. Spry.

Dreamweaver CS3 seems to have settled on Spry while CF8 has settled on Ext (1.0). Apparently, Adobe divisions do not talk to each other.

I can&apos;t decide between them. I find Ext (at least teh 1.0 version used in CF) to be difficult and frustrating to use. Prototype.js was easy. I haven&apos;t yet tried Spry.
&lt;/blockquote&gt;
				 [More]
				</description>
						
				
				<category>Ext</category>				
				
				<category>jQuery</category>				
				
				<category>Ajax</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 13 Feb 2008 09:08:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2008/2/13/Thoughts-On-Ajax-Frameworks-And-ColdFusionAdobe</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>ColdFusion 8 Ajax Feed Reader</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2008/2/12/ColdFusion-8-Ajax-Feed-Reader</link>
				<description>
				
				If you&apos;ve ever checked out &lt;a href=&quot;http://extjs.com&quot;&gt;Ext&lt;/a&gt; you&apos;ve probably seen the &lt;a href=&quot;http://extjs.com/playpen/ext-2.0-dev/examples/feed-viewer/view.html&quot;&gt;feed viewer&lt;/a&gt; sample application.  

A while back I decided to see how quickly I could recreate that viewer using ColdFusion 8 Ajax.  I ended up using some Spry bits for listeners - but overall much of the code is pretty simple.  I&apos;m not going to bother posting the code unless someone really wants to see it - I just wanted to get this out there as a cool demo of the power/simplicity of ColdFusion 8 Ajax.

&lt;a href=&quot;http://cfsilence.com/blog/demos/feed/index.cfm&quot;&gt;Here it is&lt;/a&gt;

Oh - I almost forgot - if you try to view a post from a BlogCFC blog it will bust out of the application and take over your window.  This is &lt;strong&gt;not&lt;/strong&gt; a bug but an intentional feature of BlogCFC to keep folks from harvesting your content.  If you add a non-BlogCFC feed and try to view a post in a new tab you&apos;ll see the feature.
				
				</description>
						
				
				<category>Ajax</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Tue, 12 Feb 2008 16:01:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2008/2/12/ColdFusion-8-Ajax-Feed-Reader</guid>
				
				
				<enclosure url="http://cfsilence.com/blog/client/enclosures/feed.zip" length="92511" type="application/unknown"/>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>CFDiv - Something To Watch Out For</title>
				<link>http://cfsilence.com/blog/client/index.cfm/2008/1/16/CFDiv--Something-To-Watch-Out-For</link>
				<description>
				
				Was just trying to create a super simple dynamic region on a page when I repeatedly received the following error when I loaded the page:

&lt;code&gt;
error:http: Error replacing HTML, element not found: comments
&lt;/code&gt;

I double check everything and my bind statement looks good.  View Source however told me something different.  CF correctly included the Ajax &apos;plumbing&apos; bits to create the div and register it, but my div itself was not in the source.   Turns out the template I was working with had the following on line 1:

&lt;code&gt;
&lt;cfsetting enablecfoutputonly=true&gt;
&lt;/code&gt;

So since cfdiv actually is creating a div behind the scenes it did not get output to the page because it wasn&apos;t surrounded in a &amp;lt;cfoutput&amp;gt;.  Seems strange though because none of the other CF tags that generate HTML (IE cfinput) share this behavior.  Unless I&apos;m mistaken?
				
				</description>
						
				
				<category>Ajax</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 16 Jan 2008 15:26:00 -0400</pubDate>
				<guid>http://cfsilence.com/blog/client/index.cfm/2008/1/16/CFDiv--Something-To-Watch-Out-For</guid>
				
				
			</item>
			
		 	
			</channel></rss>