An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

Entries for month: May 2007

John Farrar on COOP - a framework for forms

May 31, 2007 ·

John Farrar presented COOP (pronounced co-op apparently) to the Online ColdFusion Meetup Group today. COOP is a small framework that makes it very easy to create forms where all the control logic and validation is handled behind the scenes by a CFC. It's a work in progress right now and John is looking for feedback from the community but it's a pretty slick separation of logic and data from the actual form structure. You can watch the recording of his presentation (listed on Charlie Arehart's UGTV site). You can read more about the project, as well as downloading the code, on the COOP project page on RIAForge.

Tags: coldfusion

ColdFusion 8 Public Beta

May 29, 2007 ·

Get it while it's hot!

Tags: coldfusion

Scorpio is ColdFusion 8

May 29, 2007 ·

Adobe <labs> just moved all of the Scorpio pages over to new ColdFusion 8 pages. Hmm...

Tags: coldfusion

Fusebox Video Contest

May 26, 2007 ·

Make a "Fusebox app in ten minutes" YouTube video and win a pass to CFUNITED! See the Fusebox website for more details!

Tags: cfunited07 · coldfusion · fusebox

CFUNITED Session Schedule

May 25, 2007 ·

You can pick all your sessions online using the CFUNITED Scheduler - very slick, lots of AJAX-y goodness! I just finalized my schedule and, somewhat to my surprise, my session choices are nearly all Flex! So I guess you could say CFUNITED is a great conference for learning about Flex :) Here's where I'll be:
  • Wednesday
    • 8:00am - Welcome - Michael Smith et al (KN)
    • 8:30am - Adobe Keynote - Ben Forta (KN)
    • 10:15am - Flex 101 - Ted Patrick (FL)
    • 11:30am - Leveraging ColdSpring to build robust Flex applications - Chris Scott (FL) - Yes, I know I saw this at cf.Objective() - it was a good session!
    • 2:00pm - Integrating Spry and ColdFusion - Andrew Powel (FL)
    • 3:15pm - OO Flex: An introduction to the Flex Framework - Andrew Trice (FL)
    • 4:30pm - Using the Adobe Flex toolkit for Salesforce.com - Steve Rittler (FL) - Because I missed it at cf.Objective()!
    • 6:00pm - Networking Event
    • 8:00pm - Solo Coding - Charlie Arehart, Chaz Chumley, Mark Drew (BOF)
    • 9:00pm - Apollo and Flex fears debunked - Andrew Powell (BOF)
  • Thursday
    • 8:30am - Testing CF Applications - John Paul Ashenfelter (ME)
    • 9:45am - Continuous Testing with Flex and ColdFusion Projects - Thomas Burleson (FL)
    • 11:30am - The Future of BlueDragon and CFML - Vince Bonfanti (KN) - Very interested to see progress on their "IronDragon" / DLR project!
    • 1:45pm - Prototyping Applications with Flex 2.0 (FL) - Should this be 2:00pm I wonder?
    • 3:15pm - AJAX Integration with ColdFusion 8 - me! (AC)
    • 4:30pm - Using MVC with Flex/ColdFusion projects - Thomas Burleson (FL)
    • 7:00pm - CF Celebration - Top Secret!
  • Friday
    • 8:30am - Ins and Outs of working with XML - Erik Goodlad (AC)
    • 9:45am - Flex and Ajax: perfect match - Rob Gonda (FL)
    • 11:00am - ColdFusion 8: Application Security - Adam Wayne Lehman (AC)
    • 1:30pm - Flex Charting Explained - Rob Rusher (FL)
    • 2:45pm - Pragmatic ColdFusion: Build, Test, Deploy - John Paul Ashenfelter - (DP)
    • 4:00pm - Q & A Panel Session
  • Saturday (my non-Flex day!)
    • 8:30am - Step Debugging in CF 6/7/8 with FusionDebug or the new Scorpio - Charlie Arehart (BC)
    • 9:45am - Working with RSS in ColdFusion - Pete Freitag (AC)
    • 11:00am - ColdFusion 8: Integrated Flex Data Services (AC) - It's a bit Flex-y :)
    • 1:30pm - AJAX Integration With ColdFusion 8 - me again! (AC)
    • 2:45pm - Are You "Cashing In" on Caching? - Tyson Vanek (DP)

Tags: coldfusion · flex · cfunited07

Railo - a first look

May 23, 2007 ·

