TerrenceRyan.com

I'm a 35 year old redhead geek from Philly.
I'm currently a Developer Evangelist for Adobe.
Also the author of Driving Technical Change

Entries for month: March 2010

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.

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:

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

This particular problem doesn't appear if:

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.

ColdFusion Builder Tour - More Stops

I've added a few more stops on my stretch of the ColdFusion Builder Tour.

I was already scheduled to do:

Dallas, TX  DFW CFUG Wednesday March 24 7:30PM RSVP
Philadelphia, PA  Philly CFUG Tuesday March 30 6:00PM RSVP

 

Make sure you sign up for these if you are planning on coming.

I am now adding:

Pomona, CA  IECFUG Wednesday April 7  
Los Angeles, CA  LA Web Professionals Thursday April 8  
Chicago, IL  CCCFUG Wednesday May 12  

 

Details are forthcoming

ColdFusion Builder and Flash Builder FREE for Education

So yeah, the title pretty much says it all. If you are a student, faculty, or staff member of an educational institution, looking to use ColdFusion Builder or Flash Builder for educational purposes, they're free.

Go get them: freeriatools.adobe.com.

It's important to note, that if you are looking to set up a lab of multiple computers, you don't have to get a license for every machine or student. You can use the license we give you to install on multiple machines. Just let us know when you sign up that you intend to do so.

Upgrade from Flex Builder 3 Professional and get ColdFusion Builder

Asked a few times in various places:

If I am a Flex Builder 3 Professional User, is there a way to upgrade and still get ColdFusion Builder, since ColdFusion Builder comes with a copy of Flash Builder?

If you are a Flex Builder 3 Professional User, you can upgrade to Flash Builder Premium for $299. Flash Builder Premium has a few key features above and beyond Flash Builder, including Network Monitor, profiling tools, and unit testing support. We made a handy upgrade chart for you.

To upgrade, you can head to the Adobe store.

ColdFusion Builder GO!

I'm happy to announce that this morning, at 12:00 AM EST*  ColdFusion Builder has been released and is available for purchase. Before I tell you how kick ass ColdFusion Builder is let me answer the questions everyone has asked me that I've had to be coy about for the past few months.

When will it be released?

TODAY!

How much will it cost?

ColdFusion Builder Standalone will cost $299 and will include Flash Builder Standard. That's right; you get ColdFusion Builder and Flash Builder for $299.

Flash Builder Premium will also include ColdFusion Builder for the price of $699.

Where do I get it?

http://www.adobe.com/go/coldfusionbuilder

Okay, that's out of the way. Let's talk about ColdFusion Builder.

I love ColdFusion Builder. Sometime during the betas I switched over to using ColdFusion Builder, and I haven't looked back. I've put up with reinstalling over and over and over again through 3 public betas, and several private alphas, and several private refreshes. I've done this because I was excited with every drop to see what our engineers added. With few exceptions every release was a phenomenal leap over the previous versions.

Of course I'm going to say this, because I work for Adobe, right? Well I've griped, but gripes go inward, not outwards. (At least in the written form ;) )

It's not hard for me to pick my favorite feature: ColdFusion Builder Extensions. Extending an IDE isn't a new concept. We chose Eclipse as the platform for ColdFusion Builder precisely because it was designed to be extended. But the fact that ColdFusion developers can extend Builder with the language in which they are expert instead of dropping down to Java and Eclipse development is huge. It makes the development of plugins have almost no barriers to entry. Have an idea? Write 50 lines of code and XML and there it is. We've already seen 30 extensions up on RIAForge before ColdFusion Builder is even out of beta. I am continuously impressed at what the community is doing in this space, and I can't wait to see what they do after today.

Check out for yourself what the community has done at the ColdFusion Builder Extensions section at RIAForge.

It's tough to get a sense of how good a product is when you are working this close to it. You don't know if you have something, or you're suffering from groupthink. But some people will always find fault, some people will always love everything. You have to throw away those opinions and focus on the rest. Doing this, I think the verdict on ColdFusion Builder is that it is a great product, an impressive 1.0 product, and it still has lots of potential for which to strive in future versions.

I think the engineers, and product manager (Adam Lehman) deserve a round of applause (and several rounds of whatever they want to drink) for their efforts.

Go get yourself some ColdFusion Builder today!

 

* Or possibly earlier.

Design for America

Ever go to a government site and ask yourself, "Dude, does the developer for this site hate me, and hate communicating information?" Or something like that. Think you can do better?

Sunlight Labs is holding a contest to encourage redesign of government sites. Adobe is sponsoring, and we invite you all to participate.

Check out the contest: "Design for America."

Categories

Monthly Archives

Tag Cloud

coldfusion web development flex coldfusion builder appearances squidhead coldfusion builder extensions higher ed flash builder air mobile android adobe apptacular html5 driving technical change running a coldfusion shop adobemax06 movable type flash catalyst flash blackberry adobemax07 adobemax08 hero finicky css adobemax09 holy crap i’m a mobile developer centaur basecamp cfc unfuddle motorola metablog irrational characters ios git evangelism devices code reviews ant wharton subversion security phonegap philly philadelphia multidevice knowledge@wharton jobs browserlab adobemax10 adobe tv unfuddlecfc svnauth.cfc semantic html semantic html responsive web design qnx nlb linux jquery mobile java it github flexorg fireworks edge eclipse dreamweaver apps apple adobemax11