Yesterday I posted about upgrading my blog to BlogCFC 5.9.3. How I went about the upgrade process is probably just as important as getting on the latest version. What follows is a run-down of how I upgraded, what tools I used to make it painless, and the SQL scripts I wrote you can use to get your own blog upgraded. Hit the more link for all the goodness.
About a month ago I received an e-mail from Roman Villarreal, founder and CEO of Lumenbrite Training, an Adobe Authorized Training center. Roman was writing an article for the Adobe Development Center and he wanted to mention my name in the article and link to my CFEclipse snippets. Well, Roman's article is now out and you should give it a read if you are new to Eclipse or CFEclipse, or if you need help with any of the following:
- installing CFEclipse
- configuring your development environment
- setting up snippets
- integrating with a SnipEx server
- using CF8 extensions
- using the Tasks panel
- using RDS and the Visual Query Builder
- using CFC Wizards
I recently set up a SnipEx server at work and blew about 2 hours trying to get things online and working inside of CFEclipse 18.104.22.168. The problem was with the Snip Tree View caching the SnipEx server's XML content. Since I used the CFLib SnipEx server as a test, I knew it was possible to get a snippets server up and running. I just couldn't figure out why no amount of Eclipse restart (with -clean) or Snip Tree View refresh would cause my snippets to show up in the panel. They were showing just fine if I invoked the CFC methods directly in a browser.
The problem surrounded how the Snip Tree View caches the XML content it retrieves. I'm not sure why you would want to do this and I believe Mark is going to fix this in a future release of SnipEx. Nevertheless, if you need to "refresh" snippets served by SnipEx (like when you add a new snippet) you'll want to delete all the XML files in your SnipEx directory. You will likely need to do this several times as you setup your SnipEx server.
On Windows, the path may look like:
C:\Documents and Settings\[username]\[workspace_name]\.metadata\.plugins\org.cfeclipse.cfml\snipex\
Delete everything in the snipex directory and refresh the Snip Tree View panel and you'll be set.
Throughout the parts of this text I've used TortoiseSVN to perform all repository actions. This was mainly due to the simplicity and ease of use TortoiseSVN affords. TortoiseSVN is also handy when versioning assets that aren't code-related like spreadsheets and general documents. When working with code - ColdFusion for instance - there are other Subversion clients that work just as good as TortoiseSVN and don't require you to leave your development environment to request repository updates or commit changes. One such tool is Subclipse which is built on the open-source Eclipse platform. Eclipse is an extremely popular Java-based programming tool that works with just about every modern programming language. I use Eclipse and Eclipse plugins like CFEclipse on a daily basis to manage my code. In the this section, I discuss installing, configuring, and using Subclipse, the Subversion plugin for Eclipse.
In an effort to support the open source community (which includes the ColdFusion community via projects like BlogCFC and CFEclipse) I've added a new pod on the right that serves up Kalator ads. Kalator is a new ad service created by Rob Rohan that only serves up ads from open source projects. If you have an open source project you can submit it to the Kalator service or you can help support the open source community by picking a banner size and adding the appropriate code to your Web site.
Testing CF Applications with John Paul Ashenfelter
John Paul Ashenfelter does it again. Yesterday's Agile ColdFusion session was truly a gem. Today, John Paul (I'm not sure if this is what he prefers to go by, but I'll run with it for now) gave another talk on testing CF applications. If you read my post from yesterday you know part of John Paul's Agile preso involved a discussion on the importance of testing your CF applications. Today, he took that discussion to a whole new level.
I've been spending a fair amount of time lately getting acquainted with the Subclipse Subversion plugin for Eclipse. Me and the rest of the folks in the user group are using a Subversion repository to manage the implementation of our new Web site.
Through using Subclipse over the last few days I've found myself constantly using the Subversion Console tab and the Pending SVN Operations tab. The Console tab shows all the command-line operations initiated each time you use one of the Subclipse menu options to update your local files or commit changes to your repository. Knowing what underlying commands are generated and the results therein is very useful in understanding how things work. The Pending SVN Operations tab is viewable by right clicking your CFEclipse project and selecting the Team->Show Pending Operations option. This view will present you with a list of local files that you have altered and that need to be committed to the repository. Simply right-clicking the files listed and selecting Team->Commit will let you submit your changes and comments to your repository.
I'm still trying to figure some things out, so if anyone has similar tips or tricks, please pass them on!
The tutorials section of my Web site is getting rather dated so I'd like to freshen it up a bit. Fortunately, a few people have requested certain tutorials/articles, like a new ColdFusion Login tutorial that focuses on ColdFusion MX 7's Application.cfc component. I'm working on this one and hope to have it up on the site by the end of this weekend. I'm also writing a detailed series of blog posts focusing on getting Apache, ColdFusion, MySQL, Eclipse (and CFEclipse), and Subversion running on OS X. However, I'm curious as to what other tutorials the general community is interested in. So, shoot me an e-mail or post in the comments and let me know what you'd like to see.
A few months back I bought a Powerbook and made the switch from PC to Mac. Motivation for the switch was provided primarily by my wife's level of productivity with her 12'' Powerbook. She had been wanting her own laptop instead of hijacking my Alienware when she wanted to do something. I surprised her with the Powerbook and upgraded my home network to wireless. Watching my wife enjoy her Powerbook in the den, in the bedroom, and on the back deck made me a little bit jealous. My Alienware was a really nice laptop. It was a desktop replacement, and served me well for 2 years. However, there are some things that the Powerbook line (and Mac's in general) do much better than any Windows laptop. I decided that I wanted my own Powerbook and I haven't looked back since. It's been, to-date, the best computer I've ever owned!
I had heard about Eclipse for months but never looked into it since I was at the time still on a PC and using HomeSite. Moving to the Mac gave me the opportunity, or perhaps a real reason, to look at Eclipse. I've been using the editor, coupled with CFEclipse for about 2 weeks now. There are a lot of things to like about Eclipse. First and foremost it's FREE. I'm still finding this fact hard to believe since Eclipse is so feature-rich. Secondly, it runs on a slew of platforms including Windows, Linux, Solaris, AIX, HP-UX, and Mac OSX.
Eclipse uses some different metaphors for developing that I wasn't privvy to. It uses the idea of a workspace where all your projects files are stored. This, in a way, is synonomous with Dreamweaver "sites" with one extra storage level. You can have several differenet workspaces but only one default. A workspace is essentially a physical location on your machine where you want to store your projects. The projects can be Java projects, ColdFusion applications, or anything else you can think of. Next, Eclipse uses something called "perspectives." Perspectives are basically IDE layouts designed for specific types of code or projects. The CFEclipse plugin is an example of a perspective. It provides several panels in the IDE that relate specifically to ColdFusion development. For example, there's the CFC Methods View panel. This is basically a CFC explorer that shows all CFC's rolled into a CF project. There's an Outline panel that shows the breakdown of an individual CF template by major code block. For instance, each block of CFSCRIPT you write will get an entry in the Outline panel. Next, there's the code window itself. With the CFEclipse plugin installed you get the benefit of syntax coloring, tag completion, tag inspection, and toolbar buttons for common ColdFusion elements like comments. As with Dreamweaver and HomeSite you can also instruct Eclipse to show line numbers in the gutter and you can make use of code snippets. There are some additional features of Eclipse that really stood out immediately. Take the line modification highlight for instance. As you change parts of your template Eclipse puts a little mark in the gutter letting you know which lines have changed since you last saved the template. As soon as you save the template, all those marks go away. Awesome! Did I mention Eclipse integrates with CVS? At least, that's what I've read. I need to learn more about this feature though.
What about things I don't like? According to some Eclipse has a large footprint on the machine when running. This hasn't been my experience at all. I've got Eclipse up right now with several CF templates open and it's taking up 844 KB of real memory and 27.19 MB of virtual memory. That's nothing considering DWMX 2004 is occupying 58 MB of real memory and 291 MB of virtual memory. And I don't have one document open in Dreamweaver. There are two things I'd like to see in Eclipse one of which is present in nearly every application on Mac and Windows. In Eclipse you can't highlight a code block and then use your mouse to drag and drop the code to another location in the document. This behavior is something native to just about every code editor I've ever used. It's also something you can do in just about every other text editing program on Mac and Windows. So why not in Eclipse? I'd also like to see a code collapse feature in Eclipse. Being able to collapse an entire CFFUNCTION block or blocks would be extremely helpful in targeting the area of the template you need to focus on. Code collapse would be useful everywhere no matter what type of code you are writing. Code collapse is something a lot of people will be more aware of near the middle of 2005. Trust me. ;-)
All-in-all I'm impressed with Eclipse and CFEclipse. Not only have I made the switch from PC to Mac, but I've also made the switch from HomeSite to Eclipse. If you use Eclipse I'd love to hear about your experience. I know I've got a lot to learn about the editor so if you have some tips or suggestions for me I'd love to hear those too. Drop me a line at trajik210 at Google mail.