Extending Ext With Ext Extensions

I was just browsing the Ext Extensions labs and I have to say I'm quite impressed. Some of these things are not quite ready for prime time, but will be very useful when they are finally released. Of particular interest to me are the FileTree Widget (check out that right click (context) menu!) and the Upload Form.

Comments
Todd,

How would you use something like the file upload EXT form with CF8?

This is so way over my head, but I am trying to learn, or at least pretend to myself that I am learning.
# Posted By Cyrill | 9/3/07 12:01 PM
@Todd: Just remember that CF8 wasn't packaged with Ext v1.1 and as such, some extensions may not work 100%.
# Posted By Rey Bango | 9/3/07 7:31 PM
@Cyrill: The file upload isn't released yet, but when it is I intend to see if I can get it working...

@Rey: What version was it packaged with - I keep forgetting?
# Posted By todd sharp | 9/3/07 7:43 PM
Ext v1.0
# Posted By Rey Bango | 9/3/07 7:52 PM
I wonder if Adobe will release a coldfusion updater with ext 2.0 when it comes out shortly? Rey?
# Posted By Chris Dawes | 9/4/07 12:09 AM
Was the title of this post intended to be a tongue twister?
# Posted By Brian Rinaldi | 9/4/07 8:52 AM
Yes. I couldn't think of a better one. Hey I don't sleep anymore give me a break.
# Posted By todd sharp | 9/4/07 9:55 AM
Maybe it's just me, but after a quick look at Ext-JS and jQuery, I feel very comfortable working directly with the JS frameworks rather than using the CF 8 tags. I get that the CF8 tags make it a no brainer for people who don't want to have to learn any JS (making things easy), but for my needs I'd rather take the time to learn and use the latest versions of the frameworks rather than living with the limitations of the packaged versions in CF8.

This is NOT TO KNOCK the CF8 tags, but it just doesn't seem that much work to "get" the frameworks and to implement them exactly the way you want, with control over the exact properties and versions and just wrapping them in functions/custom tags.

Anyone else feeling the same way?
# Posted By Peter Bell | 9/5/07 11:48 AM
Even the cfajaxproxy which I thought would be perfect, I've replaced with a REST style interface to my model that speaks both JSON and XML, making it easy for me to write JS to download or upload data.
# Posted By Peter Bell | 9/5/07 11:49 AM
"Anyone else feeling the same way?"

I've _started _ to slightly lean in that direction. The learning curve may be a bit steeper, but it does seem that tapping directly into the framework allows for greater control and comprehension. At the same time you can not argue with the power of a tag such as <cfgrid> or some of the others. The ease of CF 8 to provide Ajax containers (div, windows, etc) is also very appealing.

