[Owncloud] Accessing files outside the users home folder
Robin Appelman
icewind at owncloud.com
Fri Jan 20 00:06:02 UTC 2012
Hi,
Trowing some idea out here for whoever is interested and/or wants to provide
some ideas or feedback.
Currently the only "correct" way of accessing any file of a user, oc_filesystem,
is limited to files within the users home folder (/username/files in the
complete virtual filesytem).
While this is fine for most uses, there are plenty of valid cases where an app
needs to access files outside the home folder. Sharing needs to access files
owned by other users, gallary needs to store thumbnails of photos and
galleries and media might want to store album covers somewhere.
All apps that currently need to do something like this currently have their
own implementation that bypasses oc_filesystem partly of completly, while that
may work for now, bypassing oc_filesystem would, in the future, mean not having
things like encryption, metadata storage or not having the file at all due to
it being mounted from a remote source.
My idea for providing a proper way to access files outside the users home
folder without making oc_filesystem harder to use for 90% of the use cases is
to add a new class oc_filesystemview, which can create a "view" into ownCloud's
virtual file system simular to oc_filesystem, only without having to be locked
into the users home folder.
Every view can have it's own chroot, giving it access to a part of the
filesystem and will provide the same functionality oc_filesystem provides.
The sharing app could create a new view on /otheruser/files to gain access to
the files and application that need to store files outside the users view can
create a view on /username/appid.
To retain compatibility with the current way of using oc_filesystem,
oc_filesystem will provide a static default view on /username/files with zero
api changes for apps using oc_filesystem the "normal" way.
Looking foreward to ideas/feedback on this increasingly relevant topic.
- Robin Appelman
More information about the Owncloud
mailing list