And now is the time to release the first useful program since I got into the .NET SDK: GarooSync 0.1.
I have been wanting an FTP utility like this one for a long time, and it was becoming an emergency now that I’m working on a eZ publish project, involving lots of subdirectories everywhere.
Here’s the idea: I have on my hard drive local copies of my websites, corresponding to FTP-accessible distant directories — I’d expect any serious webmaster to have this setup, as I don’t see any other reasonable way to work. With a normal FTP client, when I edit a file I have to launch the FTP client, browse the local view to the directory my file is in, browse the distant view to the corresponding directory, and launch the upload. And that’s completely stupid, because any given file on my local setup will systematically go to the same distant spot, so it’s a huge waste of time and energy to have to wander around filesystems every time.
Hence GarooSync: once you’ve configured the correspondence between local and distant directories (for now you have to manually edit XML files, but there’ll be a configuration interface someday), all you have to do is launch “syncupload index.php” and the file is uploaded (caution: there’s no confirmation request; a future version will check last modification times).
I haven’t looked into adding options to the Windows explorer context menu yet, so you’ll have to manage this on your own: first you can add SyncUpload and/or SyncDownload to your “Send to” menu by creating shortcuts in the SendTo subdirectory in Documents and Settings; second, you can add them to your text editor’s tools menu. In Code-Genie (which I won’t link to because the latest version isn’t free anymore), after adding a line to the configuration file, I can now upload a file I just modified simply by pressing Ctrl+1. Editing code, pressing a shortcut, the file is up. I hope that, if you’re a webmaster, you realize how handy this is.
Thanks to Jaimon Mathew for the FTP library (this one seems to work: I updated everything on garoo.net/software with it).