[Looking for Charlie's main web site?]

More reasons to buy ColdFusion Builder

I wanted to add some more thoughts to Adam Tuttle's helpful recent entry, Why (I Think) You Should Buy ColdFusion Builder. I started to offer them as comments but it got lengthy, so I decided to create this entry instead.

A little background on the question

Adam's entry was his response to an observation I'd made on a private mailing list that I'd not seen any good single resource to point people to when they raised concerns about having to pay for CFBuilder. We who have "seen the light" wonder why people even debate it (as he addresses with observations from others in his entry).

While his entry expands on the oft-shared Adobe graphic comparing features among it and the existing CFML editors, there are some more features that may not have been t important enough to be listed on that graphic, but are sometimes a source of concern/contention for some as they consider CFB. Here are a few of them.

Most of these are things I also have been pointing out (among several dozen) in my "Hidden Gems in CFBuilder" talk that I've presented over the past year and will offer again at CFUnited.

Some more points to consider

  1. CFB offers something not in DW, HS, etc: its "local history" feature (per its Eclipse heritage) can be likened to a poor man's version control (though of course it offers full integration with "real" version control, which is preferable).
  2. While CFB (and Eclipse CFEclipse) are designed around use of "projects", CFB doesn't *require* use of them. It offers (via its Aptana-inherited features) the ability to work with files directly, and unique compared to Eclipse/CFEclipse, you can even open a file from the file system (like Windows Explorer) and it will open as a new tab, not a whole new workbench.
  3. DW and HS have features to "open include files" by right-clicking on CFINCLUDE, and some miss that in CFB. But it can do that sort of file open, and it's even more powerful. It's just not available on the context menu. Instead, one should hold the ctrl (or mac) key and hover their mouse over any kind of file link, and it will offer to open it. That can be a CFINCLUDE or a CFINVOKE/cfobject/createobject of a CFC, and more. It can even be on the name of a method used in code (script or tag) and it will open that method in the given CFC. It also works on a href and other html tags that refer to files. Very powerful.
  4. Some people lament that DW could do a "split window", showing part of a file in one window and another part in another, editing them simultaneously. Again, though it's not a right-click feature in CFB/Eclipse, it's there. You use Window>New Editor, which creates another tab with the same file, which you can then move to be above/below/side-by-side within another editor/tab.
  5. Some lament a lack of word wrap in CFB. It's there. See Window>Preferences>HTML>Editors (don't expand that) then its Advanced tab.
  6. Some complain that CFB doesn't do code completion (closing tags). It does, but it's not enabled by default. See Preferences>ColdFusion>Editor Profiles>Editor>Typing, and note the options to close (as in DW) either when closing the opening tag, or at the start of typing the opening of the closing tag.

    I will note, however, that I've found that HTML tags won't close (though they should by default). That problem is that the feature expects that there's an opening/closing HTML tag wrapping the page content. We often skip that in CFML, or may be working with a file that's included/called from another. At least this explains when it doesn't work.

  7. CFB has support for EXT/JS 3.0 (see the CFBuilder help/documentation section on "Import Ajax libraries")
  8. CFB can build AIR apps. See "Developing AIR applications" in the CFBuilder help/documentation.
  9. CFB has built-in support for doing a file compare. Select the files in the navigator and right-click and choose "Compare with".

  10. Some complain that they can't "edit a file on a server via FTP", meaning open it remotely, edit it, and save it on the server. While may will argue that you shouldn't do that (but should edit and test locally then deploy remotely), I'll note that you can in fact do that, if you use the Files (not the Navigator) window to open a remote connection.
  11. Don't miss the available Services Browser, which allows you to browse (within the editor) any CFCs *or* web services, seeing their methods, arguments, and more. I've blogged more about this to walk you through the oft-missed web services feature, which I'll note is similar to what's in DW.
  12. Don't overlook creating a Server connection. Sometimes people complain that some of the asserted "powerful and unique features" of CFB just "don't work" for them. For them, I'll note that you really HAVE to create a Server connection for your projects. That's an optional step when creating a new project, but if you overlook it, many things just won't work. It's this server connection (and the related RDS connection) which allow the IDE to talk to the server to get info on the CFCs on your server, the DBs and their tables/columns, etc., not to mention the features for starting/stopping the server, connecting to its admin, etc. I point to several blog entries that discuss that point about the need for defining servers in my Hidden Gems talk.
  13. For all its features, some complain of performance problems. As Adam noted in his entry, many have been fixed first in the final release and then in the recent updater. Beyond that, though, the CFB docs do have still more addressing this specifically. See the section "Optimizing ColdFusion Builder Performance".
  14. Finally, it should be repeated that because CFB is based on Eclipse, there is a whole world of Eclipse extensions that can and do add still more functionality, generally for free.
  15. Indeed, there is more to CFB in the way of features of Eclipse itself, as well as the Aptana plug-in that's included with it. So it would behoove one to look into those more. I point to some resources for exploring those more in my Hidden Gems talk.

Lots more tips, tricks, and traps

Indeed, that Hidden Gems talk (whose content is available online as both a PDF and a recording) offers still more about some of the features I list above (including doc or blog links), and it offers still more in the way of tips, tricks, and traps in working with CFB.

It's not really meant to address the "why buy CFB" question, but instead tries to help those who've used it (or tried) to be more aware of what's possible. It's addressed to both those new to Eclipse-based editors and also to those who've been using them already.

This is indeed a challenge for any resource trying to speak about CFB (whether a blog entry or the CFB docs). How much should be presumed? It's that challenge which leads, I think, to the state of things where some feel that their concerns are not addressed.

Lost cause for some?

Finally, when I first asked about whether someone had put together such an entry, I got some feedback (surprisingly staunch) that it seemed pointless to bother trying to "preach to the unconverted", and that if they didn't get it, it was their loss. As I wrote in reply:

I appreciate that sentiment, but I do believe there are some in that "hater" crowd who are just misinformed, and don't really appreciate all that it adds for them. More than a few (still!) accuse it of being just a rip off of CFEclipse. Of course, you and I (and many here) know that's a gross simplification--and not true, anyway.

But as long as they think that, or more important as long as they don't fully understand what it can do for them, they will continue to resist.

No doubt, there are some for whom no amount of persuasion will cause them to "get up off their wallet", as my wife would say. We can't do much for them, but I do want to "fight that good fight" for those who can be reached.

Tell people about Adam's entry whenever you can

So I hope that Adam's entry, and any others that may exist (and perhaps this one and my talk) will help with that.

But also I hope people will bookmark Adam's entry and point it out whenever you see people complain (on lists/forums/in twitter) about "why should I buy/have to pay for CFB"? I think the conversation is an important one to have.

Comments
There must be more to just "setting up a server", because I have my server setup in CFBuilder but still can't get any of the code insight or ctrl+clicking of method names to work. Ctrl+clicking works for local methods (methods in the same file I'm in) though. Also tag closing doesn't always work even when you have it turned on. Sometimes it closes tags and sometimes it doesn't, I haven't found a pattern yet but I think it has to do with complex code.
# Posted By Ryan Stille | 5/25/10 1:56 PM
@Ryan, about the Server setting, perhaps I should have said "set up correctly". It's possible that one could have it setup but not working. Let's start with looking at the Server tab: is your server listed there? Does it show its status (started)? If not, then I'd assert it's not setup correctly. And there can be any number of reasons for that, especially for a remote server (where the RMI and RDS ports may be blocked).

But I realize yours may be a local server. Is the RDS connection working? Have you used the "test connect" button in its setup page? Can you view databases in the RDS DataView view? Just some thoughts to get you going.

As for the code completion, the same subject has come up on the CFBuilder forum just this weekend. Adam Cameron offered this suggestion to someone:

"
I've found it to be flaky for me (on various versions of Windows). It seems if the tag has no attributes (seldom the case!) then it works OK. Sometimes it needs a CTRL-SPACE to get the closing tag to show up. Sometimes I need to key in </c then CTRL-SPACE and it shows up. It should just work though, obviously."

Hope that's helpful.
# Posted By Charlie Arehart | 5/25/10 2:38 PM
Hi Charlie,

Is there a public email list setup for CF Builder users to help each other? I see there is one on House of Fusion, but it seems to be unused (not many recent posts). I think the CFEclipse list really helps new and veteran users have an easy place to go for questions, offer advice, and even search previous questions.
# Posted By Matt Williams | 5/25/10 2:41 PM
Charlie, my server is local, and the RDS connection test ok. My database view works fine. I think it may have to do with my code spanning several "projects", I'm not sure how the server-project relationship works.
# Posted By Ryan Stille | 5/25/10 2:44 PM
@Matt, I can't tell if you know about the Adobe CFBuilder forum (which is both a web-based forum and a mailing list), and it is of course public. It's at:
http://forums.adobe....

I hesitated to point that out (though I thought about it), as it was taking the entry well beyond its "more on why buy CF" focus. I'll say that I do point out that link as well as several other useful ones from Adobe and others in the resources section of the PDF of my talk.

@Ryan, ok, now we're getting somewhere. You said you could see only methods in the same file, but now that you mention that you have "code spanning several project", I wonder if you mean that you may not see CFCs that are not technically within the current project.

If that's the case, that's where you'd use the linked folders feature in the project definition, where you can point it to files not in the project directory.

Now, I (and you and others) would expect that CFB should be able to find CFCs in any of the paths defined on the server, but I note you mention the ctrl-click/hover feature specifically. Does CFB find your non-project CFCs if you use something like CFINVOKE COMPONENT? It may be that there is a difference in how the different features of CFB work. I suspect that the code insight feature is something added by the CFB team, while the ctrl-click/hover likely came from Aptana, in which case it may not have exposure to the server mapping settings. Just a guess.
# Posted By Charlie Arehart | 5/25/10 3:02 PM
@Ryan One of the things I initially overlooked when setting up a new server in ColdFusion Builder was the "virtual hosts" tab. This is the critical setting that makes things like code help for your CFCs work. You have to tell ColdFusion Builder about the HTTP host and directory for it to be able to reliably find your CFCs based on the dot notation file path. Then, in your Eclipse project properties, under the ColdFusion Servers option, you have to tell ColdFusion Builder which virtual host should be associated with the current Eclipse project.
# Posted By Dan Skaggs | 5/25/10 3:06 PM
Charile, I created an object using CreateObject, then tried to use that object directly after that but did not get code insight or ctrl+click working. So I did what you suggested and closed my 2nd project and instead created a linked folder to that code under my main project. But that didn't help.

So then I did what Dan suggested, and setup a virtual host on the virtual hosts tab of my server settings. I created one for "localhost", which is how I browse to my site. But you say I need to then select this virtual host "under the ColdFusion Servers option". Thats where I get lost. I think you are referring to Project->Properties, then the "ColdFusion Server Settings" area? That screen is just blank for me, there is nothing to select. Here is a screenshot: http://img576.images...
# Posted By Ryan Stille | 5/25/10 3:19 PM
I started to mention the forum. I am aware, though I didn't realize they can also function as a mailing list. I guess I was thinking more along the lines of how CF-Talk is the most used (from what I can tell) place for general CF support. I'm surprised the HOF CFB list is so low on usage. The Adobe forum does have some usage, though not as much as I'd expect for a new product folks are just learning.
# Posted By Matt Williams | 5/25/10 3:22 PM
@Dan, thanks for that. I'd not yet needed to rely on the virtual hosts. Naturally, one would only need that if in fact they are using virtual hosts (or multiple sites or virtual directory in IIS) hosted on a single server. But sure, if that's what some need to get around the problems, then good call.
# Posted By Charlie Arehart | 5/25/10 4:05 PM
I am in fact, using Apache + virtual hosts.

