<?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>Cutter&apos;s Crossing - ExtJS</title>
			<link>http://blog.cutterscrossing.com/index.cfm</link>
			<description>ColdFusion Development, Life, and Other Stuff</description>
			<language>en-us</language>
			<pubDate>Tue, 07 Sep 2010 18:05:07 -0400</pubDate>
			<lastBuildDate>Thu, 17 Jun 2010 17:31:00 -0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>web.admin@cutterscrossing.com</managingEditor>
			<webMaster>web.admin@cutterscrossing.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>web.admin@cutterscrossing.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			<itunes:image href="" />
			<image>
				<url></url>
				<title>Cutter&apos;s Crossing</title>
				<link>http://blog.cutterscrossing.com/index.cfm</link>
			</image>
			<itunes:explicit>no</itunes:explicit>
			
			<item>
				<title>Introducing Sencha</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2010/6/17/Introducing-Sencha</link>
				<description>
				
				&lt;img src=&quot;http://blog.cutterscrossing.com/images/sencha-logo.png&quot; style=&quot;position:relative;float:left;margin:0 10px 10px 0;&quot; height=&quot;150&quot; /&gt;Great things are coming. Great things are here!

On June 14&lt;sup&gt;th&lt;/sup&gt;, Ext JS LLC &lt;a href=&quot;http://www.sencha.com/blog/2010/06/14/ext-js-jqtouch-raphael-sencha/&quot; target=&quot;_blank&quot;&gt;rebranded&lt;/a&gt; as part of their announced partnership with the principles of the &lt;a href=&quot;http://www.jqtouch.com/&quot; target=&quot;_blank&quot;&gt;JQTouch&lt;/a&gt; and &lt;a href=&quot;http://raphaeljs.com/&quot; target=&quot;_blank&quot;&gt;Raphael&lt;/a&gt; projects, creating &lt;a href=&quot;http://www.sencha.com&quot; target=&quot;_blank&quot;&gt;Sencha&lt;/a&gt;. The &lt;a href=&quot;http://www.sencha.com/products/js/&quot; target=&quot;_blank&quot;&gt;Ext JS&lt;/a&gt; library is still one of their major offerings, but they have also created Sencha Labs as a repository of various Open Source Projects under the MIT License (Like JQTouch, Raphael, and &lt;a href=&quot;http://www.sencha.com/products/core/&quot; target=&quot;_blank&quot;&gt;Ext Core&lt;/a&gt;). Great things were on the way!

Having David Kaneda (JQTouch) and Dmitry Baranovskiy (Raphael) join forces with the Ext JS crew is huge, and really plays well in understanding a series of recent &lt;a href=&quot;http://www.sencha.com/blog/&quot; target=&quot;_blank&quot;&gt;blog posts&lt;/a&gt; around &lt;a href=&quot;http://www.sencha.com/blog/2010/05/23/html5-now-with-20-percent-more-internet/&quot; target=&quot;_blank&quot;&gt;HTML5&lt;/a&gt;, &lt;a href=&quot;http://www.sencha.com/blog/2010/06/01/the-html5-family-css3/&quot; target=&quot;_blank&quot;&gt;CSS3&lt;/a&gt;, and what &lt;a href=&quot;http://www.sencha.com/blog/2010/06/11/html5-is-here-now-its-just-not-for-your-desktop-yet/&quot; target=&quot;_blank&quot;&gt;HTML5 means to developers today&lt;/a&gt;. But, it gets better.

This morning, Sencha launched their first joint product in public beta, &lt;a href=&quot;http://www.sencha.com/products/touch/&quot; target=&quot;_blank&quot;&gt;Sencha Touch&lt;/a&gt;. Sencha Touch is a cross-platform mobile application framework built to leverage HTML5, CSS3, and JavaScript. It gives you the same sort of consistent API that you&apos;ve come to expect from the Ext JS team, with a familiar syntax, great documentation, user forums for support, and many samples included with the download to help you learn. I&apos;ve had the opportunity to preview this code for a while, and it is outstanding work. There will be some interesting apps to come out of this.

The future looks bright for Sencha, and I can&apos;t wait to see what they do next. Judging from their post on the rebranding, my prediction are changes to ExtDesigner (possibly to become SenchaDesigner), that would allow a developer to build both Ext JS and Sencha Touch interfaces from the same tool. My guess. (Man, that would be really cool.) 
				</description>
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<category>Sencha</category>				
				
				<pubDate>Thu, 17 Jun 2010 17:31:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2010/6/17/Introducing-Sencha</guid>
				
				
			</item>
			
			<item>
				<title>My CF + ExtJs Preso for cf.Objective() 2010</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2010/4/24/My-CF--ExtJs-Preso-for-cfObjective-2010</link>
				<description>
				
				&lt;img src=&quot;http://blog.cutterscrossing.com/images/cfplusext.jpg&quot; alt=&quot;ColdFusion + ExtJs&quot; style=&quot;position: relative; float: left;margins: 10px&quot; /&gt;Attached to this is my slide deck and sample code from my ColdFusion + ExtJs presentation here at cf.Objective() 2010. Overall it seemed to go really well, despite the typical technical difficulties, and though &lt;a href=&quot;http://www.coldfusionjedi.com&quot;&gt;Ray&lt;/a&gt; said I needed to be a little more introductory (Thanks Ray. I appreciate the feedback.) I heavily commented the JavaScript in my source code, so hopefully that will help to fill in the gaps for people. If anyone has any questions, feel free to use the contact link at the bottom of the page.

