Friends of mine with a windows machine asked me for a way to edit webstites locally and then publish them (to my linux webserver). I found two very nice windows open source programs for authoring and efficiently synchronising web sites.

Authoring with NVU

Linspire has forked what was mozilla composer and created NVU.
With this one can edit multiple websites, giving WYSIWYG, html and combined views.
Also one can easily view the websites locally using the "browse" toolbar button.

NVU has inbuilt support for synchronising or publishing the web sites, however only FTP is supported. The last time I used FTP was to access etc. in 1993. Clear text passwords, bidirectional connection based protocol, non standard support for setting permissions etc. Are they joking? Instead I recommended using winscp to publish the web sites.

Efficiently Synchronising with winscp

I considered rsync for windows, but currently there is not a native port of this and therefore one must use the cygwin mapping layer. So I decided on winscp.

This really is a very nice and actively maintained program, and very suitable for the job. rsync is more efficient but only generally when sychronising large files whose content doesn't vary much, and this is not generally the characteristics of a website.

winscp has a synchronise function (that can be selected automatically on startup with the /synchronize command line option). There are options to sync on file timestamp (the default) or file size or both, and one can preview and filter the operations before continuing. Generally one can click OK and it does the right thing.

I automated this process somewhat by creating a stored session (that can be easily exported/imported using regedit) that contains config for Then I created a shortcut to "winscp3.exe" session_name /synchronize.
The private key is specified so that a password is not stored or required to login to the remote server.
Also the remote server can restrict access using this key. I created the key pair using puttygen

I also recommended installing firefox and the gimp open source programs for web browsing and image manipulation respectively.
© Jul 31 2006