Should my "ColdFusion Server Settings" area be blank like that?
# Posted By Ryan Stille | 5/25/10 4:08 PM
@Ryan, that's very odd to see that page blank. I'll have more on that in a moment, as it may indicate bigger problems, but the "good" news is that wouldn't have been where you would have made the changes Dan suggested.

Even folks who who don't have the "blank page" problem would still find that they'd see a "details" button to the right of their indicated selected server for the project, but clicking it would not allow you to edit the Server Settings. (To me, that's a poor design choice.)

Instead (and this may well work for you even with the problem above), you want to go to the Servers view (if not open already, use Window>Show View>Servers, when you're in the CF perspective). That shows your current servers. You can then right-click on one, to choose "edit server". The virtual host settings Dan referred to are shown as a tab after clicking the "next" button.

Back to your "blank page", though, I would argue that this may indicate that your problems are more significant than just poor configuration of the Server settings. Again, I'll note that I do offer troubleshooting suggestions in my talk.

And one of the easiest (and first things) to try is creating a new workspace (File>Switch Workspace>Other). That creates a new blank slate, and will seem to you (and CFB) like it's a brand new installation.

Sure, it sucks to lose some of the config settings, perspective changes, etc, but I'll note that you can always switch back to the old workspace (again, using File>Switch Workspace where ones you've opened are listed.)

At least, if the problem goes away with the switch and reconfig, you can know that that may have been the problem. This is especially important (and seems most helpful) for people who had previous installs of the beta.

On that matter, like my mention of the talk having pointers to the forums and other resources, I said that I didn't elaborate all the points in the talk because I was focusing here on "why buy it". I realize that some (like you, Ryan) will argue that their challenges with troubleshooting is what's kept them from buying it. I'll ask then that people in that situation might want to first review the PDF of my talk to see the other suggestions I have for troubleshooting. Maybe I need to pull those out into their own blog entry. :-)
# Posted By Charlie Arehart | 5/25/10 4:12 PM
@Ryan, I didn't mean to imply by answering only Dan that I had missed your observation. I just knew it was going to be a long reply, so I wrote it separately (just posted).

@Matt, I think you have your answer (as to why the CFB forum may not be as popular as you'd think), given how you had been disinclined to consider it at first. :-) I'm just sayin', maybe others are feeling the same way. Kind of like the reverse of the famous Yogi Berra's famous quote: "nobody goes there, 'cause nobody's ever there". :-)

But yes, the Adobe forums can indeed work as a mailing list instead. You go to the top level for the forum (http://forums.adobe....) and (when logged in) you are offered a link on the right to "Receive email notifications". Clicking that will start sending them by email, and you can reply directly to them as well.

I'll share one gotcha, though, if you may want to receive email for multiple forums: the forum system Adobe uses doesn't send the emails TO or FROM an address that's unique to each forum. That makes it hard to setup up rules and folders (indeed, if you have one rule and folder setup already for some one other forum, these will likely now go into that folder). Instead, you need to make the rule key on the subject, which at the end always names the forum. It's a hassle, but forewarned is forearmed.
# Posted By Charlie Arehart | 5/25/10 4:20 PM
Charlie
Thank you for yet another detailed post. I wanted to follow up on two points:

4. Split window. You can in fact right-click it. In the tab of your file, right click, and at the bottom of the context menu you'll see "new editor".


5. Word wrap: In addition to the built-in word wrap, there's also a plugin that lets you right click to get word wrap as well. I've documented that here: http://blog.mxunit.o...

One thing I wanted to say, which I've told you before, is that I've had similar experiences to Ryan with content assist and the other "killer" features of CFB. Just now, I've got a unit test open that can ctrl-hover-open its own functions (even from a superclass) but not functions from objects inside the test created with createObject()... and they are indeed in the same project. I wonder if it's this kind of head-scratching "Now What?" stuff that also turns people off.

Just now, this gets me thinking: do you know of a secret "killer debug mode" that, when turned on, will generate useful data that could be sent to the CFB team for help / guidance / bug reports? Like, if I hover over the function of some object, and it doesn't trigger the hover-click, could it log something that I could send, or perhaps even inspect myself to get insight? In the MXUnit plugin, I have a little bit of that going on if you start Eclipse with the -debug flag. I wonder if CFB has anything like that.

Thanks again!
# Posted By Marc Esher | 5/25/10 10:26 PM
@Mark, thanks for the kind regards and sharing more info.

That said, as for your observation on the split window, will I did know that you could right-click the tab, but that really wasn't my point in the post. Let me be clear: when I said "you can't right click" I meant in the way that DW and HS+/CF Studio users expected: they were able to right-click in the code editor and it was AT THAT point in the window that the split took place. I didn't think to mention the right-click on the tab simply because (as a keyboard fan myself) explaining and using the Window menu was easier. :-)

As for the word wrap, again yes I knew about the plugin (and mention it in the presentation PDF--I know, it's a frequent refrain). BTW, I'll note that for readers that Marc mistakenly gave the link to a different blog entry of his. He meant http://blog.mxunit.o...

But again, I just didn't bother to mention it because, to me, explaining how/why to install the plugin just didn't seem to add much value (given the ease of changing it via preferences). And it really didn't seem to add much value for the "why buy cfbuilder" crowd. :-)

Let me reiterate to other commenters to remember what the focus of this entry was. It really wasn't meant to be "hidden gems in CFB". Like I said, that could warrant another entry (dozens, really). The focus here is "why should someone buy CFB".

But to your next point, I do grant that I've opened the door to covering troubleshooting CFB, which I've done at my peril, as this could become a dumping ground later for newcomers asking all sorts of "how do I" questions. Again I'll assert, please take those to the forums instead. But I know that wasn't your point at all.

As for the ctrl+hover not working, I'll ask something I mentioned in an earlier comment: is your challenge really limited to JUST that (with respect to accessing the CFCs or methods in them)? I think this is an important distinction to clarify.

Let's assume the object instance name is myobj, what happens when you type <cfset x=myobj.? When you hit that period, does it show you the methods in that CFC? (Let's not discuss the choice of CFSET or that an assignment isn't really needed. I'm trying to keep this simply for all readers.)

The point it, if clicking that period DOES show the methods, where ctrl-clicking over it (once defined) doesn't work, then I would assert that we've identified that there are two different processes in CFB: one for the code insight (a CFB feature) and one for the ctrl+hover (I'll bet an aptana feature), and I wouldnt' be surprised if the second doesn't have access to the server-based knowledge of CFC locations that the first does.

But maybe there's a workaround: maybe the ctrl+hover can't use information defined on the server-side, but maybe it can leverage other information you provide to help it. Dan suggested the virtual hosts as one "additional help" that one might provide in the server config setup.

Another is the "linked folders" feature. It's not very well documented. There's a "Link to resources outside the workspace" section of the CFB users guide, but it really doesn't do justice to the feature, plus there are some steps that are just flat wrong, from my observation. I've raised concerns in comments on the web-based help page (sadly, those don't get pulled into the AIR-based help, even if you choose the "online" version, for those who use the CFB help and know what I mean.) But interested readers can see them in the web-based version of the page, at http://help.adobe.co...

Potentially more useful is this entry on the topic from the CFB team blog:
http://blogs.adobe.c...

Again, it doesn't really distinguish in detail when it applies, but it does offer a scenario where a developer has stuff in different directories outside the project and needs to preview or debug their file. I know that's not what you're wanting to do, but give it a look (you and Ryan) to see if it solves the problem.

If it does, then we can explore/ruminate more about why it isn't more obvious/automatic. I don't disagree with you that it's some of these annoyances that have kept some people from getting full benefit (and therefore having full appreciation) for CFB.

That said, in case some are directed to this entry by others or from the comment I made pointing to it from Adam's original entry, we don't want to overwhelm them thinking there are nothing but problems. Many (many) people report being happy with the very features that others say "don't work".

While we don't want to diminish their annoyance, we also don't want to scare off possible newcomers to the tool. I hope that all the info presented here and in the other entry (and elsewhere) can better help each decide for themselves.

In the meantime, I hope the ideas here might also help those faced with the challenges mentioned.
# Posted By Charlie Arehart | 5/25/10 11:38 PM
Oh and Marc, to the last point in your previous comment about whether there's any "super killer debug flag" for helping with problems, the answer is yes and no.

There's not quite something that does what you describe (I don't think), but there is in fact something akin to a "special debugging feature to help Adobe understand problems when you have them in CFB", at least to a degree, and that's to take a stack trace.

The Adobe CFB team blogged about this some time ago:
http://blogs.adobe.c...

Then again, I know you already know about this yourself, Marc, as you did a blog entry of your own on generating stack traces in CFB, with a slightly different approach. Marc's entry is at:
http://blog.mxunit.o...

So again, no, I'm not aware of anything beyond that, no. Sorry. But maybe others will share news of such.
# Posted By Charlie Arehart | 5/26/10 12:25 AM
I can't get the component insight to work either. Well, sometimes, but it depends on the project setup.

First, this is how my projects are set up, in a way:
/projectName/components/componentA.cfc

In the ColdFusion Administrator I have a mapping to the projectName directory callend projectName. If I want to use componentA in my code, I write cfinvoke component="projectName.components.componentA".

In this case, component insight will suggest to me components.ComponentA, not projectName.components.componentA. I can solve this with virtual mappings, you'd think, HOWEVER... I cannot link to the project directory (or its subdirectories).

So that's not working.

I read that through RDS, CFB reads the mappings. That would be good, however, it doesn't work either. I can, in CFB, browse my mappings with the Service Browser, I can browse my datasources, but component Insight still doesn't work.

In the console I get: 'Unable to fetch server mappings.' This seems quite important, but I can't really do something with it.

Is there a solution?
# Posted By Dominique | 5/26/10 3:38 AM
I omitted an important detail: I cannot link to the project directory, through virtual mappings, in the properties of said project. The same goes for the insight, that gives me components.componentA if I'm in a file in said project.
# Posted By Dominique | 5/26/10 3:40 AM
DW and HS have features to "open include files" by right-clicking on CFINCLUDE, and some miss that in CFB. But it can do that sort of file open, and it's even more powerful. It's just not available on the context menu. Instead, one should hold the ctrl (or mac) key and hover their mouse over any kind of file link, and it will offer to open it. That can be a CFINCLUDE or a CFINVOKE/cfobject/createobject of a CFC, and more. It can even be on the name of a method used in code (script or tag) and it will open that method in the given CFC. It also works on a href and other html tags that refer to files. Very powerful.

How do you get this above to work? I moused over my cfinvoke with the ctrl key pressed, and I just get a tooltip box with some code and stuff in it....this sounds like a cool feature.

thanks
Dan
# Posted By Dan Fredericks | 5/26/10 7:23 AM
@Dominique, I have a suspicion I may have an answer for you (a good one, at that).

First, I just tested that very kind of setup (a mapping, with a subdir, and a CFC in that). It worked just fine. CFB found it in the code insight. In fact I didn't have to add any mappings in CFB (you mention "virtual mappings", but the only thing near that name in CFB is "virtual hosts" in the Server setup, and I didn't need that, either, nor the "linked folder" feature I referred to above).

No, instead, CFB showed me the CFCs in that mapped subdirectory just as it should, because the Server config had done its job, asking CF to tell it what packages there are (in mappings, in the webroot, in custom tags, etc) just like CF does when you invoke a CFC.

So why is it not working for you? I have a guess. Let me know if it's the answer (and even if not, it may help someone else).

Did you by any chance create any of the stuff you're trying to access AFTER CFbuilder had been started? Whether the CF admin mapping, or the CFC, or the subdirectory it's in? If so, that's the problem.

It helps to keep in mind a difference between how CF works, and how CFB works. When you execute some CFML to invoke a CFC, CF will find it at runtime, even if you just created it, because we all know that's how CF works. It looks for things on the fly.

Now, you mention that the Services browser found it, but if you opened that AFTER you'd created the mapping/dir/file, it would find it *at that point* because it would be scanning the server *at that point*. (I'm pretty sure it uses RDS to call upon the older component browser, such as is at http://servername/CF...).

So why, if these work, does the code insight not find it? Because CFB's list of cfcs and packages doesn't come from any runtime lookup (at the time you type). That would obviously take too long each time someone typed code that invoked a CFC. And it's not using the same list that was gathered by the services browser.

Instead, it builds the list when the "server" connection is refreshed, which by default is when you start CFB, or when you start or stop a server (right-clicking it in the Servers view), or when you refresh it (also an option in the right-click on a server). Now, it may seem that the last option is the answer--but sadly (and I think it's tragic), what the "refresh" of a server does is restart it. They really ought to label it as such.

We really do clearly need something that *just* refreshes the server lookup. This is a perfect case where it's needed.

So does that solve it for you, Dominique? Does it help anyone else (now or reading this in the future? Let me know.)
# Posted By Charlie Arehart | 5/26/10 7:56 PM
@Dan, you *MUST* have a Server configuration defined (and successfully connected to your server) and then the file you open (with the CFML you want to ctrl-click/hover on) has to a) be in a project and b) that project *MUST* be defined to connect to the aforementioned Server.

Similar to what I just explained to Dominique (which of course I realize you didn't see before writing), we have to keep in mind that CFB only can get info like that (what CFCs are defined, where they are, etc) by it scanning the server at the startup of CFB. That's why you have to have a Server defined, working, and connected to your project for that feature to work.

Make sense?
# Posted By Charlie Arehart | 5/26/10 7:59 PM
When they have a Linux version, I'll buy it... 8 of 10 developers at my working place work with Linux (mainly ubunutu). Adobe just ignores that theses days many development is done on Linux.
# Posted By Daniel | 5/27/10 6:07 AM
Charlie,
yes I posted a question before I read all the comments...sorry.
Now, I am not sure I totally understand. I set up a server (local dev version of CF9 on my desktop), my project is in the wwwroot folder, I can see my database tables in RDS, and when I want to use the built in browsers to view code, I can do that.
So, what am I missing? Could I have changed up a setting in preferences that turned this off?

From what I read, I should be able to mouse over a cfinvoke statement, hold down the ctrl key, and something should display showing me the cfc the invoke is calling, and give me the ability to open that cfc right at the proper function...is this correct?

Not sure why I don't see this...maybe it is just me...

Thanks
Dan
# Posted By Dan Fredericks | 5/27/10 7:10 AM
@Daniel, do you really think Adobe is flat ignoring this? Don't you think that market forces (or technical challenges) drive the decision? I have to say I do lament when I hear such plaintive cries all the time. "Why doesn't Adobe advertise CF more?" "Why don't they beat the doors of companies to push it? "Why don't they get it taught in universities?" "Why don't they do x?" "Why do they do y?"

I just accept that as a publicly traded company in a capitalist marketplace, they do what is in their economic interest to do, and they don't do what they is not. I just don't get the hand-wringing about such things. If they don't do something one doesn't want, then people can vote with their feet or wallets.

Sorry, I didn't get too much sleep last night so perhaps I'm a bit cranky.

I'll say as well that it pains me that my attempt to shine light on "more reasons people should consider buying CFB" (to focus on the positive) has been turned instead into a gripe session about what it doesn't do, or how this or that doesn't work.

I guess people want to air their concerns, and they figure a place where positives are mentioned is a good place to point out their negatives. So here's where free speech confronts capitalism.

I just am not sure I want the picketers on my lawn. But I'm not going to pull a Clint Eastwood a la Gran Tourino, so such folks are safe--for now. :-)
# Posted By charlie arehart | 5/27/10 1:46 PM
@Dan, please reread my last comment to you. I said you *MUST* setup a server configuration and connect your project to that. Setting up RDS is not enough.
# Posted By charlie arehart | 5/27/10 1:48 PM
Charlie,
I may not have stated it right, but I did set up a server. Actually I have multiple servers set up.
My project is set up with a server. I right clicked on my project folder, and checked properties. I looked at CF Server Settings, and it shows my server in the Select Server area.
If this is the case, I should be able to mouse over a cfinvoke with the CTRL button held down, and see a link to the cfc?
Is this correct, or am i still missing something?

thanks for being patient.
# Posted By Dan Fredericks | 5/27/10 2:07 PM
Linked Resources are an eclipse feature. Might be why it isn't documented thoroughly with CFBuilder documentation.

http://bit.ly/blifdy...
http://bit.ly/bWogub...
http://bit.ly/a2X8Gv...
# Posted By Mike Henke | 5/27/10 2:53 PM
That's true, Mike (and I do point that out in the preso).

But it's not clear where that would help with any of this. I would not expect it would aid in problems of CFB's code insight, which I think is relying solely on the Server config. I suppose it may for the ctrl-click/hover, since that's from Aptana.

Have you confirmed? Thanks for your thoughts.
# Posted By Charlie Arehart | 5/27/10 3:31 PM
I need to read your post and comments more closely :-)

Eclipse documentation states "Some plug-ins built on top of the Eclipse platform are not compatible with linked resources. If this is the case, you can completely disable the linked resource feature to prevent them from being created in your workspace."

Another issue maybe how CFBuilder is to build the insight, similar to getmetadata() not handling mixins/cfincludes in cfcs.
# Posted By Mike Henke | 5/27/10 3:39 PM
@Charlie
I think it's prejudgement that there is no market for Linux users. Mark Mandel has a good blog entry on that.
http://www.compoundt...
Since it was possible to lunch the beta in Linux (thanks to Mark), I personally think if there would have been a will, it would have happen also for the final version.
# Posted By Daniel Schmid | 5/28/10 3:16 AM
@Daniel, please don't put words into my mouth. I didn't say there was "no market" (nor did I "prejudge" anything). I said simply that it seems from an objective outside observation (mine) that Adobe doesn't deem there to be enough of a market to justify the expense. I have no inside info on this. More than that, I thought my comment was quite clear.

Why are things like this always so contentious, leading people to read more into things than what's said? Honestly, there seems to have been more of that lately than I can remember. Maybe it's the twitter culture, and people are simply not reading every word of someone's statement/comment.

Yesterday it made me think of Gran Torino, where I had in mind the temptation to tell picketers to "get off my lawn" :-) I said I could, not that I would. I understand people wanting to vent.

