Fusebox Plugin for Eclipse/CFEclipse

Posted At : October 9, 2006 4:50 PM | Posted By : Mark Drew
Related Categories: fusebox, cfeclipse

A long while ago, I started a project to do a plugin to develop Fusebox applications using CFEclipse. I stopped using Fusebox and went on to do MG apps and other custom stuff (more webservices that I would rather do to be honest) so the plugin (fusebox3cfe) has laid dormant for a while. I just wanted to ask the community out there, if there is a need/want for a plugin that helps you whilst developing fusebox applications?

If so, is there anybody out there that I can shoot questions and would like to make suggestions as to what would help? I understand but dont code it daily enough to know what would increase my workflow (its one thing knowing what the framework does and how to do it, its another to know what all the reptitive tasks and annoyances are)

Leave me a comment with your opinions!

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
Nathan Strutz's Gravatar Mark,
Yes, it would help :) -- But fusebox 4 and 5 only.

Here's what I'd love to be able to do:

First, and foremost, a fusebox explorer-like tree structure. Start with the basic circuits that have no parents and expand downwards viewing circuits and fuseactions. Basic interaction would be awesome here, add a fuse, add a circuit, right-click to modify properties, double-click to zoom into the appropriate XML file. This view alone would sell copies and make you rich (well... you know).

If you were going to integrate it into CFEclipse somehow, ship it with some fusebox xml snippets like a new circuit and fuseaction snippet. How about a fusebox 4 and 5 project, which just copies the application template for each version and changes some variables.

The XML editing depends on the XML plugin I use. Personally, I use the Eclipse Web Tooks XML editor. It throws errors with custom lexicons (both 4 and 5). Some way to fix this would be neat. While on the subject, getting insight to work on lexicons would be great (assuming we use a new lexicon-specific documentation structure).

How about a fusebox 5 lexicon builder. Starts with a basic template and duplicates some of the stuff in the cf lexicon to add required and optional attributes. I'm not sure, but me and like 3 other people might be the only ones to use this, so it's probably not the best idea.

What if, when you preview the page, Eclipse knows where in the app your file is being included from, or at least where you are working, and it opens up the browser at that location? That would be helpful.

I'll try to think of more. Thanks!
# Posted By Nathan Strutz | 10/9/06 6:48 PM
Mark Drew's Gravatar Hey Nathan

The Fusebox Tree view I have already implemented but not with so many features. One thing that someone needs to explain to me fully is the idea of lexicons and the fact that you can add your own?

The XML editor is a toughy, well kinda, basically what I was discussing with Rob at one point is that it would build a DTD on the fly, then any XML editor would hook into that DTD. That is the way to go I think...

I shall get onto this as soon as I have finished 1.3 :) (yeah yeah...)
# Posted By Mark Drew | 10/9/06 6:52 PM
Nathan Strutz's Gravatar Mark,
I think I haven't seen the FB3 plugin really since Sean added that basic FB4 support. I'll check it out again, maybe it can help me out. The dynamic DTD sounds like a really great idea.

Lexicons are basically custom tags for the XML. Like, for instance, FB XML doesn't support natively calling cfhttp (it shouldn't, and a cfhttp lexicon doesn't actually make sense, but humor me). You can make your own cfhttp lexicon, so in a fuseaction, you can call your own http lexicon tag to do http actions. Lexicon code is executed when a circuit is parsed, and will literally write to the parsed file. In FB4, they weren't really supported or documented: you add a lexicon entry to the fusebox.xml, then i might call <nathan.http url="www.dopefly.com"/>; or something. In FB5, they are referenced by xmlns="nathan/" in each circuit xml file. Call it with xml style syntax: <nathan:http url="www.dopefly.com"/>;.

PS, I blogged your post.
# Posted By Nathan Strutz | 10/9/06 7:16 PM
Jeff Knooren's Gravatar I guess, if you really want to use Eclipse, you can make a plugin, but there is a program called Adalon (Adalon.net) that does much of this wishlist. It has tree views of everything too.
# Posted By Jeff Knooren | 10/9/06 7:56 PM
Mark Drew's Gravatar I am aware and have used adalon.. it annoyed the hell out of me and its not really an IDE.
You could use Adalon with this to help you build your app too.