I want to shout out to Aaron Conran of &lt;a href=&quot;http://www.extjs.com&quot;&gt;ExtJs&lt;/a&gt;, for providing me with a license for their new &lt;a href=&quot;http://www.extjs.com/products/designer/?ref=family&quot;&gt;ExtDesigner&lt;/a&gt; to giveaway in my presentation. I pinged him last minute on this, and he really came through (Hope you like it Lance. Drop me your info to give back to Aaron.) For those who haven&apos;t checked it out yet, it&apos;s a fantastic tool, really well done, and more than worth the small price tag on it.

On a side note, I&apos;m using a &quot;work-in-progress&quot; version of &lt;a href=&quot;http://cfqueryreader.riaforge.org&quot;&gt;CFQueryReader&lt;/a&gt; in this sample. I&apos;m in the process of refactoring to support some advanced features of Ext.Direct, and the new version will only be compatible with 3.2 and above. When I put it into SVN I&apos;ll add some notes on which revision is the cutoff for previous versions of ExtJs.

Update: I&apos;ve added notes to the readme.txt file of the sample download with instructions on how to make the examples work in ColdFusion 8 as well. 
				</description>
				
				<category>Learning ExtJS</category>				
				
				<category>cfObjective</category>				
				
				<category>CFQueryReader</category>				
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Sat, 24 Apr 2010 08:50:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2010/4/24/My-CF--ExtJs-Preso-for-cfObjective-2010</guid>
				
				
				<enclosure url="http://blog.cutterscrossing.com/enclosures/cfo2010.zip" length="118842" type="application/zip"/>
				
			</item>
			
			<item>
				<title>I Am Speaking at cf.Objective() 2010</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2010/1/6/I-Am-Speaking-at-cfObjective-2010</link>
				<description>
				
				&lt;img src=&quot;http://blog.cutterscrossing.com/images/CFObjective_09_banner_3-31deadline_468x62.jpg&quot; style=&quot;float:right;margin:5px&quot; /&gt;I&apos;ll be speaking on building applications with &lt;a href=&quot;http://www.adobe.com/products/coldfusion&quot; target=&quot;_blank&quot;&gt;ColdFusion&lt;/a&gt; and &lt;a href=&quot;http://www.extjs.com&quot; target=&quot;_blank&quot;&gt;ExtJs&lt;/a&gt; at &lt;a href=&quot;http://www.cfobjective.com&quot; target=&quot;_blank&quot;&gt;cf.Objective 2010&lt;/a&gt;. I was very honored to be asked to submit a topic alongside so many fantastic speakers and developers. I&apos;ll post more as the details are refined. 
				</description>
				
				<category>Learning ExtJS</category>				
				
				<category>cfObjective</category>				
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 06 Jan 2010 15:59:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2010/1/6/I-Am-Speaking-at-cfObjective-2010</guid>
				
				
			</item>
			
			<item>
				<title>ColdFusion Ajax and ExtJs Presentation Update</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2009/9/23/ColdFusion-Ajax-and-ExtJs-Presentation-Update</link>
				<description>
				
				I&apos;ve been asked to present to the &lt;a href=&quot;www.kcdevcore.org&quot; target=&quot;_blank&quot;&gt;KCDevCore&lt;/a&gt; on &lt;a href=&quot;http://www.adobe.com/products/coldfusion/&quot; target=&quot;_blank&quot;&gt;ColdFusion&lt;/a&gt; 9 Ajax and &lt;a href=&quot;http://www.extjs.com&quot; target=&quot;_blank&quot;&gt;ExtJs&lt;/a&gt;. This will be an updated version of my ColdFusion Ajax presentation, with new content to cover the updates and new components presented in ColdFusion 9 and ExtJs 3.0. By request, I&apos;m going to try to keep the slides to a minimum and get down to some code.

That presentation will be next Tuesday, September 29th, at 7 PM CDT, and will be available via the KCDevCore &lt;a href=&quot;https://admin.na3.acrobat.com/_a204547676/kcdevcore/&quot; target=&quot;_blank&quot;&gt;Adobe Connect&lt;/a&gt;.

For those who don&apos;t know (where have you been?), ColdFusion 9 is now in public beta on &lt;a href=&quot;http://labs.adobe.com&quot; target=&quot;_blank&quot;&gt;Adobe Labs&lt;/a&gt;. 
				</description>
				
				<category>ColdFusion</category>				
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<pubDate>Wed, 23 Sep 2009 09:33:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2009/9/23/ColdFusion-Ajax-and-ExtJs-Presentation-Update</guid>
				
				
			</item>
			
			<item>
				<title>CFQueryReader v1.2 - Critical Update Supporting ExtJS 3.x</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2009/7/29/CFQueryReader-v12--Update-Supporting-ExtJS-3x</link>
				<description>
				
				I have updated &lt;a href=&quot;http://cfqueryreader.riaforge.org&quot; target=&quot;_blank&quot;&gt;CFQueryReader&lt;/a&gt;, addressing issues that had arisen with new builds of ExtJs 3.x. This new build should cover sporadic issues with loading a new Ext.data.Store. There is also a simple example of using Aaron Conran&apos;s &lt;a href=&quot;http://extjs.com/forum/showthread.php?t=67983&quot; target=&quot;_blank&quot;&gt;DirectCFM&lt;/a&gt; Ext.Direct ColdFusion API stack.

