Hi all,<br><br>Over the past few weeks ( after having taken a lot of time to finalize on the library to use, to implement synchronization ) Riccardo and I<br>had been working on getting a very basic file synchronization into owncloud. We have achieved something close :)<br>
<br>What we have:<br>1. A file synchronization mechanism using using the OMA standard SyncML protocol, the sync works for text and binary files.<br>2. When a file is updated , the server creates a copy of the file and renames the copy with a time stamp appened. This is a rudimentary but useful , dropbox like merge conflict resolution and version history tool. This came as a pleasant side effect :) While trying to get merge to work , merge didn't but the backup <br>
with the time stamp did :)<br><br>What we are working on:<br>1. Send only delta changes when a modification has been made to the files in the client.<br>2. Merge changes ( I don't think its such a great Idea to do merge in the server ).<br clear="all">
3. Right now , when a new client tries to pull in changes ( the user created a new client on a different or the same client machine )<br>It doesn't work. But this is a client specific issue . ( Maybe the client isn't asking for the changes :P ) should be easy to fix.<br>
4. Integrating the authentication of the SyncML library to that of ownCloud.<br>5. Integrating the datastore used by the library to that of ownCloud.<br><br>How to test these:<br>1. checkout the file_sync_server branch.<br>
2. create a directory /var/www/html/sync and change permissions.<br>3. get Funambol SDK and build the sample C++ fsync application.<br>4. Create a directory and put all the files you want to sync.<br>5. execute Fsync <br>
./fsync -s <a href="http://localhost/owncloud/fileSync/">http://localhost/owncloud/fileSync/</a> -d <folder name where the files to be synced are kept> -u <dummy username> -p <dummy password> -v<br> and Viola ! sync works :)<br>
<br>Please do test this out and let me know about your comments , suggestions.<br> <br>-- <br>regards,<br><br>Kunal Ghosh<br><br><br>