cfcFlexplorer 0.1 Released

I'm very happy to announce the release of my latest project, cfcFlexplorer. This project was inspired by Ray Camden's friday puzzler from September in which he proposed that someone take on the challenge of creating a cfc tester. cfcFlexplorer is a Flex based tool which does that, and a little more.

With cfcFlexplorer you simply modify an xml file which contains two variables: the server root directory and the directory from which to begin crawling for CFCs. Once the application recurses the directories, it returns all CFCs (except application.cfc's and anything under cfide) into a navigation tree. From there you can navigate through the tree, selecting any component that you would like to see further information on. When a component is selected, the 'methods' grid is populated with all of the methods within that component. When a method is selected, all of the associated parameters for that method are populated into the 'parameters' grid. The parameters grid contains an addional editable column called 'value' which allows you to populate test values and invoke the component. When invoked, the application opens a new window which will dump the results of the call (if applicable). If your component has an init constructor, a checkbox is automatically populated and the init() function is called prior to invoking your component so that any necessary instance data is available to your call. (Note: If your constructor requires parameters, populate those in the param grid prior to calling your function).

You can either download cfcFlexplorer below, or check it out at RIAForge. There are definitely some enhancements/changes I'd like to make in the future, but I really wanted to get this out there since I think it's a tool that many will find helpful. Currently cfcFlexplorer does not handle passing complex objects (structs, arrays, queries, etc) as parameters so if your method requires these you will not be able to test them.

If anyone would like to help out with the project, drop me a line and let me know. I plan on doing a more detailed write up later this week summarizing my first experiences with Flex. Overall, the project took me about 12 hours so far. That may sound a little high for a simple project, but I did get tripped up here and there a bit on the syntax, etc with Flex. I honestly do feel incredibly comfortable with the MXML and AS3 so far. Perhaps a year of hacking Flash Forms to bits taught me more than I thought it did!

View cfcFlexplorer Demo

Comments
Let me be the first to say... wow! I'm trying it right now!

Ryan
# Posted By Ryan Everhart | 11/6/06 8:23 AM
Looks pretty cool. Going to test it out now.
# Posted By fro | 11/6/06 8:59 AM
Awesome! Great Job Todd.
# Posted By Pete Freitag | 11/6/06 9:05 AM
Nice work! One thing you may want to be aware of though, it seems harmless but you have a method in one of your test components in the demo that allows people to get dumps of your hard-drive contents... Its just dumps so noone could really do anything with it but I thought it was funny that you have a billybob folder in your images directory ;o)
# Posted By Russ Johnson | 11/6/06 10:12 AM
Russ: I'm on a shared server, so you're likely seeing someone else's billybob folder!

Obviously, the tool is probably best kept on a test server to avoid exposing your methods to the public!
# Posted By todd sharp | 11/6/06 10:17 AM
Nevermind, I see what you're seeing....Hey, you gotta have some fun sometimes, right?
# Posted By todd sharp | 11/6/06 10:20 AM
Very impressive. I have a lot of CFCs on my company's website and this will help me test them before they're deployed. Thanks!!
# Posted By Andrew | 11/6/06 10:33 AM
Nice work Todd. I've posted some pings to your RIAForge forums. (And yes - I need to get it working such that when someone posts to your conference, you get emails.)
# Posted By Raymond Camden | 11/6/06 10:35 AM
I'm flaberghasted!!!!
# Posted By Tariq CFLEX Ahmed | 11/6/06 1:36 PM
Todd,

Your right! You do have to have fun sometime!! I think its definately a cool application, you've inspired me to finally take the leap into Flex 2 and put a flex interface on one of the apps that Im currently working on.

Great Job!!
# Posted By Russ Johnson | 11/6/06 1:44 PM
Nice job!

When are you planning on populating the SVN repo? It's empty!
# Posted By Claude | 11/6/06 2:16 PM
Hopefully within the next few days Claude. Ray, will the RIAForge SVN browser allow for uploads? To be honest, I've never used SVN before.... :(
# Posted By todd sharp | 11/6/06 2:45 PM
Can anyone help me out. I'm getting the following error when I tried to run the app:
SecurityError: Error #2148: SWF file file:///C|/Inetpub/wwwroot/afmetrics/cfcFlexplorer/Flex/bin/cfcFlexplorer.swf cannot access local resource file:///C|/Inetpub/wwwroot/afmetrics/cfcFlexplorer/Flex/bin/settings.xml. Only local-with-filesystem and trusted local SWF files may access local resources.
   at flash.net::URLStream/load()
   at flash.net::URLLoader/load()
   at flash.net::URLLoader$iinit()
   at cfcFlexplorer/::initApp()
   at cfcFlexplorer/___Application1_creationComplete()
   at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
   at flash.events::EventDispatcher/dispatchEvent()
   at mx.core::UIComponent/set initialized()
   at mx.managers::LayoutManager/::doPhasedInstantiation()
   at Function/http://adobe.com/AS3/2006/builtin::apply()
   at mx.core::UIComponent/::callLaterDispatcher2()
   at mx.core::UIComponent/::callLaterDispatcher()

I'm running the app locally and have access to all resources. Thanks.
# Posted By Andrew | 11/6/06 6:14 PM
I'm not sure if this will fix it Andrew, but the application is designed to run at your root directory. Otherwise you'd have to change the mxml and as files to point to the correct cfc folders. That doesn't sound like your problem though, are you running cf 7.0.2 with the Flex extensions?
# Posted By todd sharp | 11/6/06 6:38 PM
Also Andrew, make sure you edit the settings.xml under bin - not the one under flex. A few glitches that I forgot to mention ;)

I plan on cleaning up the zip when I get a chance to better organize it and get rid of the redundant files.
# Posted By todd sharp | 11/6/06 6:40 PM
Todd. Thanks for your assistance. I am running ColdFusion 7.0.2 with flex extensions. Do I extract the zip folder to c:\CFusionmx7\wwroot or c:\inetpub\wwroot?
# Posted By Andrew | 11/6/06 7:42 PM
I get this as an error when I run it...

Location: C:\inetpub\wwwroot\cfcflexplorer\

Error:
faultCode:Client.Error.MessageSend
faultString:'Send failed'
faultDetail:'Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed'
# Posted By Critter | 11/7/06 8:35 PM
When I load the app, I get a busy cursor that never goes away, and no results come back. I have it in the webroot of one of my sites. We use a folder outside of the webroot for the cfcs. How should my settings file look? Let's say the path to the site's web root from the server is E:\cfwebroot\foo and that the path the cfc folder from the server's perspective is E:\cfwebroot\foo_cfc. Can this be done? Are there certain items that must exist in the CFC for it to be recognized?
# Posted By Andrew | 11/9/06 8:42 AM
It takes awhile for it to analyze your directory structure. Eg our code base is 160 000 lines of code, so it took a good 10mins.

Todd, I was about to start making enhancements to it - want to collaborate? Wouldn't want to do something that you're already working on.

I think the first thing to do is:
- Have a script which generates an XML file that contains the cfc tree and details; as opposed to trying to analyze it real time, that would speed things up dramatically.
- Allow for multiple roots. E.g
Root1 CFCs
Root 2 CFCs
Etc...

This tool has huge potential!
# Posted By Tariq CFLEX Ahmed | 11/9/06 11:55 AM
Tariq: Absolutely. I plan on checking the project into SVN - I'll try to do that tonight. I really need to clean up the project (IE, many of the Flex project files really shouldn't be there, just the mxml and as files really are the only necessary ones - you can always create a project locally and compile). I've made a few updates locally over the last few nights, so I'll get a copy of the most recent up in SVN. I'll email you tonight and make sure you have the latest. I agree there is great potential and would really appreciate the collaboration. I think I've just scratched the surface on what could be done.
# Posted By todd sharp | 11/9/06 12:06 PM
at the moment, my program has it, and one other panel, inside a window. it is position so that it overlaps the corner of the other panel. the BackColor property is set to transparent, and its Border to FixedSingle. i can see though it perfectly over the window (which has a tiled BackGroundImage), but i can’t see the other panel through the part that it overlaps. i can only see the window (its parent) through it.

how can i create transparent/semi-transparent control that can overlap more than other control?
# Posted By estetik | 2/4/08 7:39 PM
You do have to have fun sometime!! I think its definately a cool application, you've inspired me to finally take the leap into Flex 2 and put a flex interface on one of the apps that Im currently working on.

Thanks
# Posted By efesearch | 3/16/08 5:31 PM
Very impressive.Thanks!!
# Posted By Rüya Tabirleri | 5/19/08 9:53 AM
Good work.Good blog.Thanks man..
# Posted By Plus Tc | 5/19/08 9:55 AM
Great Tutorial

great Job

Thanx!!!
# Posted By Banka Şubeleri | 6/18/08 1:53 PM
That doesn't sound like your problem though, are you running cf 7.0.2 with the Flex extensions?
# Posted By Bankalar | 6/18/08 1:54 PM
I'll email you tonight and make sure you have the latest.

I agree there is great potential and would really appreciate the collaboration.
# Posted By Antalya | 6/18/08 1:56 PM

Calendar

Sun Mon Tue Wed Thu Fri Sat
  12345
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31   

Subscribe

Enter your email address to subscribe to this blog.

Tags

actionscript ajax blogging cfsnippets coldfusion flash forms flex misc model-glue off topic personal project learn slidesix sql

Recent Comments

More CF+Java: Compiling Classes And Persisting Objects
Getburl said: I have been attempting to get Db4o working in my CF application and I have not succeeded. I would lo... [More]

Thoughts On Ajax Frameworks And ColdFusion/Adobe
Erast said: http://fanniecollins.10gb... emo http://gracetrevino.phree...... [More]

Extending Ext With Ext Extensions
Erast said: http://fanniecollins.10gb... emo http://gracetrevino.phree...... [More]

CF Needs An Open Source Contact List Importer
Kay Smoljak said: Heh, the fact that sites DO it doesn't mean they SHOULD. To us it's ok, but to a non-tech-savvy user... [More]

A Few Project Updates
Helena said: Now punctually what is the situation ? [More]

RSS


coldfusionbloggers

FullAsAGoog MXNA

Consumed By Feed-Squirrel.com