Wednesday, April 27, 2011

CF Builder Express Edition - Yeah, It's free!

Some big news from Adobe was released today: ColdFusion Builder will now have an express edition. What this means is that after your CFB trial expires, you will be able to continue using Builder save a few features that will be disabled. It is up to you to determine if those features are worth the $300 price tag.

Here are some of the features that will not be available in the free edition:

  • Code Assist for Extensions
  • Code Insight
  • Extension Callbacks
  • Connections to remote CF Servers
  • Quick Fix
  • Remote Project Debugging
  • Refactoring
  • ColdFusion Search
  • Code Formatting
  • FTP Support
  • Log Viewer
  • Local File Browser
  • Code Hyperlinks
  • Hover Help

For me, I use some of those features and the time savings is worth the $109 upgrade price. You'll have to make that decision for yourself, but regardless, CFB Express is still full featured.

Here is a link to all ColdFusion Builder 2 Features for comparison.

Friday, April 8, 2011

CFServant: Instant Service Tier - Episodes 1 and 2

This post is meant to show how quickly you can deploy a service tier with CFServant.  My goal with writing CFServant was to make deploying CF as a service tier simple.  Well, I don't think it gets easier than this!

I'm new to Jing, so these videos are large (in resolution). They are linked below.

Episode I:
Basic Service Object Creation

Episode II:
Basic DAO Usage (also shows load() method)

One thing I should've done in the last video is call the load() method with a new ID instead of no ID. What this would do is return a new object with the specified ID set.

My next video will show the Remote Proxy, which is where I really think people will get excited about CFServant. Enjoy!

Thursday, April 7, 2011

New ColdFusion OSS Project Launched

In my last position I had some interactions with Ruby on Rails.  I was impressed by Rails and how quickly I could get a service tier up and running.  There were some things with setting up the Active Records that kinda irritated me though, and I could honestly care less about scaffolding.  Ever since that project I've been wishing I had something similar in ColdFusion.

Most of the applications I write anymore have a detached service tier and generally have a few different clients that hit those services.  More often than not I'm seeing the same methods over and over, and my mind returns to the stuff I saw in Ruby on Rails.  I've always been a big proponent of a RESTful interface, but at the same time I didn't always write my clients to utilize a RESTful interface.  I always created a bunch of methods that called similar a similar API though, like get(), put(), post() and delete().

Enter ColdFusion 9.  CF 9 provides CF ORM, a native implementation of Hibernate.  This allows us to do all sorts of cool stuff.  It permits us to provide common beans for each of our application objects.  Before, this would have to be completed with some mishmash of other techniques.

To that end I've created CFServant.  It serves two purposes.  The first is to create a bunch of generic service methods that allow you to stand up services for each of your CF ORM beans quickly.  By quickly I mean with two attributes added to your service CFC.  Instantly you'll have methods like get(), put() post() and delete().  The second purpose is to provide a remote proxy.  This proxy provides a remoting API that can be used from clients built in HTML and JavaScript (Ajax).  Any ORM bean you have a service defined for can now be accessed automatically by calling the getObjectName() method on the service proxy.  If I wanted to get all Users, I'd call getUsers().  Want a single user with the ID of 1?  Call getUser(1).  Everything is extensible so you aren't tied to the native implementation.

I plan on recording a video series on how this all works, but go check out the CFServant wiki for lots of information.