I guess my feeling is that I'll probably use the CF8 stuff as well as tapping directly into one of the JS/Ajax frameworks - depending on the application... They both seem to have advantages and specific use cases to me.
# Posted By todd sharp | 9/5/07 2:50 PM
@Peter: Completely agree. Each version adds more of these interface widget options (first java applets, then Flash, now Ajax) but in 10 years of CF development I've yet to use any of them. The reason: I want full control over what gets sent to the browser and how it behaves. I'm more than happy to delegate to "black box" services on the server side (this is CF's strength), but I still feel that client side coding is a craft and can't bring myself to hand that over to the server.

I think the reasons are partly aesthetic (view source), but there's a practical aspect too: client code needs to be readily adaptable and JS etc that's been baked into the server, however 'correct' and 'efficient' it might be at the time, isn't.
# Posted By Julian Halliwell | 9/6/07 3:48 AM
@Peter: On the nose, man. On the nose. It's a trivial matter to include the source code for any library on your own pages in your own applications so you're not tied to Adobe's upgrade schedule or supported libraries.

Using the packages isn't necessarily trivial, but I'm of a mind that web application developers should have some degree of competence with JavaScript. It *is* a pretty fundamental language for web development.
# Posted By Rob Wilkerson | 9/6/07 8:59 AM
@Rob & Julian:

Are you saying you won't touch _any_ of the built in CF 8 stuff?
# Posted By todd sharp | 9/6/07 9:44 AM
My opinion is this:

I consider myself a semi-smart guy - but many of the JS frameworks out there (excluding Spry) seem to be unnecessarily difficult. It's like they went out of their way to make them hard. This isn't to say they are bad. Just that they aren't always so easy to use. So I will use CF's built in stuff, but I'll probably also use frameworks by themselves as well. I think these new tags will GREATLY increase the amount of Ajax work the "common man" can do. Those of us who are already comfortable with them though may not find it as useful, but I know for a fact (ok, I believe it strongly) that we are the minority when it comes to CF users.

Peter - I'll call you out though for saying cfajaxproxy isn't perfect. I love that tag. Don't forget that you can use it "bind mond" which would make it easy to speak to a REST interface.
# Posted By Raymond Camden | 9/6/07 9:51 AM
@Todd : Probably not. Call me a segregationalist (I just made that up), but I'm a little uncomfortable with ColdFusion entering the UI space (and I consider AJAX more of a UI function). In my mind, it blurs the line I like to draw between the view and the controller, if you will.

It's also one more dependency I have to contend with when I need/want something provided in a later version of the library. I don't want to have to wait for Adobe to find the time to put together an updater.

I like easy, I really do, but sometimes I think "easy" can be a synonym for "crutch". It's one thing to abstract and simplify low level functionality like database connection pooling. It's another thing to abstract and simplify how my interface is painted, etc.

Again, that's just my view of things. There's simple implementation and there's simple maintenance and this just sounds like a potential maintenance issue. I may be proven wrong over time.
# Posted By Rob Wilkerson | 9/6/07 9:54 AM
@Ray, I agree that developers who are comfortable with JS are in the minority in the CF world. That's the beauty of CF - it makes stuff you don't care about easy and that is why the CF AJAX tags are great for those who want to use them.

I'll have to play more with cfajaxproxy, although to be honest, calling a REST interface in jQuery seems so easy I'm not sure if it'll be worth adding, but I'll definitely play with it and see what I may be missing!
# Posted By Peter Bell | 9/6/07 9:58 AM
@Todd, I'm pretty much with Rob. My main concern is with versioning issues if I start using the CF AJAX goodness. As a side benefit, if I wrap up my own custom controls/plug-ins using something like jQuery, I could reuse them across different scripting languages and as I need to eventually be able to deploy to n-scripting/programming languages (e.g. Ruby, Python, C#) that's a useful benefit for me.
# Posted By Peter Bell | 9/6/07 10:00 AM
@Todd: Exactly what Rob said. Never say never, but tempting though this stuff seems, it just makes me uneasy.

@Ray:
You obviously haven't tried jQuery. John Resig et al definitely went out of their way to make it simple to use. But I'm sure you're right about the likely popularity and usefulness of the CF UI stuff, and like Peter and Rob, I'm not saying it shouldn't be there - just that it doesn't fit with the way I like to work. Which is fine: I've never been forced to use it.
# Posted By Julian Halliwell | 9/6/07 10:22 AM
@Ray : I'm not sure I understand the complexity argument. I've never considered myself a JavaScript expert, but the libraries I've used (jQuery, Prototype and, to a lesser extent, EXT) make it pretty easy. Actually, *really* easy. AJAX, event listeners, DOM manipulation...all that stuff is just so easy.

Maybe my stance is a result of my own ignorance, though. The truth is, I haven't spent a lot of time with CF8 so maybe my concerns - at least around the separation of the view - are unfounded. The versioning issue is one that can't be argued, I don't think. It may not be applicable or important to some, but it's definitely a dependency that has to be recognized.

Back to the separation, though, how do you maintain that line when your application code is managing your interfaces and your event-driven communication?

I mean that as an honest question. My concerns right now are more philosophical/academic since I haven't spent any time working with CF8. If they're misguided, I'd like to understand.
# Posted By Rob Wilkerson | 9/6/07 10:23 AM
@Rob - It may just be different minds. ;) Frankly I found Ext hard to follow. For example, they like to do everything in one function on startup in some of the examples, and I found that hard to follow. I know it _works_, but I'd like simpler demos at least while learning.

Personally - I don't see the use of CF8's UI stuff as breaking any separation. It doesn't prevent MVC. If my view had a table, then now it can have a cfgrid. The data _behind_ the grid would be provided via the controller.
# Posted By Raymond Camden | 9/6/07 10:26 AM
@Rob:

I've used CF8 stuff in my most recent MG app - for example a dynamic source window may look like this:

<cfwindow source="#myself#getWindow" />

You're still routing the event through the controller, so it doesn't break the seperation...
# Posted By todd sharp | 9/6/07 10:34 AM
@Ray : Okay, I'll grant you that EXT is a little more difficult than the others. :-) I think the nature of its complexity is that it just does so damn much.

I see what you're saying about maintaining the view, but somewhere in my head bells are going off to indicate some sort of dilution or pollution of the concept. I'm not sure I can articulate it at the moment, but I'll try to put some thought into it. Maybe we're just back to that ignorance thing again. :-)
# Posted By Rob Wilkerson | 9/6/07 10:34 AM
Which is the same as:

<cfwindow source="index.cfm?event=getWindow" />
# Posted By todd sharp | 9/6/07 10:35 AM
# Posted By todd sharp | 9/6/07 10:38 AM
@Todd :

I did see that and it makes some fundamental sense. Maybe what I can't get past is the simple fact of a server-side language writing my client-side markup. Scripting it is one thing, writing it for me feels wrong, I think.

That said, I think you all have made convincing arguments that my separation concerns are, at the very least, less substantial than I originally thought.

Nonetheless, because of my versioning issues and my hangup with who's writing my code and how, I'll probably still stick to writing my own JS. :-)
# Posted By Rob Wilkerson | 9/6/07 1:02 PM
@Julien - I have not - and Rey asks me about once a week to check it out. ;) It's close to the top on my list of things to do when I have time. ;)
# Posted By Raymond Camden | 9/6/07 6:25 PM
@Ray,

Try it - I think you;'re gonna like it. The book is pretty good too . . .
# Posted By Peter Bell | 9/6/07 6:39 PM
Tax Relief - For Travel Nurse On Per Diem ... Visit us at our website for money saving Tax Debt Tips and Strategies
http://annagalvan.freeweb7.com/nursing4073.html nursing
http://berthalittle.domaingler.com/debt2048.html debt
Educational Debt Reduction Program Nursing, navy nurse corps anesthesia program, rn work online positions, union university nursing program jackson tn, course online nursing
# Posted By Qwerty | 7/16/08 11:36 AM
Scholarships keep Duke Nursing's average class debt manageable, allowing flexibility for students to pursue their passions and talents.Faculty Loan Repayment Program is a federally funded program that helps disadvantaged faculty in the health care professions, including nursing faculty, repay student loan debt.

http://mamary.8tt.org/debt2180.html
http://mamary.ourfreewebhosting.com/nursing341.htm...
http://mamary.hostaim.com/nursing829.html
http://mamary.justfree.com/nursing6614.html
http://mamary.seitenclique.net/nursing1414.html
http://mamary.rack111.com/nursing4858.html
http://kennethbland.freehyperspace3.com/nursing970...
http://mamary.8tt.org/nursing910.html

A big nursing home operator is plunged into financial crisis. Why does Southern Cross's tale feel familiar?
And more importantly, what will this mean for those trusts who are going further into debt? Will more nursing posts be lost or is this not really possible?

http://mamary.justfree.com/debt4116.html
http://patrickdunn.hostedwith.us/nursing9311.html
http://mamary.obxhost.net/nursing2282.html
http://patrickdunn.hostedwith.us/nursing734.html
http://mamary.freehyperspace3.com/nursing9786.html...
http://patrickdunn.hostedwith.us/nursing3201.html
http://mamary.obxhost.net/nursing6636.html
http://mamary.8tt.org/nursing9221.html

Nursing in Practice – hundreds of best practice articles, daily news for primary care nurses, comment and video presentations.Obstetrics And Gynecology Nursing Education Programs, Hospital Rn New Grad Program, Future Technology In Nursing Education, Lippencott Nursing Online, Obstetrics And Gynecology

http://mamary.obxhost.net/debt4046.html
http://migdaliawashington.hostevo.com/debt1924.htm...
http://mamary.omgfreehost.com/nursing8216.html
http://benjamindevane.aokhost.com/nursing8530.html...
http://michaelkirby.seitenclique.net/debt2075.html...
http://michaelkirby.seitenclique.net/nursing6721.h...
http://mamary.obxhost.net/nursing8497.html
http://mamary.ourfreewebhosting.com/nursing2559.ht...
# Posted By Sasha | 8/5/08 5:24 PM

Calendar

Sun Mon Tue Wed Thu Fri Sat
     12
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31       

Subscribe

Enter your email address to subscribe to this blog.

Tags

actionscript ajax blogging cfsnippets coldfusion flash forms flex funny stuff misc model-glue off topic personal project learn slidesix sql

Recent Comments

Adding Auto Generated Code Downloads to BlogCFC
ada5fsa said: http://www.mountwashingto... http://extjs.com/forum/me... h... [More]

BlogCFC Survey #2
ada5fsa said: http://www.mountwashingto... http://extjs.com/forum/me... h... [More]

Most Difficult Captcha Of All Time
kokkooo said: [url=http://synchrophase.info/...]消費者金融 ブラック[/url] [url=http://geji-geji.com/]消費者金融ブラック[/url] [url=http... [More]

Most Difficult Captcha Of All Time
kokkooo said: <a href="http://synchrophase.info/...">消費者金融 ブラック</a> <a href="http://gej... [More]

Using A PlayStation 2 HDD In Your PC
Vodin said: Well dang. Thanks man, my uncle who owns a Video Game shop had a PS2 harddrive in the junk box, I sn... [More]

RSS


coldfusionbloggers

FullAsAGoog MXNA

Consumed By Feed-Squirrel.com