On 17.05.2012, at 11:12, Klaas Freitag <frei...@owncloud.com> wrote:

> Hi,
> 
> one of the biggest shortcomings of the sync client currently is that it does 
> a full scan of its the ownCloud directories via webdav to query the last 
> modified times. That causes load and other trouble. It would be great to find 
> out if something has changed server side more cheaply.
> 

Completely agreed. The current approach doesn´t work with lot´s of files 
anymore.


> We have the file system cache which also has the mod times in the database. 
> My idea is now, instead of querying every single file, I just issue a HEAD 
> request on the top sync directory and get the latest modtime of all files in 
> that dir back. If that is younger than the one I know, I have to do a sync.

This should be easy doable.


> I know that it could be even more cool, ie. delivering the list of files back 
> etc. but lets do small steps. Doing just one HEAD instead of querying the 
> whole tree already will be great.
> 
> The implementation seems easy: Just get all database id's of the fscache 
> table entries below the top directory of the sync dir and do kind of
> SELECT MAX(mtime) FROM fscache WHERE id in ( list-of-all-ids-in dir );
> That should be fast enough.
> 
> My question now is: How do we do that? Should we have another app called 
> /files/sync? Or do we want to enhance the WebDAV server to be able to do the 
> described logic if a HEAD request on a dir comes in?
> 
> I think the latter is more "within the concept" of doing the sync via WebDAV, 
> OTOH a sync app could be useful anyway for other sync related server support.


Both is fine I think.
We will need some additional REST calls for the sync client anyways if we want 
to support new features. Examples are: Accessing the history via the sync 
client, make it possible to share files from the sync client or control the 
encryption. We need to build a new custom REST API for this anyways. So an 
additional call to fetch a list of changed files is easy and fit´s into this 
concept.

Frank


_______________________________________________
Owncloud mailing list
Owncloud@kde.org
https://mail.kde.org/mailman/listinfo/owncloud

Reply via email to