The CFQueryReader &lt;a href=&quot;http://cfqueryreader.cutterscrossing.com&quot; target=&quot;_blank&quot;&gt;Example Site&lt;/a&gt; has been updated as well. You can update CFQueryReader from &lt;a href=&quot;http://cfqueryreader.riaforge.org&quot; target=&quot;_blank&quot;&gt;RIAForge&lt;/a&gt;. 
				</description>
				
				<category>Learning ExtJS</category>				
				
				<category>ColdFusion</category>				
				
				<category>ColdFusion 8</category>				
				
				<category>CFQueryReader</category>				
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<pubDate>Wed, 29 Jul 2009 16:04:14 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2009/7/29/CFQueryReader-v12--Update-Supporting-ExtJS-3x</guid>
				
				
			</item>
			
			<item>
				<title>Ext Js 3.0 is Finally Released!</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2009/7/6/Ext-Js-30-is-Finally-Released</link>
				<description>
				
				Yes, &lt;a href=&quot;http://www.extjs.com&quot; target=&quot;_blank&quot;&gt;Ext Js&lt;/a&gt; 3.0 has finally arrived! This long awaited update to the popular library has finally hit the &lt;a href=&quot;http://extjs.com/products/extjs/download.php&quot; target=&quot;_blank&quot;&gt;download page&lt;/a&gt; as a production ready build (though the Release Candidates have been pretty stable as it is). There are many great enhancements to Ext, including an even more consistent underlying model (how could it get &lt;em&gt;more&lt;/em&gt; consistent?), and some exciting new data marshalling features.

A quick perusal of the updated &lt;a href=&quot;http://extjs.com/deploy/dev/examples/samples.html&quot; target=&quot;_blank&quot;&gt;Samples &amp;amp; Demos&lt;/a&gt; page gives us immediate insight into some of the new features that are available:

&lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;http://extjs.com/deploy/dev/examples/grid/row-editor.html&quot; target=&quot;_blank&quot;&gt;Row Editor Grid&lt;/a&gt; - for full record edits&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://extjs.com/deploy/dev/examples/grid/buffer.html&quot; target=&quot;_blank&quot;&gt;Buffered Grid View&lt;/a&gt; - for faster rendering of large datasets&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://extjs.com/deploy/dev/examples/tabs/tab-scroller-menu.html&quot; target=&quot;_blank&quot;&gt;Tab Panel Scroller Menu&lt;/a&gt; - for Tab Panels with lots of tabs&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://extjs.com/deploy/dev/examples/grouptabs/grouptabs.html&quot; target=&quot;_blank&quot;&gt;Group Tabs&lt;/a&gt; - a vertical tab implementation&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://extjs.com/deploy/dev/examples/chart/charts.html&quot; target=&quot;_blank&quot;&gt;Charts&lt;/a&gt; - several different chart types&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://extjs.com/deploy/dev/examples/tree/check-tree.html&quot; target=&quot;_blank&quot;&gt;Check Tree&lt;/a&gt; - a tree view with a twist&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://extjs.com/deploy/dev/examples/layout/hbox.html&quot; target=&quot;_blank&quot;&gt;HBox&lt;/a&gt; and &lt;a href=&quot;http://extjs.com/deploy/dev/examples/layout/vbox.html&quot; target=&quot;_blank&quot;&gt;VBox&lt;/a&gt; layouts&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://extjs.com/deploy/dev/examples/toolbar/overflow.html&quot; target=&quot;_blank&quot;&gt;Toolbar Overflow&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://extjs.com/deploy/dev/examples/toolbar/toolbars.html&quot; target=&quot;_blank&quot;&gt;Toolbar Button Groups&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://extjs.com/deploy/dev/examples/view/list-view.html&quot; target=&quot;_blank&quot;&gt;ListView&lt;/a&gt; - a very lightweight grid implementation&lt;/li&gt;
    &lt;li&gt;Updated &lt;a href=&quot;http://extjs.com/deploy/dev/examples/simple-widgets/qtips.html&quot; target=&quot;_blank&quot;&gt;QuickTips&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

There&apos;s a lot more that you&apos;ll have to dig to see, like improved browser support, a better container model, and (experimental) ARIA support (for accessabiltiy). Some of the greatest enhancements come in the way of the data marshalling capabilities added via the new &lt;a href=&quot;http://extjs.com/blog/2009/05/13/introducing-ext-direct/&quot; target=&quot;_blank&quot;&gt;Ext Direct&lt;/a&gt;. With Direct, Ext is providing the &lt;a href=&quot;http://extjs.com/products/extjs/direct.php&quot; target=&quot;_blank&quot;&gt;remoting specifications&lt;/a&gt; so that anyone can write data marshalling services around their favorite backend language. Ext has even published &lt;a href=&quot;&quot; target=&quot;_blank&quot;&gt;Example Server Side Stacks&lt;/a&gt; as a jumping off point to beginning with data marshalling via Direct. [Side Note: Aaron Conran, the team lead on the Ext Js team, is a long time &lt;a href=&quot;http://www.adobe.com/products/coldfusion&quot; target=&quot;_blank&quot;&gt;ColdFusion&lt;/a&gt; guy, and he wrote the example CF stack.) By configuring your Direct API, you can utilize data readers and writers (they&apos;re new!) easily, even passing multiple requests within a single Ajax request. [Another Side Note: &lt;a href=&quot;http://cfqueryreader.riaforge.org&quot; target=&quot;_blank&quot;&gt;CFQueryReader&lt;/a&gt; is fully functional with and without Direct.]

One of the nicest features of this release is the backwards compatability. There are little to few changes that most will have to make, to upgrade their applications from 2.x to 3.0. And, it was announced, on a recent &lt;a href=&quot;http://groups.adobe.com/groups/ab704331ab/summary&quot; target=&quot;_blank&quot;&gt;User Group Tour&lt;/a&gt; stop, that Adobe is including Ext Js 3.0 in ColdFusion 9. This opens up the possability of some very nice, new CFAjax components to come.

