This blog has been moved to

Sunday, June 03, 2007

Dispatch - Visual Studio 2005 FTP Upload

I've been working on a website for my home owners association (HOA from here on) recently (converting it to ASP.Net). The website includes tons of documents (pdfs and such) and pages (it includes PHPBB). As you can probably imagine, whenever I make a change to the site, I need to upload it to the web host.

Now perhaps I didn't have it configured properly, but I found the FTP support in Visual Studio 2005 (VS from here on) to be woefully inadequate. Perhaps I didn't have it configured right, but it seems that VS wanted to upload the entire website every time I published it. Not only that, but VS completely froze while it did this (no feedback to the user on progress and couldn't do anything else while it was uploading). This might be ok if you only have 1 or 2 files, but when you have hundreds of files, some of them quite large, this is absurd.

The HOA site is currently hosted by Yahoo! Small Business hosting (no, this is not where the ASP.Net 2 hosting is going to be). Yahoo! provides a tool called Yahoo! Site Builder to help build your website. Overall I find the tool crap (though perhaps it is great for users without several years of web development experience), however, their publishing mechanism is great. It keeps track of the files that have been modified and only uploads those.

Well, obviously the VS FTP support was not going to work for me, so I went to Google and hunted down a tool that would provide better support. I found Dispatch. Dispatch is a simple plug-in to VS that keeps track of which files have been updated and allows you to upload those files to the server without causing VS to freeze while you do so and also provided nice feedback on the progress as well.

Dispatch also provides the ability to download remote items as well. Unfortunately it's not obvious how to do that. You first need to right-click on a folder and select "Show Remote View Overlay" and then you get download options. I can understand the need for that (it needs to establish the remote connection in order to do that), but it would be nice to have some sort of contextual help to let you know what is going on. For instance, provide the same context menu whether or not they have connected. If the user hasn't connected yet, prompt to see if they want to.

I don't think that Dispatch would work well in a team environment, but I doubt if a project being developed by a team would require FTP upload. At $15, Dispatch seems to be priced for hobbyists anyway. Overall, I think that Dispatch is a great plugin for VS. It's what Microsoft should have done. If you are working on a website and don't require the formality of a complex build process, Dispatch will make your life much simpler.

I should mention that I also use Beyond Compare for FTP access to the HOA site. It allows me to view what files are different between the local and remote copies and also allows me to view what those differences are. Very handy when you aren't sure what version is accurate or if you don't remember what you changed. Now if only Dispatch had a mechanism to hook up a file diff tool such as Beyond Compare, that would really be something!

No comments: