[dev] PATCH Mutli User SQL VFS for Gollem

Mike Cochrane mike@graftonhall.co.nz
Sun, 4 Aug 2002 13:06:04 +0100


http://www.graftonhall.co.nz/mikes/Horde%20Diffs/Multiuser%20VFS/

Known issues: 
Not all error messages are returned to the user in gollem/manager.php
Not all error messages from musql.php are are informative as they could be
Not heaveily tested yet 
I'm getting tired and not thinking right :-)

- Mike :-)


MultiUser SQL Virtual File System
---------------------------------

This VFS implementation is design specifically for Gollem. It gives users a
shared filesystem.

It uses the currently authenticated user as the owner, by default all files are
only accessable to
their owner. File permissions can be changed to give read and write access to
everyone.

Users can only see files they have read access to (ie their own files and any
other files the people
have given read access to everyone).

Currently, in Gollem, there is no GUI for changing the attributes so this
implementation takes the 
last value you enter in the chmod field as if it were in unix and uses this to
change the all 
permissions for the file(s).

Users can only rename, delete, chmod files they have write access to or own.
They can not create 
files in folders they can't write to etc... i think i got most conditions
sorted, only one i know 
i have missed is to do with rename... it doesn't check you have access to the
new path yet but
Gollem has no move function so it's okay.

Here's what I have in my backends.php
$backends['sql'] = array(
    'name' => 'Local SQL Server',
    'driver' => 'musql',
    'params' => array(
        'phptype' => 'mysql',
        'hostspec' => 'localhost',
        'database' => 'horde',
        'table' => 'horde_muvfs',
        'username' => 'horde',
        'password' => '****'),
    'preferred' => '');

i have the preferred value set so you just get logged in automatically. Not sure
how this works with 
guest access enabled and stuff.

Have a play :-)


horde HEAD.diff
Patches for VFS api, new functions not yet used though


gollem HEAD.diff
return VFS error messages to the users so they can see why things failed (eg
access denied)


muvfs.phps
horde/lib/VFS/musql.php file. Save this file as this. this highlights the actual
file i use of 
my dev system so it may break occasionally but works as of now and i'm going to
bed for 7 hours :-)


muvfs.sql
SQL scheme for this VFS.

-------------------------------------------------------------------------
This mail sent from Mike's CVS HEAD install of IMP: http://horde.org/imp/