All in all a fantastic release. I&apos;ve had the opportunity to play with 3.0 for a while now, watching the SVN updates daily, and my hat&apos;s off to the Ext Js crew for another excellent release. 
				</description>
				
				<category>Learning ExtJS</category>				
				
				<category>ColdFusion</category>				
				
				<category>Centaur Tour</category>				
				
				<category>CFQueryReader</category>				
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<pubDate>Mon, 06 Jul 2009 23:08:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2009/7/6/Ext-Js-30-is-Finally-Released</guid>
				
				
			</item>
			
			<item>
				<title>Ext JS 3.0 RC2 Released</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2009/6/3/Ext-JS-30-RC2-Released</link>
				<description>
				
				The &lt;a href=&quot;http://www.extjs.com&quot; target=&quot;_blank&quot;&gt;Ext JS&lt;/a&gt; team has announced the release of &lt;a href=&quot;http://extjs.com/blog/2009/06/03/ext-js-30-rc2-release-stable-robust-and-enhanced/&quot; target=&quot;_blank&quot;&gt;3.0 RC2&lt;/a&gt;. This latest Release Candidate is considered to be very stable, with many new examples to show you how to do what you need to do. From someone that updates from the repository every day, I can tell you that these guys have been working hard to get 3.0 ready for full release, and there&apos;s a ton of new material there (in the examples) to learn from. 
				</description>
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<pubDate>Wed, 03 Jun 2009 11:53:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2009/6/3/Ext-JS-30-RC2-Released</guid>
				
				
			</item>
			
			<item>
				<title>Placement of the PagingToolbar on a Grid</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2009/5/22/Placement-of-the-PagingToolbar-on-a-Grid</link>
				<description>
				
				This morning I found I was courtesy copied by &lt;a href=&quot;http://www.coldfusionjedi.com&quot; target=&quot;_blank&quot;&gt;Ray Camden&lt;/a&gt;, on a reply that he was making to a message he had received from his Blog Contact form from Mike Knox. Mike was trying to find out if it was possible to place the PagingToolbar, used in cfgrid, at the top of the grid rather than the bottom. Ray had told Mike that he had Googled it and not found on obvious solution, and that he was CCing me for my feedback.

Like any padawan, it&apos;s pretty humbling for me to be asked advice from the Jedi Master. I&apos;ve been taking Ray&apos;s advice on &lt;a href=&quot;http://www.adobe.com/products/coldfusion&quot; target=&quot;_blank&quot;&gt;ColdFusion&lt;/a&gt; since the 4.x days, so I try to be pretty diligent when he includes me in helping others with their queries.

I&apos;ve always held that the use of the CF Ajax components are primarily for rapid application prototyping. They are fantastic for putting up some very basic functionality, but when you need more advanced configuration it is then time to dig in, and go straight to &lt;a href=&quot;http://www.extjs.com&quot; target=&quot;_blank&quot;&gt;Ext JS&lt;/a&gt; itself. Mike&apos;s question is a prime example of this. We have nearly no control over a cfgrid&apos;s configuration prior to render, and the configuration options that we do have (through the cfgrid and cfgridcolumn attributes) barely scratch the surface to what one can do with an Ext Grid. The PagingToolbar is a class object of Ext and, as such, you should be able to add it to any toolbar of a grid: top, bottom, or both. I fired up Eclipse, booted up my CF and Apache, and pulled up the Ext examples from my local copy of the latest 3.0 download. All of the examples that you can see in the &lt;a href=&quot;http://extjs.com/deploy/dev/examples/samples.html&quot; target=&quot;_blank&quot;&gt;Samples &amp; Demos&lt;/a&gt; section of the Ext site are given to you in the download of the library, so that you can run them locally and pick them apart. So, my quest was on.

I went to the &lt;a href=&quot;http://extjs.com/deploy/dev/examples/grid/paging.html&quot; target=&quot;_blank&quot;&gt;Paging Grid Example&lt;/a&gt;, and examined the source code of the &lt;a href=&quot;http://extjs.com/deploy/dev/examples/grid/paging.js&quot; target=&quot;_blank&quot;&gt;paging.js&lt;/a&gt; file. I quickly found the configuration object for the paging toolbar:
    
    &lt;code&gt;
    var pagingBar = new Ext.PagingToolbar({
        pageSize: 25,
        store: store,
        displayInfo: true,
        displayMsg: &apos;Displaying topics {0} - {1} of {2}&apos;,
        emptyMsg: &quot;No topics to display&quot;,
        
        items:[
            &apos;-&apos;, {
            pressed: true,
            enableToggle:true,
            text: &apos;Show Preview&apos;,
            cls: &apos;x-btn-text-icon details&apos;,
            toggleHandler: function(btn, pressed){
                var view = grid.getView();
                view.showPreview = pressed;
                view.refresh();
            }
        }]
    });
    &lt;/code&gt;

 The PagingToolbar instance is then applied to the Grid, placing the object in the &apos;bbar&apos; (bottom bar) attribute:

    &lt;code&gt;
        // paging bar on the bottom
        bbar: pagingBar
    &lt;/code&gt;

