phpgroupware-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Phpgroupware-developers] VFS rework in progress and Filemanager upd


From: Benoit Hamet
Subject: Re: [Phpgroupware-developers] VFS rework in progress and Filemanager update
Date: Fri, 19 Nov 2004 10:38:57 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20041007 Debian/1.7.3-5

Hi all,

More on this :
http://savannah.gnu.org/patch/?func=detailitem&item_id=3525

You will find here the needed files and patches ... If you prefer, ask me to send them to you, but to avoid overload of gnus mail servers I don't put them here :)

More details :

* I add the lock/unlock properties to the actual filemanager, I don't know what to do for phpwebhosting, will see this later I guess.

* You will need to correct the bug #11044 before Dav Caching system fully working.

* Don't forget that DAV is a web server, and should never be as quick as sql+filesystem.

Next thing I will perhaps build is a cache of path_parts array containing the object to avoid doing the same long processing a lot's of time, perhaps caching it in the shared memory could be a good idea ;) Of course, this kind of caching require a lot's of memory, but I guess that sharing it with evrybody (as well as the cached_propfind) could leads to good performances improving ...

Now some responses to Dave ones :


Cool.  Some naming conventions I would suggest:

class.vfs_.inc.php - currently vfs_shared
class.vfs_*.inc.php - concrete classes - with a signature of:
    "class vfs extends vfs"

class vfs_ should look something like this

include_once('./class.vfs_' . $GLOBALS
['phpgw_info']['server']['something'] .  '.inc.php');

I guess that's already the case, but didn't put in the file the class.vfs.inc.php ... So I put it in the last tar version, so Evrybody should be happy ;)



* Some new features like lock/unlock given by webdav system. I put them here so, there is some generics features relatives to lock that are shared between classes (typically, code to save cache, and add/remove_lock_override).

* The dav layer as been reworked for better performance, better vfs_shared compliance, and Apache 2 webdav module compatibility (less permissive about location than apache 1.3).


As long as it is backward compatible I will be happy :)

This is a problem ... In fact some code was so Ugly that people try to put bugs workarounds in other places than the right place, leading in possible strange things ... Hope things are not too breaked, at least it seems to be ok here on my servers (both sql (not very well tested) and dav (much more tested).



 * Added support for dav https repositories.


Cool!

Yes, was the easiest part :), Note that this is compatible with php > 4.3 only ...



I use the old (?) files under filemanager/tests/test.php to check some way of compliance between vfs_sql and vfs_dav. I need to test with test_dav.php to be able to work with sql layer (since lock method is in vfs_shared).

* I will try to work on some more generic tests for the vfs layer, but time is short now. (Yes I know quality, ... :)

* I have some Ideas about journalling (not yet supported by the dav layer) and locking implementation in sql: * Why not create an independant modules containing the Journalling system ? so like ext2/ext3 way of life we get the journalling in some case. But after a quick tour in the sql_layer, I'm not sure if we can do this without a great effort ... The main advantage is to share the journalling system between dav and SQL or other layer ... * Locking in sql could be something really simple with a separate table containing the file_id and the kind of lock, with the owner. With the same consideration, doing this in a separate module could be a goodd idea, just to permit sharing locks with different layers. Dav implements it's own locking system because it's "easy" and very usefull when used with webfolders under Windows...

* Next, Why not a versionning implementation like a svn or cvs like filesystem ?


Looks like a nice TODO list for 18 :)

Not sure for all features for 18, but the modules for locking and journalling could be ok ...



I know, We are the 18th and the deadline was the 10th, but ... As you want. I'm open to discuss...

I will send my work in a few moment after this mail, I still need to be sure that there are not to many bugs :). (I will try to test the test_dav.php test against an new sql one system)

Hope this will be usefull to someone (Yeah, not many people seems to use DAV filesystem ;).


I have wanted to use dav, but found it a PITA.  Now might be the time to
switch :)

Tell me what happens :)

Regards,
Caeies




reply via email to

[Prev in Thread] Current Thread [Next in Thread]