So I looked at Smith Project a short while ago. I decided to download and install the new Railo 1.1 Beta today to see what it has to offer. I downloaded the Railix "Live" Linux install and then just edited the start/stop scripts to use the Mac OS X Java install instead of the one packaged with Railo (easy: remove jre/bin/ before java in each script; you may also need to change bash to sh in the #! line in each script). First thing I noticed: Railo 1.1 is fast! It starts in just four seconds and seems to be very fast running most of my standard sample apps. It happily runs Fusebox 5.x and doesn't seem to have a problem with ColdSpring either (I haven't tested that extensively yet). Railo claim Model-Glue and Mach II run well and so far I have no reason to doubt that. Transfer ORM is beyond Railo's reach due to reliance on coldfusion.runtime.* Java classes. What impressed me most, however, was what I found in the admin console. Some of it has not yet been localized (so it's a bit odd to see a mix of English and Deutsch on some pages) but you can configure a lot of behaviors within the compiler / runtime system. You can configure the engine's locale, timezone and time server. You can also configure the default character set used for template files, rendered HTML and for "resources" (more on that below). For components, you can configure what the base class CFC is - so you can use the built-in Component.cfc or a base class CFC of your own. You can choose which template is used to auto-generate documentation, allowing you to override the Railo default. You can also choose whether THIS scope behaves as PUBLIC (like CFMX) or PRIVATE, PACKAGE, REMOTE. You can also have Railo automatically invoke getXxx() / setXxx() when you access xxx as a direct property which I know a lot of people will like (I'm a little sketchy on exactly how this works since the option hasn't been localized yet in the admin!). There are a number of options for controlling scope behavior, including a "strict mode" that only scans VARIABLES scope for unqualified variable names (presumably if not found in VAR scope?). You can turn session scope and client scope on and off in the admin which is also nice. Railo implements script-protect and you can control the defaults in the admin. You can also control the search behavior for Application.cfc and Application.cfm / OnRequestEnd.cfm. All of the above applies to the web administration console. Railo has the idea of a server administration console and then a separate web administration console for each "web" installed. The server admin provides defaults for every web (that can all be overridden obviously) as well as a number of per-server settings. At a server level, you can have the server automatically update itself from the Railo website. You can restart the server (useful if you don't have easy access to the box). You can manage all the security access for each individual web, disabling various sections of the admin for web users in general or for specific web contexts. Some of this is a bit like sandbox security in CFMX (but not as sophisticated in terms of file system access). I can imagine this level of control being very appealing to some developers although the impact on framework behavior needs to be very carefully weighed with some of these features, I suspect. I mentioned resources above and that needs a little more explanation. The idea behind resources is that several tags can take a "resource" URI rather than just a file path. A resource can be a local file path, an FTP file path, a datasource or an in-memory space. This allows you to transparently copy a file from a remote FTP server to storage in a database, for example, using just CFFILE. It's a fascinating idea. For more details, read Railo's documentation (you probably have to create an account and login to access this).

Tags: coldfusion · railo

Fusebox polls - update

May 23, 2007 ·

The Fusebox 5 mailing list is still running two polls right now:
  • Should the next major version of Fusebox be 6.0, 5.5 or 5.2?
  • Should the new version get its own mailing list or should the current list be renamed to something more generic?
If you have an opinion about either of these, join the Fusebox 5 mailing list and vote in the polls. The voting is almost unanimous in the second poll: we will change the name of the mailing list within the next couple of months to be less "5-specific" regardless of the actual version number decided for the Summer release of Fusebox. In the first poll, about 30% want Fusebox 6.0, 20% want Fusebox 5.2 and 50% want Fusebox 5.5. I'd like to see a clearer indication before I make a decision on numbering so please go and vote! A semi-private Alpha of the next release will be made available to that mailing list soon - probably early May. The plan is to make a public Beta available at CFUNITED where the all-new Fusebox website will also be officially unveiled).

Tags: cfunited07 · coldfusion · fusebox

PostgreSQL on OS X

May 22, 2007 ·

I hear so many good things about PostgreSQL that I figured I ought to try it out. That and I have a consulting project that requires it. Checking the PostgreSQL site, I see no OS X distribution so I Google and find this Apple Developer Center article on PostgreSQL. My first reaction is "Oh, come on! There has to be an easier way!". Brandon Harper pointed me at PostgreSQL Tools for MacOS X on SourceForge. I download the developer kit and the tools but the installation only seems to be partial so after half an hour of pfaffing around, I go back to Apple's page. It actually wasn't as painful to get it all installed as it looked (I was just being lazy). So now I have PostgreSQL 8.2.4 running locally. Yay! Any hints and tips for a new PostgreSQL user?

Tags: osx · oss · coldfusion

Are you really using ColdSpring?

May 21, 2007 ·

Brian Kotek has an excellent post about using ColdSpring to its full potential, in response to a series of articles on Tom Chiverton's blog about building services with ColdSpring and Reactor. Brian shows how to use the factory-bean and factory-method descriptors in your ColdSpring XML file to handle automatic injection of beans obtained from factory objects that are also managed by ColdSpring. It's a powerful technique that helps completely remove a number of dependencies from your application code. I use the same technique with Transfer and ColdSpring:
<bean id="dataSource" factory-bean="transferFactory" factory-method="getDatasource" />

<bean id="transfer" factory-bean="transferFactory" factory-method="getTransfer" />
This allows me to inject the data source object and the main Transfer API object directly into my service layer objects so they don't have to know about the Transfer factory at all.

Tags: coldspring · coldfusion · orm

Adobe Exchange - HTML!

May 18, 2007 ·

This should make a lot of people happy: the Adobe Developer Exchange has just launched an all-new HTML user interface as a beta. If you hated the all-Flash UI of the developer exchange (which has been around for nearly four years now!), then you'll want to check out the new HTML version!

Tags: coldfusion · adobe