After seeing this in the online demo, I went to my local (3.0) demo to see if I could change it. The Ext team rewrote the demo for the upcoming 3.0 release, placing the instance initialization directly in the attribute:

    &lt;code&gt;
        // paging bar on the bottom
        bbar: new Ext.PagingToolbar({
            pageSize: 25,
            store: store,
            displayInfo: true,
            displayMsg: &apos;Displaying topics {0} - {1} of {2}&apos;,
            emptyMsg: &quot;No topics to display&quot;,
            items:[
                &apos;-&apos;, {
                pressed: true,
                enableToggle:true,
                text: &apos;Show Preview&apos;,
                cls: &apos;x-btn-text-icon details&apos;,
                toggleHandler: function(btn, pressed){
                    var view = grid.getView();
                    view.showPreview = pressed;
                    view.refresh();
                }
            }]
        })
        &lt;/code&gt;

So, I changed &apos;bbar&apos; to &apos;tbar&apos; (top bar) and reloaded the page. Success! The PagingToolbar was now in the top toolbar of the Grid, and fully functional. After reviewing all of this, I decided to go a step further. Could you have two separate PagingToolbar configs on the grid? One at the top and one at the bottom? So, I tried this:

    &lt;code&gt;
        // paging bar on the bottom
        bbar: new Ext.PagingToolbar({
            pageSize: 25,
            store: store,
            displayInfo: true,
            displayMsg: &apos;Displaying topics {0} - {1} of {2}&apos;,
            emptyMsg: &quot;No topics to display&quot;,
            items:[
                &apos;-&apos;, {
                pressed: true,
                enableToggle:true,
                text: &apos;Show Preview&apos;,
                cls: &apos;x-btn-text-icon details&apos;,
                toggleHandler: function(btn, pressed){
                    var view = grid.getView();
                    view.showPreview = pressed;
                    view.refresh();
                }
            }]
        }),
        // paging bar on the top
        tbar: new Ext.PagingToolbar({
            pageSize: 25,
            store: store,
            displayInfo: true,
            displayMsg: &apos;Displaying topics {0} - {1} of {2}&apos;,
            emptyMsg: &quot;No topics to display&quot;,
            items:[
                &apos;-&apos;, {
                pressed: true,
                enableToggle:true,
                text: &apos;Show Preview&apos;,
                cls: &apos;x-btn-text-icon details&apos;,
                toggleHandler: function(btn, pressed){
                    var view = grid.getView();
                    view.showPreview = pressed;
                    view.refresh();
                }
            }]
        })
    &lt;/code&gt;

That&apos;s part of what I love about development, I get to play, experiment, have some (geek) fun. After refreshing the page, I now had two toolbars, at both the top and bottom of the page. Both worked perfectly, and stayed in sync during paging. That&apos;s what I love about the Jack Slocum and the Ext Team, they think about things like having more than one paging bar and how they would need to stay in sync, and they&apos;ve already written it in to the library.

And so, on rare occasion, the student has the opportunity to become the master, though I&apos;m sure there&apos;s still plenty more I can learn from Master Camden;) 
				</description>
				
				<category>ColdFusion</category>				
				
				<category>ColdFusion 8</category>				
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<pubDate>Fri, 22 May 2009 10:33:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2009/5/22/Placement-of-the-PagingToolbar-on-a-Grid</guid>
				
				
			</item>
			
			<item>
				<title>CFQueryReader v1.1</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2009/5/13/CFQueryReader-v11</link>
				<description>
				
				A while back, &lt;a href=&quot;http://www.madfellas.com/blog/&quot; target=&quot;_blank&quot;&gt;Justin Carter&lt;/a&gt; contacted me about some updates he was making to the &lt;a href=&quot;http://coldext.riaforge.org/&quot; target=&quot;_blank&quot;&gt;ColdExt&lt;/a&gt;, a wrapper for the &lt;a href=&quot;http://www.extjs.com&quot; target=&quot;_blank&quot;&gt;Ext JS&lt;/a&gt; library for &lt;a href=&quot;http://www.adobe.com/products/coldfusion/&quot; target=&quot;_blank&quot;&gt;ColdFusion&lt;/a&gt;. He had been looking at my &lt;a href=&quot;http://cfqueryreader.cutterscrossing.com&quot; target=&quot;_blank&quot;&gt;CFQueryReader&lt;/a&gt;, as a reader for ColdFusion&apos;s JSON data return, and had noticed that there was no support for the &apos;root&apos; attribute that&apos;s associated with most JSON readers in Ext. CFQueryReader is specifically designed for use with Query objects of ColdFusion 8&apos;s native JSON return type.

When I first wrote CFQueryReader, I was replacing the CFJsonReader with something better suited to the array structure used in the ColdFusion JSON return of a Query Object, and really did a one-for-one port. So, I took a deeper look at the issue Justin wanted resolved.

I did a deep comparison of Ext&apos;s ArrayReader and JsonReader source code, following everything that was being accomplished. What I found was how it used an internal accessor method to pull certain information on demand. I was able to refactor the reader to now support all of the base level meta attributes that are currently available to the ArrayReader: id, root, successProperty, and totalProperty.

In the previous version of CFQueryReader, when defining your fieldsets you were also required to uppercase the entire value of the column names. This is no longer a requirement either, although casing is important in identifying your &apos;root&apos; and &apos;totalProperty&apos; attributes.

