With the launch of the MX suite of products, Macromedia effectively pushed us all into a new realm of Web development: "Dreamweaver World." It's a new environment for many of us, and some ColdFusion programmers—including me—felt betrayed and stranded. ColdFusion Studio was at the end of its life. Homesite, another perennial favorite, had suffered a nearly similar fate, being rebuilt in an incredibly stripped-down form as an accessory to Dreamweaver MX.
So the only Web development tool available from Macromedia is Dreamweaver MX. Better get used to it.
We got new features though, right?
Macromedia went all out making Dreamweaver MX as feature-packed as possible. Too bad that in the process, it produced a tool that has a steep learning curve, is unwieldy, and demands a bit too much effort to use.
Dreamweaver introduces a variety of completely new options, such as cloaking, testing and running remote servers on top of local locations, design notes, built-in site maps, and caching. The old metaphor of the project from ColdFusion Studio has been replaced with the site in Dreamweaver MX. But once you get it all set up, the site actually makes maintaining a Web site or application relatively easy.
Many of Dreamweaver MX's features have a not-so-shabby factor in addition to a pain-in-the-caboose factor. Microsoft Visual Source Safe (VSS) integration is one of them. The integration is nice, and it’s better than what we had before. But it’s not that easy to set up. In fact, site setup is a pretty involved process compared to the few clicks it took in Studio/Homesite.
Don’t laugh, but it took me three tries to get my site (not an overly complicated one) to work correctly with VSS and Dreamweaver. The site lives on my laptop running ColdFusion MX. I basically develop everything locally and then FTP it to production. I kept getting errors telling me that the local version didn’t match the working folder, and so on. Every time I pointed my site to the VSS database on my laptop, it would seem to take. But as soon as I double-clicked on one of my files to begin editing, I'd be told that there was no file named that in the local site. It would not check in or out, and clicking on the local version in the drop-down list resulted in an error. I am pretty sure it was user error, since my third attempt at setting up the site went without a hitch. The only reason I mention this at all is that Studio and Homesite were painless—so I classify this as three times a pain in the caboose.
Studio users who are migrating to DWMX may find this list of tips helpful in getting started.
My site is entirely in Dreamweaver, and having overcome the initial setup issues, I believe it is going pretty smoothly. The integration with VSS is a little more robust from my point of view. I found the red-dot/green-dot in the project pane was sometimes a little hard to use when adding files to the site and such. Still, working within the site is pretty easy. You can check out, edit, check in, and then deploy all from Dreamweaver's Site panel (Figure A).
One menu fits all?
Macromedia went the extra mile, providing us with an abundance of panels, menus, and toolbars to control various aspects of our code and the way Dreamweaver works. We have toolbars with tabs for all sorts of ColdFusion functionality: Forms, Frames, Media, and more. But we can’t customize them. I used to have two really great toolbars that I built in Studio, with the things I most frequently used, plus a variety of custom buttons to expedite tasks such as adding a precoded #DateFormat(VARIABLE, “mm/dd/yyyy”)# function, which saved me a tremendous amount of time.
Trouble with templates
I personally like the idea of templates. I build most of my sites and applications around a template-like design. That way, when the content page calls a header module and a footer module and I inevitably decide that I want horizontal vs. vertical navigation, I can make the change in one place. This is a fairly common practice. Dreamweaver MX offers us a solution one level higher. Dreamweaver can create and manage the templates, making repeated tasks easier and effecting site-wide changes a breeze.
So what’s the problem? Let’s look at my implementation. I have a page named blog_entry.cfm. At the top of the page is a <CFMODULE> that calls the header.cfm file. The style sheet is referenced inside header.cfm, and that's where you'll find the beginning of the actual HTML code, so <HTML>, <TITLE>, and <BODY> are all in this file. The only one to be closed is the <TITLE> tag. The other tags are closed in the footer module. I started a blog on my site, and since I wanted to make the repeated task of making a new entry page as easy as possible, I started making it a template. The iceberg came when Dreamweaver did not take kindly to having a template page that had no <HTML>, <BODY>, or <TITLE> tags, let alone the corresponding closing tags. When saving a file as a template, Dreamweaver MX checks the file for well-formed HTML and presents an error if it finds a problem (Figure B).
After abandoning that endeavor, I moved on. In a later attempt to use templates at the office, we found out that for templates to be effectively used and deployed across the Web site, the entire VSS project needs to be checked out by the developer making the changes to the templates. This would not be a problem for the developer who works alone or the contractor who is the sole developer on a project, but in a corporate environment where a team of developers works on various parts of the same site, one person checking out the entire site is unrealistic.
They're gone; get over it
In addition to getting used to the new features in Dreamweaver MX, old-school ColdFusion Studio/Homesite users will feel the pinch of losing some capabilities. For instance, although snippets are still present in Dreamweaver MX, they aren’t portable from Studio/Homesite into Dreamweaver. (However, Macromedia does offer a Studio/Homesite snippet converter at Macromedia Exchange.) If you’re anything like me, you have quite a collection of snippets to handle a multitude of tasks. Creating a snippet in Dreamweaver MX is about as easy as it was in Studio/Homesite, so there isn’t much of a learning curve.
One of the features I most miss from Studio is the ability to right-click and insert an expression—something from any of the variables’ scopes, a function, or a tag. There are a lot of functions and tags in the ColdFusion language and even more with the new MX functionality, and that doesn’t even include other languages. Keeping track of them all is tough. With Studio, essentially the entire ColdFusion language and all of the CGI variables that ColdFusion could access were at our fingertips. I’ll be the first to admit that I can’t remember each attribute of every tag and which attributes are required for a function. Being able to right-click and quickly find the function I was looking for was a blessing.
So how do you get around this? Well, you can right-click and activate the Tag Chooser, although it's a far cry from the Insert Expression feature. You have a great many choices of languages, which is nice, but all you get are tags (Figure C). No functions, no variables—just tags. There’s no intelligence behind it, either. Clicking on <CTRY></CFTRY> simply inserts the two tags. You still have to know the attributes that are required for the tags. There is a Tag Inspector at the bottom of the wizard, but once you click OK, the wizard goes away. Hope you have a good memory.
Life after Studio
Obviously, some things in Dreamweaver MX could be better. But when is that not the case? Keep in mind that despite its being a Dreamweaver product, MX is the first version of the software in the MX product suite, so there is room to grow. Further integration and enhancements should follow in new versions and service packs. Dreamweaver MX is a far better product than any of its predecessors and has a lot to offer. Those of us who refused to use any tool other than the Homesite/Studio products will just have to adapt and learn to use this new product. Believe me, I—and no doubt countless others who have any ties to Macromedia—have tried and tried to bring Studio back. It isn’t happening.