I am currently making the DMS file store accessible via WebDAV. I have run into a major stumbling block in that WebDAV deals with files and directories in the literal sense. It navigates a hierarchical file structure.
DMS in contrast navigates via a few URLs that are passed the ID for the file or directory. This access scheme will not work with WebDAV. As far as I can tell, there is no way to make WebDAV request the document using the ID, without having that ID be visible to the user as part of the file name. So here is what I propose.
1) I will (already am) rework DMS to maintain the user directory structure in the filesystem, not in the database. That is, I propose creating a literal directory hierarchy to store all users' files. This can be flexible, the main requirement being that the hierarchy can easily and unamibiguously map from the requested file name to the actual one. Basically, the file lookup key will change from the id to the path and filename as per usual.
2) Document and folder metadata and permissions will still be stored in the database as before.
The above scheme is also much more scalable than the existing storage scheme where all files are stored in a single directory. Also, this will result in fewer database hits, depending on how I implement this.
Anyway, looking for feedback from knowledgeable WebDAVers and moodlers. Thanks,