The download below includes the reader, as well as some sample code showing how to implement it. I also setup these sample in a &lt;a href=&quot;http://cfqueryreader.cutterscrossing.com&quot; target=&quot;_blank&quot;&gt;subdomain&lt;/a&gt; to show it working (requires Firefox with Firebug for full effect). There is a fair amount of comment documentation directly within the &lt;a href=&quot;http://cfqueryreader.cutterscrossing.com/js/custom/CFQueryReader.js&quot; target=&quot;_blank&quot;&gt;CFQueryReader.js&lt;/a&gt; file. A big shout out to Justin, Adam Bellas, and a few others, for helping me out with the testing. 
				</description>
				
				<category>Learning ExtJS</category>				
				
				<category>ColdFusion</category>				
				
				<category>ColdFusion 8</category>				
				
				<category>CFQueryReader</category>				
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<pubDate>Wed, 13 May 2009 14:08:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2009/5/13/CFQueryReader-v11</guid>
				
				
				<enclosure url="http://blog.cutterscrossing.com/enclosures/CFQueryReader.zip" length="9859" type="application/octet-stream"/>
				
			</item>
			
			<item>
				<title>Ext.Direct: Details on Data Marshalling</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2009/5/13/ExtDirect-Details-on-Data-Marshalling</link>
				<description>
				
				&lt;img src=&quot;/images/DirectLogoNoChrome.gif&quot; style=&quot;float:left&quot; /&gt;One of the core focuses, in the development of &lt;a href=&quot;http://www.extjs.com&quot; target=&quot;_blank&quot;&gt;Ext JS&lt;/a&gt; 3.0, is the marshalling of data services under a centralized location. The intent is to make for a more portable application, where you can have a single touch point for data I/O that could easily be switched from one platform to another.

This is done through the new Ext.Direct package of classes, and many have been waiting on some detailed information on what it is and how to use it. This morning the Ext Blog got an update: &lt;a href=&quot;http://extjs.com/blog/2009/05/13/introducing-ext-direct/&quot; target=&quot;_blank&quot;&gt;Ext JS 3.0 - Remoting for Everyone&lt;/a&gt;. This explains Ext.Direct fairly well, even giving you a sample app to learn from, some sample code, &lt;a href=&quot;http://extjs.com/forum/showthread.php?t=67992&quot; target=&quot;_blank&quot;&gt;links to some pre-constructed routers for several platforms&lt;/a&gt;, as well as a link to the &lt;a href=&quot;http://extjs.com/products/extjs/direct.php&quot; target=&quot;_blank&quot;&gt;Remoting Specification&lt;/a&gt; to write your own custom routers. Aaron Conran, Senior Software Architect and Ext Services Team Lead, wrote the &lt;a href=&quot;http://extjs.com/forum/showthread.php?t=67983&quot; target=&quot;_blank&quot;&gt;ColdFusion Router&lt;/a&gt;. That&apos;s fitting, as Aaron&apos;s a long time &lt;a href=&quot;http://www.adobe.com/products/coldfusion/&quot; target=&quot;_blank&quot;&gt;ColdFusion&lt;/a&gt; guy, having contributed to the &lt;a href=&quot;http://www.coldboxframework.com/&quot; target=&quot;_blank&quot;&gt;ColdBox&lt;/a&gt; project back in it&apos;s early days.

I&apos;m excited about what Ext.Direct can mean for Ext - ColdFusion based applications, and I&apos;ll be deep diving this integration soon. I&apos;ll be curious to see how I can integrate &lt;a href=&quot;http://blog.cutterscrossing.com/index.cfm/2009/2/13/Ext-Custom-Data-Reader-for-ColdFusion-More-Info&quot; target=&quot;_blank&quot;&gt;CFQueryReader&lt;/a&gt; into the mix. I have an update to that which I hope to get out in the next few days. 
				</description>
				
				<category>Learning ExtJS</category>				
				
				<category>ColdFusion</category>				
				
				<category>ColdFusion 8</category>				
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<pubDate>Wed, 13 May 2009 09:48:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2009/5/13/ExtDirect-Details-on-Data-Marshalling</guid>
				
				
			</item>
			
			<item>
				<title>Ext Conference: Day 1</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2009/4/14/Ext-Conference-Day-1</link>
				<description>
				
				Day 1 of the &lt;a href=&quot;http://www.extjs.com&quot; target=&quot;_blank&quot;&gt;Ext JS&lt;/a&gt; Conference has been busy. Last night I had dinner and drinks with Jeff, a really nice guy who heads up development for a group writing web based interfaces to hardware appliances. Turns out Jeff is also the guy who introduced &lt;a href=&quot;http://en.wikipedia.org/wiki/JavaScript&quot; target=&quot;_blank&quot;&gt;JavaScript&lt;/a&gt; to &lt;a href=&quot;http://www.crockford.com/&quot; target=&quot;_blank&quot;&gt;Douglas Crockford&lt;/a&gt;, who was today&apos;s keynote speaker. Douglas made sure to recognize Jeff at the beginning of his keynote, which I thought was a nice nod to the guy who helped give him direction in his career. Douglas ran us through a brief history of hypertext, the evolution of the web, JavaScipt, and the browser wars, before touching on the future of the web, some of the things in the new JavaScript specs being worked on through &lt;a href=&quot;http://www.ecma-international.org/&quot; target=&quot;_blank&quot;&gt;ECMA&lt;/a&gt;, and the fact that none of it would matter for years until the browser manufacturers would implement it. He did give props to Flash, AIR and SilverLight for trying to further the web experience where it has lagged so much over the years. He also spoke about the pitfalls of security in Web 2.0 applications, and the primary culprits of those issues (the browser manufacturers).

