Few weeks ago I run in a case where I had to configure folder synchronization with SkyDrive. Requirements and starting point for the case was:
- Windows version Windows 7 Home Premium
- Customer wanted to have her files locally inside My Documents library and have them in SkyDrive also.
- She wanted to have everything synchronized so that she could made changes to files with Office Web Apps also.
- Files and folders have to be created, deleted and synchronized automatically no mater is the action done on users computer or SkyDrive.
As you probably know there is no OOTB solution for this. Of course there is Windows Live Mesh. But files synced with Mesh will be saved on a special folder in SkyDrive where you are not able to view and edit them with browser and the maximum storage space is 5 GB. This is by the way one thing that I don’t understand why is it so.
When I was thinking an good solution and made some search I found a lot questions but not very good solutions. At least not from one blog or site.
Quite many solutions just told that you can map the SkyDrive folder but that is only one part of a solution.
Other part is that you have to be able to make the synchronization. In Windows 7 Professional (and above) there is an feature called Offline Files but in Home Premium you don’t have it. I haven’t try but maybe you can use that but I found an good free 3rd party solution for this.
Just as a note there are few interesting CodePlex open source project (link down below) ongoing about this matter.
But let’s get started.
Mapping the My Documents Folder
As a source I used this article from Jessica Cam Wong (@jecw) How to Upload & Sync Files to SkyDrive from Windows Explorer. I won’t go through all the things from that solution. Only those that are relevant.
Retrieve your WebDAV addresses from SkyDrive
- Open Office 2010 (Word or Excel)
- Create an new document and start to save it. From top menu File > Save & Send > Save to Web.
- Login to SkyDrive if necessary.
- Select a folder that you want to start using as sync folder. Then press Save As.
- When the Save As dialog opens, click on the address bar to copy the address.
- Now when you have the address you can make normal server mapping to that folder. So, open windows explorer and select Map Network drive.
- Select free drive letter and paste the copied URL to the Folder text field.
- Now you have your folders ready to be synchronized.
Configure the Synchronize Service
After many test, try and fail I made an decision to use 3rd party software called GoodSync. There is some other programs for sure that can make this same thing but GoodSync was a) free tool b) easy to use c) was working in all the necessary situation.
- Download and install GoodSync (link above).
- After installation you have to create one synchronize job for each main folder you want to sync.
- Next you have to select the folder from your computer that you want to use as file saving place (so called left folder) and then choose the mapped driver made above as right folder.
- It’s a good practice to make one analyze and synchronization manually. Especially if you already have something on the folder in computer. This way you can see that everything is working correctly. So press Analyze button.
- When the analyze is finished press Sync to start the synchronization process.
- Next you have to configure GoodSync to be started when Windows starts and give the necessary sync options. There are a lot of settings on the program but here are the most basic ones to get everything working.
- From the upper menu select Tools > Program Options. From General settings make sure that “Start GoodSync when Windows starts” is enabled and press OK.
- Then press the Auto button (button with clock image on it).
- From Auto settings you can adjust synchronizing settings as you want to. On this case I preferred to have the following settings:
- On GoodSync start, delay sec = 0, action=Sync
- On Folders Connect, action=Sync
- On File Change, action=Sync
- On Logoff, action=Sync
- Every 0 Hours 5 Min, action=Sync
- Do not Sync if changed files more than 100% (this means that sync always)
- Automatically resolve conflicts = Newer File Wins
- Enable Auto Clear the tree after Sync or Analyze with no changes
- Press OK and you are done!
As I mentioned earlier this solutions sustains on the use of 3rd software. Maybe someone don’t like that idea but in this case getting things done was most important. There is actually an very interesting SkyDrive .Net API Client and SkyDrive Synchronizer project on CodePlex. You could use those also but for example SkyDrive Synchronizer is command line only and is still one way synchronization only. But still it’s worth of stay tuned of these open source tools.