Archive for the ‘ tools ’ Category

Flex: Annoyed with COMPC Ant task

In my continuing journey with TeamCity, I’ve discovered something highly annoying… not with TeamCity but with Adobe.

I’m trying to build a master configuration with an Ant script that will automatically build several child modules. First thing I realize is that I have to override the path properties of the child Ant script with relatives paths from the parent script. Ok, that makes sense since it’s a subtask being called from the scope of the parent, so the paths have to be from that directory.

Then I try to call COMPC in the child Ant script. It chokes hard with:

[compc] command line: Error: unable to open 'api/src/Manifest.xml'

“That’s odd,” I think. I know I’m passing it the right path (contained in the ${src.dir} property). However, just to check, let’s echo out the contents of the path I’m sending to the child script.

<fileset id="dir.contents" dir="${src.dir}" includes="*"/>
<property name="file.name" refid="dir.contents"/>
<echo>${file.name}</echo>

I run the script again, and lo and behold, guess what echoes out?

 [echo] Manifest.xml

wtf?

Ant says that the file exists in the path contained in the ${src.dir} property, but the COMPC task says it doesn’t exist?

<compc output="${build.dir}/${build.file}" debug="false">
	<include-namespaces uri="${namespace}" />
	<namespace uri="${namespace}" manifest="${src.dir}/${manifest.filename}" />
   ...

Still haven’t figured this one out, because I’m now stuck in the process of throwing darts with a blindfold on, simply guessing which directory COMPC thinks it’s starting from, because, of course, there’s no way to output anything from inside the COMPC task.

ARGH!!!

First, the link: TeamCity

I’ve used several automated build tools over these many years, and even though I’ve only been using TeamCity for <24 hours, I can honestly say it's the easiest one I've ever used.

During 2 hours last night, and 3 hours this morning, I was able to set up every project we have, convert the Ant scripts, establish the proper dependencies, and have build triggers set up for each one.

Additionally, the Eclipse plugin they made is professional and bug-free. Here's a quick screenshot I took last night while I was getting all the projects configured.

teamcity_eclipse_plugin

It even includes support for Jabber, so I’m installing a test server on my machine to see how that works. Hard to imagine that I could have a complete build management server set up, including notifications, and integration with task management within 48 hours – cuz that’s how long I think it’s going to take.

Love for Balsamiq Mockups

Do It Fast And Do It Well

Those are the two things I’ve always wanted from a wireframing tool. I just want to sit down, and with the image in my head, be able to dump it on the screen in a matter of minutes. No tool – and I’ve looked at many tools over the years – provided me with both features. Most often, it was the “do it fast” that failed.

Finally!

Not so with Balsamiq Mockups. This is a tools written by people who use it and you can tell. It’s got a good, if not exhaustive, library of elements. It’s got a highly intelligent editor. The properties are minimal, but on target. Most importantly, you can export/save the wireframe in the formats that architects and interactive engineers use.

Example

The folks internally wanted me to throw together a quick Flex app for effort metrics on our team. After talking about basic requirements, I had an image in my head of what the UI might look like. Nothing is more frustrating that having this image in your head and (unless you use paper and pencil) not being able to realize it for 45 minutes.

I did this mockup in just around 8 minutes.
wireframe

Recommend

I very rarely endorse a product publicly, and I really have to love it to do so. This is one of those cases. I highly recommend that you demo this product, and if you are ever responsible for coming up with wireframes, conceptual designs, or just any kind of visual aid for architecting applications, you will love this app.

Top Eclipse Time-Saving Features

For those who may be new to the Eclipse IDE, here’s a list of common shortcuts I use to help me access resources and find code quickly.

Open Resource (CTRL+SHIFT+R)

This shortcut opens a dialog where you can type in the first few letters of a filename you want to open and a list of matching filenames show up beneath. Alternatively, you can highlight a filename in your code, and it will be pre-populated in the dialog search field.

Working Sets

If you work in an environment with many projects going on at once, your Navigator window can quickly get cluttered and confusing. The best way around this is working sets. You can group 1 or more projects into a working set that, when chosen, will only show those projects in the Navigator.

Outline View

Have large XML or Javascript files? Having a hard time finding methods or elements in the haze of code? The Outline view will save you plenty of time.

Quick Switch (CTRL+E)

Whether you’re working on fixing a system-wide bug, or making style changes to many pages in your site, sometimes you just can’t help having 10 files open at one time. Since Eclipse will only show 6 of those in the tabs, you can easily switch to any of the files with this handy shortcut.

Visio IDEF1X Format

I just discovered, about 4 days ago, that you can format Visio database diagrams in the IDEF1X format. While IDEF1X has many shortcomings, I have to say I find it much easier to understand the relationships and constraints at a quick view in this format rather than the standard format.

Granted I’m still running the 2001 version of Visio for Enterprise Architects, so I’m sure that recent releases have more formats in which to view an object model. However, for the time being, I’m having fun with opening all my old schemas and changing their format.

To get your model in this format, you choose the following menu option:
Database > Options > Document…

Then in the General tab, select IDEF1X as the symbol set.