Before I go a whole lot further, let me tell you that the conference center, and their service to us, is fantastic. Held at the &lt;a href=&quot;http://www.ritzcarlton.com/en/Properties/Orlando/Default.htm&quot; target=&quot;_blank&quot;&gt;Ritz-Carlton Orlando&lt;/a&gt;, the location is beautiful with it&apos;s palm lined drives, a well groomed golf course winding around several &apos;water traps&apos;, and a huge pool with several fountains. The food has been exceptional, with an incredible meal at lunch, complete with salad, brazed chicken, and desert with complete table service (this as part of the conference). No buffet sandwhiches here, though a breakfast buffet would have been nice before that 830 session this morning. My room is about half the size of the one I had at the &lt;a href=&quot;http://www.rougehotel.com/&quot; target=&quot;_blank&quot;&gt;Hotel Rouge&lt;/a&gt; last year for WebManiacs, but it is very comfortable and service keeps it nice. The shower did flood the entire bathroom this morning and the in-room coffee is horribly weak (and small), but everything can&apos;t be perfect. I&apos;ve also carried on my conference tradition of bringing a sinus infection with me, which is keeping me from the after-session activities this evening, but the concierge was able to get me covered with some NyQuil for the evening to try to knock this stuff out of me.

Aaron Conran, fellow &lt;a href=&quot;http://www.adobe.com/products/coldfusion/&quot; target=&quot;_blank&quot;&gt;ColdFusion&lt;/a&gt; developer and one of the original contributors to &lt;a href=&quot;http://www.coldboxframework.com/&quot; target=&quot;_blank&quot;&gt;ColdBox&lt;/a&gt;, delivered the session covering what has changed and what&apos;s new within the 3.0 release, which is officially released tomorrow by Jack Slocum during his keynote. A great deal of work has been spent to make the upgrade fairly painless, with attention payed to backwards compatability, improvements to overall memory management (always important), and an eye towards keeping the code lean and mean, doing what is necessary to keep code size to a minimum and eliminate any unnecessary bloat. Menus and Toolbars have been converted into true Container objects, and the only significant markup changes appear to be to the Button objects.

There are several new visual components, maintaining the professional feel and consistency that has made Ext JS so compelling. Two that attracted a great deal of attention were the ListView and the Buffered Grid View. Sometimes you want the basic view afforded by a Grid, without having the need for (or the overhead of) things like drag and drop column ordering, sorting, and the like. The ListView gives you a basic grid style layout without all of that overhead, and a very trim DOM footprint as well, providing your view without unnecessary code bloat and browser memory overhead. The Buffered Grid View is a full Grid implementation that allows the browser to only render DOM for records in actual view, plus a few extra to make smooth transitions on scrolling, that automatically adds and removes DOM items when scrolling through your recordsets. The memory management improvements with this, and other changes, are very nice to see. Like the new .mon(), or &apos;managed on&apos;, methods that allow you to bind events in a temporary fashion, getting a proper cleanup from browser memory when that component gets destroyed. This was actually a method of Ext prior to it&apos;s 1.0 release, and has been heavily requested for this return.

Being the server-side guy that I&apos;ve been for the last decade, the important new components came to the Ext.data package, with the addition of the Ext.data.Direct and Ext.data.DataWriter classes. Direct provides the ability to marshall your remote service call definitions into one container, calling your Ajax data requests from a centralized location with the ability to make multiple commands through a single Ajax request as well as call listeners on specific actions performed by Direct. Chris Scott did a presentation on Direct this afternoon, explaining how the developer has to create a server side Router to which Direct can attach it&apos;s requests, and showing us all a nice and very simple example (even if it was written in Ruby). The Ext Team provides a Reference for development of Routers in a number of server-side languages, including ColdFusion, PHP, Ruby, and .NET. The DataWriter class, covered in more depth in a future session, does for POST requests what the DataReader does for your GET requests, allowing a developer to define your routing of requests to send data back to the server. The combination of these classes with the existing classes of the Ext.data package really improves upon the power of using Ext with any server-side technology.

I was able to see the presentation on the Direct class because of a snafu with a scheduling change of the presentation of the Ext.air package. Originally these two sessions were the one conflict in my schedule, but they moved the Ext.air presentation session up a time slot (a change I didn&apos;t know of until after the fact) which allowed me the opportunity to sit in on Chris&apos;s session. Luckily the presentations are being recorded and are supposed to be available online after the conference. I&apos;m glad they&apos;re doing this, since I had to leave during my final session of the day, on Ext.Core, due to the sinus issues that progressively worsened through the day. The Ext.air session is one I am very looking forward to watching.

The members of the Ext Team are a great group of guys. Abe, again, congratulated me on the book, and invited me to sit in on the Industry Experts panel tomorrow. I&apos;ve had several people say they wished they had brought their copies of the &lt;a href=&quot;http://www.packtpub.com/learning-ext-js/book&quot; target=&quot;_blank&quot;&gt;book&lt;/a&gt; so Shea and I could have signed them for them. One attendee asked why &lt;a href=&quot;http://www.packtpub.com&quot; target=&quot;_blank&quot;&gt;PackT&lt;/a&gt; didn&apos;t have a booth setup somewhere, which is when I first noticed that their don&apos;t appear to be any outside sponsors for the conference. Ext appears to have financed the conference solely through the registration of the 200+ attending, which is pretty impressive considering the facility and it&apos;s services. On another note, ColdFusion has been publicly mentioned in several presentations, and with so many different server-side programmers represented here it is refreshing to hear so many comment that they should give ColdFusion a hard look.

