system and desktop VFS merged
dewie at abv.bg
Sun Mar 27 17:01:09 EEST 2005
Hello, i have a suggestion that i'm very excited about (coz to me it
seems perfect :) i bet it's not but ...)
I think URI paths are a must for desktop apps, you can't expect a
user to type "/vfs/smb/<path>" insted of "smb://<path>". i mean
user user - somebody who know shell just from gas stations.
So the namespace should be split, but also merged invisible for
what if D-VFS was just an API over a layer that manages the
sessions (password saving) , the connection reuse and the security.
This vfs layer will also be just an API for all the Desktop VFSs.
There should be a standart way VFS apps work - no matter if they use
D-VFS, gnomevfs or KIO and it would be something like:
1) The API of the VFS must except filenames in absolute or URI
form. both protocol://<path> and /vfs/protocol/<path> should
be valid, where "/vfs" must be a standart for all APIs. It must be
totaly transparent to the program
2) All programs that use a Desktop VFS and spawn processes
must give them the absolute path (/vfst/protocol/<path>). except
for the file:// protocol in this case file://<path> will be just <path>
3) The Desktop VFS API must always use the vfs layer!
So, for example in a filebrowser like Nautils or Konqueror, when a file is
double clicked (i mean it's open :) the asosiated program for this type
of files will be started and the argument to it will be full path, if the
started program is writen with some Desktop VFS API it will work for sure
because of 1). if it is not - it will try to open a file under /vfs if
something like a FUSE-KIO is mounted there (and the protcol supports more
than one connection) it will work otherwise a file not found error is what
we will get.
The IDE/gcc problem is ~solved the same way.
So there should be :
a project to build the vfs layer, something like a set of librarys (eg
libvfsftp, libvfsftp, libvfsssh and so on) that, as sed manage the
connection reuse, passwords, security ... (this is something i'm not sure
can be done - is it possible to make eg. libvfsftp so that connect will
return the same connection for a set of processes, if they don't explicitly
ask for a new one?)
a D-VFS project to provide an API for easy file user on top of the vfs
layer an in sink with the "standarts" :) above
projects to port gnomevfs and KIO to use the vfs layer and standart
and something to replace FUSE-KIO so that it uses the vfs layer and if
possible cross patform (HURD will also be easy - but not very used :)
It is obvious that this is not a complete cross platform solution but it
_can_ be if BSD and others make something like FUSE for there kernel and it
_does_ provide a complete Desktop VFS, the rest can be added in time
Soooo what do You say !!!?!!?
eagerly waiting for replys :))
http://gbg.bg/search - Изпробвайте още сега най-добрата българска търсачка!
More information about the xdg