Instead today I will invoke Seinfeld as I deal with that. "Serenity now....serenity now". :-)
# Posted By Charlie Arehart | 5/28/10 10:13 AM
Charlie, thanks for your reply.

The funny thing is, I tried it just now. And indeed, it works. The difference here is that I'm now at home and not at work, both CFB installations by the way are still trials, but that's not that important.

What I did now: I created d:\projectA\components\ComponentB.cfc. D:\ProjectA was the root of the project in CFB. I created the files and the project in CFB. I then added a mapping in the ColdFusion Administrator to d:\ProjectA called ProjectA. Then I restarted CFB.

In all projects that have the server set, ProjectA.components.ComponentB is being shown as suggestion, and the aRandomFunction method is also shown.

So, yes, it works. But still, this same setup, at my office workstation, does not seem to work. The mapping is there already, I start CFB and yet, no components from server mappings. None, if I'm correct. I guess I'll just have to do some more tests.

By the way, you're right, there are no virtual mappings, I meant the additional resources as linked folders.
# Posted By Dominique | 5/30/10 7:29 AM
Allright. At home I have CF9, but CF8 at the office. Could this be an issue?
# Posted By Dominique | 5/30/10 7:49 AM
I small update: I have now installed CF9, and it works. So I guess the server wasn't properly configured. Weird, though.
# Posted By Dominique | 6/3/10 9:38 AM
My response to the original question: ColdFusion Builder versus Dreamweaver.

