On 13.06.2012 21:53, Jono wrote:
Hey Jono,
Thanks for your response. I found the compiling problem to be that
DefineOptions.cmake had LOG_TO_CALLBACK set to OFF. Now I have the
client running.
Cool, thanks for mentioning, and sorry that I forgot... Will try to make
that more smooth.
A little background. I wrote a Dropbox like system last year:
https://github.com/jonocodes/mybox
Ah, interesting.
It has some similarities to mirall, but one difference is it is a
client and server which coordinate syncs over socket communication so
there is no polling.
I recently found csync while looking for a new sync backend to use in
mybox. Which is why I am looking at how mirall does it.
What are the plans you mentioned to make server sync more efficient?
Well, thats basically what you have: Use the servers capabilities of
having knowledge about all files. csync is a bit inefficient (for the
WebDAV case) because of the lots of directory listings which it does.
Each of them is a PROPFIND which takes it's time and loads the server.
A first step for more efficiency could be to get all information about
all files in one request (utilizing onwClouds file cache) and provide
use that data. That is a nice example as that would be a good
performance boost without reinventing everything - which I am not a
friend of ;-)
Another great improvement will be to use some kind of server push to get
to know about changes on the server to avoid polling.
The first problem we need to solve is the requirement of csync to have
syncronized times on both machines. While that technically is a good
requirement many users complain about. We need to change that.
Too bad I did not know about your project earlier. Sounds like we were
working in parallel at the same time on similar things. I probably
would have joined you in the beginning, and perhaps I still can be of
help. We'll see. Maybe it is time for me to get back into C++.
Yeah, that would be great! While csync is written in C (which is hard
for cross platform) We're using C++ and Qt [1] in mirall. That is a
really is a great toolkit which makes C++ smooth and with literally
breathtaking cross platform capabilities. If you haven't worked with it
yet, I promise you will love it.
Best regards,
Klaas
[1] http://www.qt-project.org
On Wed, Jun 13, 2012 at 11:01 AM, Klaas Freitag<[email protected]> wrote:
On 13.06.2012 16:42, Jono wrote:
Hi Jono,
Bit of a cmake noob. I followed the directions here:
http://owncloud.org/dev/sync-clients/linux-build/
but I am getting this error:
mirall/src/mirall/application.cpp:336: undefined reference to
`csync_set_log_callback'
You probably forgot to switch to the dav branch of csync.
Also general question about how syncs get coordinated. From looking at
the code it seems that the linux client uses inotify to watch the
local folder for modifications. If it is in windows, it will poll the
local folder. Am I right?
Yes, for now. That is subject to change as Win and MacOS also have
something like inotify.
And for detecting changes on the server, it seems to poll as well.
Also for the time being, there are also plans to make that more effecient.
Do the 'client' developers hang in the owncloud IRC?
'They' do, occasionally. Seek out for dragotin ;-)
regards,
Klaas
_______________________________________________
Owncloud mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/owncloud
_______________________________________________
Owncloud mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/owncloud
_______________________________________________
Owncloud mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/owncloud