ColdFusion Builder 2 Beta

About two and a half years ago, I got my first look at something called “Bolt.” It was an early alpha of what would go on to become ColdFusion Builder. I remember thinking, nothing could get me to switch IDEs. Two years later, I can’t believe I ever lived without it.

That’s why I’m thrilled to join in announcing the ColdFusion Builder team is releasing Coldfusion Builder 2 Beta to Labs today.

ColdFusion Builder has a ton of cool features, and I’m sure the usual suspects will give you a complete run down. But I’ll focus on what they’ve done to win me over with this release.

First, they focused on making it not just an editor, but an extremely productive one. More shortcuts are available, those shortcuts are more configurable, and you can create your own.

One of my favorite new features is called Quick Fix, which is a little hard to explain, but awesome when you get it. Let’s say you’re working in a file, and you know you need a function down the road but don’t want to stop your flow to go off and write it. So you write the call out, and your editor gives you red squiggly lines telling you that the function is undefined. But ColdFusion Builder gives you a yellow squiggly. This isn’t that exciting, except that when you see a yellow squiggly, you can hit a shortcut and get the option to generate that function. ColdFusion Builder will then generate the function definition for you, including typing any arguments in it based on what you passed into it when you wrote the call. Very cool, very productive. It’s also not limited to just functions. You can create standalone functions this way, or functions in existing CFCs, or even CFCs.

Finally, my favorite feature from ColdFusion Builder 1 is getting an upgrade. ColdFusion Builder Extensions have gotten some cool treatment from the team. There is tons more interactivity between the server and the IDE. Extensions can now launch in views, instead of a modal box. Finally, extensions can even add their own custom Code Assist.

All of these features and more are available for download today on Labs. Get it, try it out, and get more productive, today.

Go get it at http://adobe.com/go/cb2.

Get Apptacular

We’ll be releasing Apptacular soon on labs.adobe.com, but I’m tired of saying “It’s coming soon.”

You want Apptacular: Go get it: http://bit.ly/Apptacular

If you have any issues, please report them using this site: http://bit.ly/ApptacularIssues

If you want to participate in building Apptacular, you want to look at the source, and tests, etc. Check it out on GitHub: http://bit.ly/ApptacularGitHub

If you want to know more about what Apptacular can do for you, check out these tutorial videos:

ColdFusion Builder Update 1

I’m proud to say we released ColdFusion Builder Update 1 today.

You can read the release notes for yourself, but the small picture here is that we fixed a bunch of bugs. Most were related to performance or usability. The big picture is that the team kept its promise of faster updates for CFBuilder than we’ve seen from the ColdFusion team before. It’s been 3 months since we released CFBuilder and despite working on ColdFusion 9.0.1 and Storm, the team came through with an update.

In order to run the update, you must use the Adobe Updater. To update:

From the Help menu, select Adobe ColdFusion Builder Updates. The updater files are downloaded and silently installed.

Important Notes:

  • If you are on Windows 7 or Windows 2008 Server, you must run ColdFusion Builder as an administrator to run.
  • If you have issues with update on CFBuilder as a plugin, close Eclipse and relaunch with the –clean option.
  • This will run the Adobe Updater for all of your Adobe software, not just CFBuilder.

ColdFusion European Tour

After Scotch on the Rocks, Ray Camden, Ben Nadel, Claude Englebert , Alison Huselid and myself are going to tour around Europe, spreading the ColdFusion goodness to the continent. I for one can’t wait.

Here’s our schedule:

Brussels – May 26, 7PM
Adobe Belgium – Culliganlaan 2F, Diegem
More Info

Amsterdam – May 27, 5.30PM
Adobe Systems Benelux B.V. – Europlaza, Hoogoorddreef 54a, Amsterdam
More Info

Munich – May 28, 5.30PM (Ben Nadel, Terry Ryan)
Adobe Systems, Georg-Brauchle-Ring 58, 80992 München
More Info

Zurich – May 28, 18PM (Ray Camden, Alison Huselid)
Technopark, Technoparkstrasse 1, 8005 Zürich
More Info

Apptacular, onProjectCreate, and Annoying Database Conventions

Sorry for the MeatLoaf-esque title, but I have a video demo that shows off some new features of both ColdFusion Builder extensions in general, and Apptacular in particular.

onProjectCreate

One feature of extensions that hasn’t been getting any play is the fact that you can wire up your extensions to run after a project is created. At the end of the New Project Wizard you can choose from a list of all of the extensions that have this enabled, and run anything an extension can do. This is really cool for starting up your projects with your preferred structure and style right from the get go. The video demo shows running Apptacular in this manner.

Prefixes

ORM and databases are great together, but sometimes database conventions run afoul of ORM best practices. Take table prefixes for example. Having a table with tbl_user makes some sense on the database side, it’s basically Hungarian notation for tables. (I’ve also seen people append the schema name to the table, as in the video.)

As necessary as it may be on the database side, it’s a big pain on the ORM side. We don’t want to work with a tbl_user object, we want to work with a user object.

Apptacular allows you to set a prefix that you can have removed from any of your tables. In this case it will convert the table tbl_user to the ORM entity user. Very handy, and saves a lot of work.

Plurals

The other convention that gets in the way of generating ORM content from the database is plurals in tables. So table users should translate to the ORM entity user. I’ve added a checkmark option that will try and do that for you.

So these options combine to make writing clean, readable ORM from databases with these conventions really quick and easy. Check out the video to see this in action.

http://vimeo.com/moogaloop.swf?clip_id=10526198&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00ADEF&fullscreen=1

Apptacular ColdFusion Builder Extension – onProjectCreate, prefixes and depluralizing. from Terry Ryan on Vimeo.

Adding Spacers to ColdFusion Builder Menus

One of the things missing from ColdFusion Builder Extensions is the ability to make spacers in your menu items. This makes it a little hard to organize menu items.

But it turns out that you can add handlerless menu items. I have posted sample SML below.

Unfortunately, they are still clickable but because they don’t have a handler they don’t do anything. So it’s not a perfect solution, but it does make it a little easier to organize your menu options.

 

<contribution target=”projectview” >
<menu name=”Apptacular”>
<action name=”Regenerate Application” handlerid=”generate”></action>
<action name=”——————————” />
<action name=”Create Application” handlerid=”handlerCreateProject”></action>
<action name=”Edit Application Configuration” handlerid=”editConfig”></action>
   <action name=”Edit Database Data Model” handlerid=”editDB”></action>
<action name=”Edit Item Data Model” handlerid=”configtable”>
<filters>
<filter type=”file” pattern=”.*.cfc” /> 
</filters>
</action>
<action name=”——————————” />
<action name=”Prune Excess Files” handlerid=”purge”></action>
</menu>
</contribution>

ColdFusion Builder Extension Won’t Install But Will Import

I’ve run into this problem quite a bit, and it came up on a post about Ray Camden’s ORM Scanner.

So the conditions are:

  • User tries to install extension
  • Install option does not work
  • They unzip the file
  • User imports the extension
  • The extension works

Two subtle pieces of information that don’t always get reported:

  • Extension user on Windows
  • Extension author on Mac

This particular problem doesn’t appear if:

  • Author uses PC
  • User uses Mac

The cause of your woes:

.DS_Store files.

I’m not entirely sure why.

To combat this I build all of my extensions with ANT. (I know we provide a packager, but the work flow doesn’t work for me.) Here’re the relevant ANT targets:

 

<target name=”build.copy.files” description=”Create a installable version of the source code.”>
<echo message=”Copying Files to Build Location”/>
<copy todir=”${build.dir}” preservelastmodified=”true”>
<fileset dir=”${dev.dir}”>
<exclude name=’settings.xml’/>
<exclude name=’settings.properties’/>
<exclude name=’.project’/>
<exclude name=’.settings’/>
<exclude name=’build.xml’/>
<exclude name=’**/.DS_Store’/>
</fileset>
</copy>
</target>

<target name=”build.zip” description=”Creates a zip file of the build.”>
<echo message=”Creating Zip File”/>
<zip destfile=”${package.dir}/${app.name}.zip” basedir=”${build.dir}”/>
</target>

No ColdFusion Builder Tour Stops in Your Area?

Are you feeling left out of the Special ColdFusion Builder tour that’s coming around? If so, Charlie Arehart cures what ails you through the magic of the Internet.

I’ll be doing a ColdFusion Builder Tour session on Charlie’s Online ColdFusion Meetup.

Thursday, March 15th at 12:00 PM EDT.

As always, the session will be at: http://experts.acrobat.com/cfmeetup/ and will be available as a recording afterwards.

Using ColdFusion and Flash Builder Together

Since the cat’s out of the bag on the fact that ColdFusion Builder comes bundled with Flash Builder, I thought it might be good to share some tips for using them together.

Flash Builder 4 for ColdFusion Developers

This video gives a little overview of using ColdFusion services with Flash Builder. It will show exactly how to pull them in and use them together.

Using Flash Builder 4 and ColdFusion Builder in an integrated workflow

This article goes over using ColdFusion services with Flash Builder. It uses ColdFusion Builder and Apptacular to generate back-end services. It then shows you how to consume them with Flash Builder. Yes, it uses Apptacular, so if you want to get your hands on that, there is a download link. The copy of Apptacular included in this article definitely works with the demo. Past that, I know I’ve added some bug fixes since then, so caveat downloader.