A little of a year ago I made a conscience choice to switch (with my team) from Dreamweaver to CFBuilder. We have been using CF Builder 1 and 2. Despite keeping myself and my team disciplined to consistently use ColdFusion Builder, I am still very much contemplating on switching back.

Generally you can say that ColdFusion Builder makes complex things easy, but easy things complex. And since 90% of what we do would be basic tasks, Dreamweaver is much more practical for us.

For example, it's almost 2012, and there is no support for HTML5 yet. So by default, all HTML tags that were not included in HTML a couple of years ago will display errors (the tag 'footer' does not exist). Of course,it's Eclipse, so it's solvable, but it will take you half a day or so. In my case, I solved it by installing a copy of the latest Aptana (that has HTML5 support) on top of the included one and then messing with random settings just until the error messages were gone. Note that the configuration settings for HTML are completely different from CFML, so if you combine CFML and HTML, I'm just not sure what to do.But I guess it all depends on your file extension which profile is used. Anyway, just to figure out basic stuff like that will take you a long, long time. And usually I solve things not by understanding the logic, but by messing with the settings just until it somewhat works. The logic of the software is very, very different than other Adobe software.

The simple fact that Charlie needs to explain that basic things like word wrap are even possible, I think underlines this fact. Nobody gets confused whether line numbering or word wrap can be done in Dreamweaver. It's just there, you can find it.

