ColdFusion 8 (Scorpio) is Coming
It seems this is the first week ColdFusion 8 is hitting headlines everywhere — and it’s still in a closed beta! I’m sure it won’t be long until there’s a public beta, but until then there are a slew of released features from official usergroup presentations and Ben Forta’s blog. Here’s a quick highlight tour of what’s been announced so far.
Yesterday a article about 9 ways ColdFusion 8 will rule web development somehow beat the odds and made it to the front page on Digg — only to be marked down as inaccurate and removed. The comments are riddled with “LOL ColdFusion sucks” comments left and right which would be more offensive if anyone actually gave valid points. It’s the same old reasons everyone seems to repeat — Adobe will discontinue support for CF, it’s slow, it restarts randomly, it was slow for Myspace (which everyone seems to quote) and the usual “I’ve worked with ColdFusion legacy code and it sucks”. I’ll save a rant on ColdFusions image for later, but suffice to say marketing CF8 to that group is going to be a straight uphill battle. The article details a number of exciting features.
Create AJAX windows, auto complete forms, calendar popups, grids, WYSIWYG editors, and much more. All using simple ColdFusion based tags and generating industry standard solutions such as Prototype and Yahoo User Interface Javascript.
Native JSON support. ColdFusion components now know if they are called by a web browser and will return JSON formated data automatically. You can also create JSON packets directly or consume them and turn them into native ColdFusion objects.
Native image manipulation functions. Blur, sharpen, draw, rotate, stream to browser, and much much more. This finally brings ColdFusion’s image support in line with PHP and other frameworks while keeping it so simple that even I could use it.
Ben Forta describes the how Scorpio Makes Exchange Integration Too Easy as well as a few examples of Scorpio Per-Application Settings which were previously unreleased. The lack of per application mappings have long been an issue in shared hosting, so that might also help the drive towards wider adoption at a lower price point. A month ago Ben Forta mentioned Scorpio’s Ajax Data Grids using the <cfgrid> tag. These grids can now bind to a cfc to obtain their data and be loaded via ajax — all by just using the tag! This also offers sorting and paging of course, making it similar to the flash forms version of cfgrid. Lastly he mentioned how you can now include autosuggest for the <cfinput> tag. Basically you can pass in a list of items to feed the list or bind it to a CFC. The end result looks something like this:
[cfm]
autosuggest="apple,banana,lemon,lime,mango,orange,peach,pear" />
autosuggest="cfc:fruit.getFruit({cfautosuggestvalue})" />[/cfm]
The first example limits what can be suggested to the list of items, while the second goes out and fetches a list from a cfc when the input changes. I’m sure more in depth examples are coming that will expand on this feature, but as it stands now it’s easy enough to implement. This does mean creating a cfc in your model for this, but what if that can be delegated to a framework like with Ruby On Rails? Here’s an autocomplete example in Rails from Slash7.com.
# view[ruby]<%= text_field_with_auto_complete :contact, :name %>[/ruby]
# controller [ruby]auto_complete_for :contact, :name[/ruby]
The text_field_with_auto_complete has two arguments, one for the model (contract) and one for the method/column you’re wanting (name). In this case Rails does the rest of the work for creating a method that controller. This would hit a page like http://localhost/contact/auto_complete_for_contact&name=enteredText (not sure if that’s it exactly, but you get the idea). Rails uses that auto_complete_for :contact, :name line to create the “auto_complete_for_contact” method which can be overridden should you want to handle the autocomplete in your own way. Something like this could easily be built on top of the new ajax form helpers provided in CF8, without even having to write the underlying Javascript integration.
Sean Corfield also mentioned his Scorpio talk at CF Objective on Ajax Integration. There are still 3 CF.Objective() Scorpio sessions which are so far unreleased.
I’ve long favored Ajax, so I’m impressed to see the integration they’ve completed so far. I look forward to seeing what the rest of the world thinks of all these features as well, assuming they look past the title of the posts.
If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.




Comments
Leave a comment