While Jon valiantly and courageously advances along the MyDMS front, I've been moving along the predefined spec front. Between what Jon is learning/developing and the homework the rest of us are done, I think we can come up with something that will truly be a value to the community (and a wonder to behold).
As the annoying WebDAV
advocate as the basis for the DMS, I've been trying to do as much homework as possible. To that end, I've compiled all of the feature requests I can find in the discussions.
* Files are all user-based, not course based, so that a user can publish one of their documents in any course
* Each user sees their own files as a hierarchical file system
* Support for quotas per-user
* files can be stored in the database
(rather than just on disk as now) - this is risky. It would be better to store pointers in the database and store the file on the filesystem
* files can have metadata
attached to them (eg keywords, description etc) - webDAV can do this with propset and propfind
* files can be searched for text inside them, or by metadata
webDAV supports searching by metadata with propfind, searching inside files will require a seperate search engine.
* files can have versions (and records of past versions)
Eventually we can implement a true versioning system. For now, overwrite copies the old file to a version number.
* files can be moved around without breaking the links to them
* Support for learning objects (import/export)
* HTML files edited inline using HTML editor with spell-check etc
* files can have particular authors (and perhaps multiple authors)
* files can have access controls applied to them
* files can be shared between courses
* all users can have their own online files area
* all users can have quotas applied (so students don't start MP3 archives)
* all files in a user's file area will be available for use in quizzes, forum attachments, journals, assignments, etc
* Written in PHP using ADOdb for database access
* Support for WebDAV for downloading/uploading data
I'm working on a document that will discuss how we can achieve all of this with a WebDAV based system. I should have that up by the end of the day.