Web Deployment in Visual Studio "Whidbey"

Paschal had some good questions/comments about web deployment today in Visual Studio (http://weblogs.asp.net/pleloup/32950):

Because it's PDC time, I like to ask some questions about the future.

Guys, in Whidbey can we expect a better Web deployment system ?

I would like for example to be able to upload to my server a set of files, without deploying all my site.

Actually I can use right click on the files I don't want to deploy and ask Exclude from the project, but this create some issues.

I would like to have a FTP kind of features embedded in Visual Studio. I am sure it's not big deal to do so ;-)

I would like also that when I am opening a web project directly from my server, I can lock some files. So next time I deploy the site Visual Studio will be smart enough to not overwrite the locked files.
It will surely improve the deployment speed.

Currently I experienced quite often a timeout problem with deployment, and I am working on a 2 Mb line !

It's quite frustrating to have this Timeout error box coming just before the end of a long deployment.

The good news is that the story in Whidbey gets much, much better.  Here is a sneak peak screenshot of it in action (note that it is a big screenshot -- so you want to open the picture separately to avoid the browser shrinking the picture and making it unreadable).

Some specifics about our story in Whidbey:

There is a new “Publish Web” tool within Visual Studio that makes it much, much easier to transfer/deploy a website onto a server (that is what the above picture is of).  Specifically, it allows you to connect over standard FTP, Frontpage Server Extensions or just a file share.  You can then select which files you want to copy over from your web project, and then click the “->“ (right arrow) button to copy them to the remote server. 

You can apply and define custom filters to control what content is copied, or just manually shift select those files you want to move.  The tool will keep track of where the latest files live (example: maybe the server has more recent files) and identify each file that is newer than the target with an arrow,  making it easier to see where the latest files live (for example: in the screenshot above notice the “new“ files on the left like app.sitemap where the tool has put an arrow highlighting them).  You can bring files from the server back to your local copy by hitting the “<-“ button (left arrow).  You can also hit the sync button “<->“ which will automatically copy files back and forth to make sure that the latest files existing in both locations (note: it automatically handles timestamps across time-zones for you).

A detailed log file is also kept for each transfer - making it easy to go back in time to figure out what you did or didn't move over the course of a day or week.

Because the “Publish Web” tool is implemented as a tool window inside Visual Studio, you can keep it open while you are working and just tab into it (or just bring it up when you want to), and then hit the publish button to synchronize your content again.  Makes moving things easy -- you never even have to leave the IDE.

Visual Studio “Whidbey” also now supports doing live edits on remote servers over FTP as well -- which makes it possible to make a “quick edit” on a single file on your site without having to either connect with FPSE, recompile and build the site, or explictly publish again.  Note that our publish web tool uses timestamps to avoid overriding more recent files, so you don't need to resort to locking to preventing overriding newer files.

Hope this helps.

7 Comments

  • How about deployment over WebDAV? WebDAV is a lot more secure than FTP because you can deploy over HTTPS/SSL. I don't know what benefits (if any) FPSE have over WebDAV, but it would be nice to use a more standard mechanism for publishing a site.

  • What about compiled files. Currently all the .cs files get compiled into one big Web.dll. How I can selectively choose which files to send over? How is the Web.dll handled in this case?

    Thanks

    Abdullah

  • I would agree that WebDav would be much more secure. And definitely more useful than any of the other transfer methods mentioned.



    Can we get WebDAV?



    Awesome site btw... Just hit in here from activewin.com

  • Let me add my voice to the chorus of folks saying WebDav!

  • This looks like a big improvement.



    :)

  • Hi,



    i really would like to see deployment via SCP (Secure Copy part of SSH)...from a security standpoint, this is the protocol of choice for servers in a dmz...



    bye

    dominick

  • Looks great, but like in most (FTP) publishing applications, I miss a &quot;template&quot; set where I define wildcards for what type of files should be uploaded to the server. Files like *.cs doesn't need to be uploaded, and therefore shouldn't be. It would be nice to be able to publish files to a server in a similar way you put files into a setup project today.



    As Visual Studio knows well which types of files that needs to be uploaded and not, it should be default that it doesn't upload *.cs files. Please create a function for this.



    Also, I have no use for downloading files from the server, as all files are checked into Source Safe before uploading, hence everyone will have the latest files if they do &quot;Get Latest&quot;. Therefore, it would be nice to be able to deactivate the date-checking feature, because I reckon this might be time consuming. If it's not, I don't care much about the feature unless it bugs me. :-)



    Looking forward to trying this out!

Comments have been disabled for this content.