Another example on how the easy has been made difficult. In ColdFusion Builder 2, search and replace has been redesigned. I couldn't find out how to use in less than 15 minutes, so I decided to just copy and paste my code in Notepad instead whenever I do a search and replace, because I don't want the risk of spending one and half hour messing with preference boxes to do a simple search and replace in my open file, and still not finding out how to do it.

There is code formatting in CF Builder 2, but it is nowhere near as nice as Dreamweaver's, unless you spend 3 hours or so trying to set sensible defaults. And of course, as soon as you switch machines, you can take another week to re-tweak your CF Builder because the defaults may be great for Java-programmers, those coming from a web background will find they will need to change pretty much all the defaults.

The fact that the preferences dialog has a search function just to find the right tab says a lot. Even then I more often than not cannot find what I'm looking for (I remember in CF Builder 1 'word wrap' was on an 'advanced' tab (!) so it didn't appear in the search).

For debugging, ColdFusion Builder is superior to Dreamweaver. For everything else - from color coding and formatting, tag support and completion, etc etc - I find Dreamweaver far superior to ColdFusion Builder. My guess is that those who did C# or Java-programming before may prefer ColdFusion Builder. If you are like me, a web developer who chose ColdFusion because it makes hard things easy, be prepared: ColdFusion Builder does exactly the opposite by making easy things often mind-boggling hard.
# Posted By Andor | 11/17/11 10:11 AM
@Andor, thanks for sharing your observations after your year of use. You raise reasonable complaints. Let me offer some thoughts in reply.

HTML5 support/Apatana updates
--------------------------------------

Of course, as for HTML5 support, like you say the solution is not so much to come from the Adobe team as from the Aptana team (since that's the part of CFBuilder that handles things like HTML). And as you note, Aptana did update for that, but our dilemma is that CFB has not (as of this writing) been updated to support that.

And while you could add it manually, as you did, that's going to be above the paygrade for most CFB users, I think. And some will say that's the problem: it's not easy to update. But then we should ask if Adobe made that an engineering intent (for one to be able to drop in a new Aptana). They did not, and I think it's fair to assume that it would have been a lot of work (to predict somehow that such future manually applied updates could be done in a way that would be sure to work).

So I accept that we just can't do that, and therefore yes, it means that when there's a gap in time between Adobe updating things included in CFB, we will suffer. Like you also say, it "is Eclipse" so may well be solvable by other means, but even then we might still not know for sure how any such plugin would work with CFB (and the built-in Aptana, and any other plugins already in CFB).

So, I suppose that's a knock against CFB. Yes, it's extensible, but some attempts to do that may be brittle due to interdependencies.

Now, I don't know that DW is really THAT much better on that count: there too one could find conflicts among extensions.

But I think your main point is that DW better handles the HTML5 problem: they did offer an HTML5 pack (http://forta.com/blo..., and I see you even commented there.)

Then again, some may ask if CFB is targeted at the same audience as DW. DW is and has always been an HTML-focused tool, with CFML support added later (and now pretty substantially baked in). CFB is at root Eclipse, which was a Java-focused tool. Aptana added HTML support, and CFB includes Aptana to give it that support. Of course, to many, if CFB is going to be a CFML IDE, it needs to optimally support HTML, and in your case you feel that means HTML5 support should be mandatory.

But I'll just say that there are many users of CFB for whom that's not so significant an issue, and it would seem a combination of that (HTML5 just not fully mainstream yet, in the CF developer world) and the challenge of updating Aptana that has us still waiting for it to come.

Logic of CFB different than DW
-------------------------------------

Here your focus is on differences in UI, and how to find and do things. And for that, indeed, the two are different. I alluded to the main reason above: DW was written at core for HTML developers, Eclipse was written at core for Java developers. And of course both were written by entirely different teams (DW by Macromedia/Adobe, Eclipse by many open source contributors).

While the CFB team has done some considerable work to help make users of DW and HomeSite more comfortable in CFB, there are limits to how much they can do. The location of controlling word wrap is a perfect example.

So with that, one is left then deciding if such issues are enough to push one away. For some, it has been. For others, they figure it's like moving to a new country. Sure, at first there's confusion over differences in laws, conventions, mores, idioms, and so on--enough to drive you nuts. But if you like the new country enough, you grow used to those differences over time and soon accept them.

For some people, the differences in CFB (compared to DW) will never be smooth enough, and I think Adobe realizes that they can't expect all DW users to make the transition.

I don't know if I'd go so far to say that CFB's claim to fame is to "make complex things easy". It does a lot more, including making some simple things easy. But these will always be subjective decisions. I'm not knocking yours, Andor. Just offering a counterpoint.

As for search and replace in CFB2 being difficult for you, that's a surprise, because in fact that particular redesign (of the find dialogue, in CFB2) was done specifically to make it more comfortable for those coming from other editors. I thought they did a good job in that respect, so I'm really surprised to hear that you found it challenging. What was your particular concern? (On the contrary, most complaints in my observation have come from died-in-the-wool Eclipse-oriented users who wanted the old way back.)

As for code formatting, again I haven't seen the problem, but I appreciate that it's one of those features that different people will have very different expectations. And to your point that configuring it, or exporting it, is a challenge, that again would be a fair point. Maybe someone reading this may chime in with some assistance if there's something you've missed (I have not focused on those two problems enough to offer an answer, but I suspect one exists. There are features to export various things. Some may be more or less granular, and some may suit one's particular needs better or worse.)

As for the preferences filter feature not always working, I lament that too. I don't know why we can't expect to find any word in any setting in any preference page, but sadly we cannot. This would rank high in my list of CFB annoyances, but again others might counter that once you do find how to set something, it would hopefully be less of an issue. But like you say, there are so many settings and so many pages of them, that only those who really devote themselves to the tool will grow to have that sort of comfort with them.

And that really is what your comment is all about: as is ALWAYS the case with editor/IDE choices, it's an EXTREMELY personal decision, and different folks will find pros and cons to different tools that will either delight or madden them. If it's a tool you use all day, then that only exacerbates the problem.

The choice then seems always to come down to this: do the benefits justify becoming comfortable in the new tool? If not, it's understandable that one would choose to leave. You said that you were replying to the "original question, CFB vs DW". Actually, that wasn't the real original question (of either my post of the one I was replying to): that was basically, "why should I pay for CFB".

I and others have offered answers to that question, and yes, those may come at a cost beyond $ but time and a change in thinking in using the tool. In both cases, there may be a considerable investment. (Not always: some find it quite comfortable, and I don't know that all would consider it to be "making easy things mind-boggling hard".)

But there's no doubt that many people could offer similarly extensive commentaries on why they would not make that switch, or they may (as you have) want to warn people of costs to consider. Fair enough.

I would propose, though, that there are sure to be many other places where that has been discussed and debated even more than here. If anyone knows of particular blog entries or list/forum threads where an interested reader may turn, please leave that here.

That said, I'd really rather this not become a place with a lot of that discussion. Again, my focus was on "why one should consider paying for it", meaning I wanted to point out things it could do that one may not have considered. Are there differences? Sure, again, switching editors is ALWAYS hard in ANY environment. I think the point's been made adequately here now, so I'd ask we not have any more discussion of "why one should not" use it. Again, it's a reasonable discussion, but just not one I want to open up here. (Our two comments alone are already each blog-length. :-) I could see it going on significantly if we opened it up to that discussion.)

Again, if you or anyone else wants to start (or finds) a blog entry or discussion where people interested can read more and offer their thoughts, please point it out. And Andor, if you want to offer any reply to the above, please do. I don't mean to say I want the last word. I'm just discouraging others from jumping into the sandbox and shooting the same water pistols. :-)
# Posted By Charlie Arehart | 11/17/11 11:33 AM
One other point of update for this entry (which was written in May 2010): since then Adobe has made CFBuilder 2 work in such a way that after the 60-day trial, it becomes in fact free. They refer to it as "Express". Again, it reverts to that after the 60-day trial. More on that at http://cfdocyard.blo...

And also new since the original posting of this is the mere fact of CFBuilder 2, which adds still more features and (as I mentioned in the last comment) even has some changes focused on making folks from other editors more comfortable. So at least Adobe is indeed listening and making some headway on that front. :-)

I'm sure we'll see more in the next update.
# Posted By Charlie Arehart | 11/17/11 12:02 PM
Speaking of the next update to CFBuilder, it was mentioned publicly for the first time just yesterday at CF.objective(ANZ), as documented in a few places, like http://henke.ws/post...

I'm sure more details will come out soon.
# Posted By Charlie Arehart | 11/17/11 12:03 PM
Hi Charlie,

Thanks for your quick reply. While I see how you got that impression, I was not trying to diss ColdFusion Builder. I am working with it as we speak :) Moreover, I think we are basically saying the same thing: DW and CFB are two very different beasts.

