[Top][All Lists]
[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
- [Phpgroupware-developers] VFS rework in progress and Filemanager update, Benoit Hamet, 2004/11/18
- Re: [Phpgroupware-developers] VFS rework in progress and Filemanager update, Dave Hall, 2004/11/18
- Re: [Phpgroupware-developers] VFS rework in progress and Filemanager update,
Benoit Hamet <=
- Re: [Phpgroupware-developers] VFS rework in progress and Filemanager update, Chris Weiss, 2004/11/19
- Re: [Phpgroupware-developers] VFS rework in progress and Filemanager update, Benoit Hamet, 2004/11/19
- Re: [Phpgroupware-developers] VFS rework in progress and Filemanager update, Chris Weiss, 2004/11/20
- Re: [Phpgroupware-developers] VFS rework in progress and Filemanager update, Benoit Hamet, 2004/11/21
- Re: [Phpgroupware-developers] VFS rework in progress and Filemanager update, Chris Weiss, 2004/11/22