And with that, I&apos;m going to pack it in for the evening and pray that the NyQuil does it&apos;s job to kick the junk out of my head. Tomorrow looks to be an exciting day, with Jack&apos;s keynote releasing Ext 3.0, sessions on User Experience Design, Theming, and Performance Optimization. I&apos;ll be posting updates to &lt;a href=&quot;http://www.twitter.com/cutterbl&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt; and my Facebook profile throughout the day. If you&apos;re here, make sure to come up and say hi. 
				</description>
				
				<category>Learning ExtJS</category>				
				
				<category>My First ExtJS DataGrid</category>				
				
				<category>ColdFusion 8</category>				
				
				<category>ColdFusion</category>				
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<category>AIR</category>				
				
				<pubDate>Tue, 14 Apr 2009 23:55:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2009/4/14/Ext-Conference-Day-1</guid>
				
				
			</item>
			
			<item>
				<title>Orlando Bound...</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2009/4/13/Orlando-Bound</link>
				<description>
				
				So, in about an hour I head to the airport to attend the first ever &lt;a href=&quot;http://www.extjs.com&quot; target=&quot;_blank&quot;&gt;Ext&lt;/a&gt; Conference in Orlando, FL. I&apos;ll be posting updates throughout the conference, both here and on &lt;a href=&quot;http://www.twitter.com/cutterbl&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt;. Jack Slocum and the Team will be releasing the long awaited 3.0, which looks to be a very compelling upgrade to the library. I&apos;ll be touching down around 6pm, and should get to the hotel sometime around 7 (I hope), so if you&apos;re already there look me up. 
				</description>
				
				<category>Learning ExtJS</category>				
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<pubDate>Mon, 13 Apr 2009 13:47:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2009/4/13/Orlando-Bound</guid>
				
				
			</item>
			
			<item>
				<title>Ext Core 3.0 Beta Released</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2009/4/4/Ext-Core-30-Beta-Released</link>
				<description>
				
				At an impressively lightweight 25kb, the new &lt;a href=&quot;http://extjs.com/blog/2009/04/04/ext-core-30-beta-released/&quot; target=&quot;_blank&quot;&gt;Ext Core 3.0 beta&lt;/a&gt; was released early this morning. With a detailed 75 page (if printed) manual, a number of ready made (and useful) examples, and an MIT license, Ext Core will be a major contendor in the Basic DOM and CSS manipulation space. Definitely worth a hard look. 
				</description>
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<pubDate>Sat, 04 Apr 2009 09:27:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2009/4/4/Ext-Core-30-Beta-Released</guid>
				
				
			</item>
			
			<item>
				<title>CF 8 and Ext: Presenting to Phoenix CFUG</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2009/3/23/CF-8-and-Ext-Presenting-to-Phoenix-CFUG</link>
				<description>
				
				March 25th, at 6:30pm MST (9:30 EDT, 8:30 CDT [Phoenix doesn&apos;t do Daylight Savings]), I will be presenting to the &lt;a href=&quot;http://www.azcfug.com&quot; target=&quot;_blank&quot;&gt;Phoenix ColdFusion User Group&lt;/a&gt; my presentation on &lt;b&gt;ColdFusion 8 Ajax and Extension with Ext JS&lt;/b&gt;. For those not in the Phoenix area, you can attend over &lt;a href=&quot;https://admin.adobe.acrobat.com/_a200985228/azcfugmarch2009extjs/&quot; target=&quot;_blank&quot;&gt;Adobe Connect&lt;/a&gt;. 
				</description>
				
				<category>ColdFusion</category>				
				
				<category>ColdFusion 8</category>				
				
				<category>ExtJS</category>				
				
				<category>Development</category>				
				
				<pubDate>Mon, 23 Mar 2009 13:26:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2009/3/23/CF-8-and-Ext-Presenting-to-Phoenix-CFUG</guid>
				
				
			</item>
			
			<item>
				<title>Development Ties</title>
				<link>http://blog.cutterscrossing.com/index.cfm/2009/2/19/Development-Ties</link>
				<description>
				
				On the last day of CFUnited 2005, a group of us were out on the patio having a final drink together. I got into a conversation with &lt;a href=&quot;http://www.clarkvalberg.com&quot; target=&quot;_blank&quot;&gt;Clark Valberg&lt;/a&gt; about linguistics. I was a translator in latter half of my time in the military, and Clark was asking if I thought my experience with learning another language had helped me in learning to be a better developer?

I absolutely agreed. I have an aptitude for languages, and always have. It&apos;s something I&apos;ve picked up, and I can generally get to a point where I can effectively communicate (at least on the simplest of terms) within a very short time. Programming isn&apos;t much different, if you think about it. When I first got into computing again, after leaving the Army, I was teaching myself ten different programming languages at the same time. I had a lot of catching up to do, being out of the game for so long, so I picked up some books, found online resources, and took to the task of getting up to speed.

Maybe that&apos;s why there are so many talented developers outside the US. In the US, we aren&apos;t required to learn another language out of necessity, whereas in most other countries of the world (not all, but most) it is very commonplace for people to speak two or more languages.

You can kind of apply this in the reverse, to some degree, as well. Those who only learn one development platform may be limiting themselves. Knowing one programming language inside and out can be a good thing, but learning others can also open a developer to new ways of approaching a challenge. I&apos;ve known many developers who knew a server-side language (ColdFusion, ASP, PHP, whatever), but never bothered to learn JavaScript, or how to write well formed XHTML. To me, that&apos;s limiting. Even crippling.

What are your thoughts? 
				</description>
				
				<category>ColdFusion</category>				
				
				<category>Development</category>				
				
				<category>Who I Am</category>				
				
				<category>ColdFusion 8</category>				
				
				<category>ExtJS</category>				
				
				<category>My 2 cents</category>				
				
				<category>JQuery</category>				
				
				<pubDate>Thu, 19 Feb 2009 08:53:00 -0400</pubDate>
				<guid>http://blog.cutterscrossing.com/index.cfm/2009/2/19/Development-Ties</guid>
				
				
			</item>
			</channel></rss>