To me it seemed a no-brainer: as a ColdFusion oriented company, we needed to switch to CFB as soon as it came out. If Adobe releases two products, one of which is exclusively tailored to CF and the other to web development in general, CFB seems like an obvious choice. Except it is not, as I have to conclude after trying for a year to find the justification to come to a different conclusion.

HTML5 support certainly isn't the deal breaker, but it is a nice illustration. ColdFusion isn't Java or C#: it is a language exclusively geared towards building web applications. Hence, I think it is fair to expect CFB to compete with the best of them. But for those coming from a web development background, CFB is surprisingly cumbersome. I had to vocally defend CFB to my development team for the past year. And while the 'give us back our dreamweaver' choir has silenced by now, I do expect happy faces if we indeed decide to switch back.

I applaud Adobe for building a specific IDE for CF, and as of CFB2 for effectively giving it away for free. But here is what I find puzzling: the main argument for using ColdFusion over other development platforms is its power-through-relative-simplicity. But while CFB can do a lot, by it does so by sacrificing ease of use quite dramatically. So much so, that in my humble opinion it is fair to ask if CFB strengthens or weakens the overall business proposition of ColdFusion. I think the software is mostly intended to lure in .Net developers who come for a programming background and who were working in Visual Studio before. But I also believe that ColdFusion is still a great (the greatest!) platform for web developers; I just hope that CFB won't discourage them.

For me, the jury is still out, but I am hoping on some obvious improvements subsequent versions of CFB. And some things - like Subversion and GIT support - are much better in CFB. But I do want to warn people that CFB is not by default the best tool to build ColdFusion applications.

Oh and sorry about hijacking your blog for the 'DW vs CFB' discussion - I got to your blog as one of the highest entries for that particular query in Google (am still trying to learn if I'm not missing something here). I guess I mixed up some posts while reading. My bad!
# Posted By Andor | 11/17/11 12:56 PM
I am trying to set up a server in CF Bulder and CF10. Server Home (I think) should be c:\ColdFusion10 but the software says that it is invalid. When I use c:\inetpub but I get "version name is not provided" but I cannot put anything in it, because it is grayed out. Can someone tell me how I fix this?
# Posted By Phil | 9/20/12 4:29 PM
@Phil, the most common cause of this is that you didn't change "application server" field on the first page in the CFB server setup (the window labeled "Server Settings" when it opens). If the "application server" value is set to JRun, change it to "CF+Tomcat Bundle".

And if you don't see that as an option, then it means you're still running CFBuilder 2.0, not 2.0.1 (which added support for CF10).

Please do reply to let me know if that helps or not. And if not, though, I'd recommend you then take this to the CFBuilder-specific Adobe Forum (http://forums.adobe....).

There have been various threads addressing this specific challenge, and here are two links into specific messages related to this answer in two different threads: http://forums.adobe.... and http://forums.adobe....

Hope that helps.
# Posted By Charlie Arehart | 9/20/12 6:53 PM
Copyright ©2018 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting