Just one thought on the File Storage Package:
An interesting extension would be the usage of the Andrew File System which is a distributed filesystem product. It was originally developed at Carnegie Mellon University and at IBM Pittsburgh Labs. It offers a client-server architecture for file sharing, providing location independence, scalability and transparent migration capabilities for data.
Also there is an open source implementation OpenAFS available which can be used to transparently integrate with the unix/linux. The benefits of AFS are data replication, fine graned access control to user owned directories through access lists, caching, sharing of files, callbacks and many more.
A quick and dirty integration with OpenACS would be to switch to the file system mode of the file storage package and to replace the numeric folder numbers in the content-repository-content-files of the OpenACS installation with the unique userid's used in the external authentication which are linked to the corresponding afs folders.
But: A policy is needed how to synchronize the files with OpenACS if users remove files directly (for instance: read only if created by OpenACS) using an afs client like telnet/SSH/FTP... Also it has to be decided what happens to community files. Either OpenACS manages them as it is done now without integrating them with afs or the files are owned by the user who provided the file or for each community a virtual user is needed in afs.
At present each file stored in the file system gets a unique number without extension. If afs access is limited to OpenACS only this makes no problems at all. But I think the files should at least maintain their extension otherwise it is for a normal user impossible to figure out the file format.
Greetings,
Nima