MD
# Posted By Mark Drew | 10/9/06 8:03 PM
Ed Lamp's Gravatar I would find this very useful... The treeview mentioned before would be great along with some code insight. If integrated with cfeclipse, give the ability to right-click in the cfml and be able to choose your XFAs (I hate switching between files to get the right xfa name). maybe a wizard to generate a new circuit or fusebox app
# Posted By Ed Lamp | 10/10/06 1:05 AM
Scotty Scott's Gravatar Hey Mark,

Spoke with you a few weeks ago about this but will go over some stuff here for the "record" :)

Along with the stuff mentioned before me, I would love to see recursive browsing of the tree. So when I have a do action, I can expand it to show everything that will be done.

Opening, I would like to be able to double click on a fuseaction/do action / if / etc and have all related includes open up. If I click on the circuit itself, I would like the circuit xml to open.

Filtering.... would like to be able to toggle verbs... basically show all or show includes and dos.

Would really like some code assist with XFAs within cfm files of the application. Code assist for circuit files.... for includes and dos.

Im up for helping if ya want it but, I would have lots of questions at first. I looked at the current code but it just didnt "stick" :(
# Posted By Scotty Scott | 10/10/06 4:12 AM
Mark Drew's Gravatar When I get a chance, I will re-do the project and get it working (I havent worked on it for a long time)

One part of CFE that I also need to look at is a way for other plugins to contribute content assist proposals (those handy things that pop up) so it would be seeing what things you can propose to which files.

I shall start with the view and then move on. One of the things that I remember that I had to do was change the parser from Dom to Sax, since Sax gives you line numbers etc.

Anyone want to take charge of sending me an app I can use? i.e. with custom lexicons etc?
# Posted By Mark Drew | 10/10/06 6:51 AM
Steve Judd's Gravatar Mark,

I really appreciate the work you've put into CFEclipse.

My biggest desire for a Fusebox plugin would be content assist that either read fusedocs or "knew" the other included files so that queries from one fuse would "popup" in the display fuse for example. It would probably be easiest to do this through fusedocs, but I'm not sure how prevalent they are among FB developers.

I have a sample Fusebox 5 app you can have, but it doesn't use custom lexicons.
# Posted By Steve Judd | 10/10/06 12:10 PM
Nick Tong's Gravatar Hi Mark - i blogged about lexicon some time back - maybe it will help: http://www.succor.co.uk/index.cfm/2006/7/4/Lexicon...

Take a look at the skeleton app that comes with FB5 - that shows use of lexicons. If you need any help then shout.
# Posted By Nick Tong | 10/10/06 12:10 PM
Christian Ready's Gravatar Hi Mark,

Thank you so much for offering to tackle on this project. There are some great ideas already listed on how to increase workflow in actually writing the FB application, but one area that is closley related is Fusedocs. Something that would allow us to write good fusedocs with tag completion and selection of attributes would be great!

Thanks again for your great work!
# Posted By Christian Ready | 10/10/06 3:34 PM
Mark Drew's Gravatar I think for fusedocs, someone needs to just write some super snippets.

On a side note, I am thinking of adding the ability to CFEclipse to have remote snippets. These would be hardcoded (for reasons that its dammed difficult to do java webservices at runtime) repositories of snippets, once would be the cflib.org, so you would have access to that via the snippets window. Another would be a service hosted at cfeclipse.org that would provide snippets.

What do you think?
# Posted By Mark Drew | 10/10/06 3:46 PM
Nathan's Gravatar This plug-in sounds great but yes I would like one that supports fusebox 4 and 5.

My main problem at the moment I can not get the FTP to connect to my current host. Not sure what is up with that? Any suggestions? and how I can figure out what is wrong. I want to use this at home so I can get better and use this at work.

Thanks,
Nathan
# Posted By Nathan | 4/22/07 8:35 PM
Mark Drew's Gravatar I am not sure what to suggest, we are looking into this since it seems that IIS's FTP service is a bit mad. And it makes our FTP client go a bit mad. Looking into it at the moment.
# Posted By Mark Drew | 4/25/07 7:10 AM