Hi Jason,
I 'm very happy to hear this news, as the DMS is a really useful component that sadly lacks in functionality right now (as Michael said). I 'll answer and comment on the most important issues you guys have mentioned above.
First of all, right now the DMS code base is not in a final state. What this means is that we can, and indeed will, rewrite major pieces of code if and when the need arises, and Matt should keep this in mind (I 'm saying this as a good thing; if he needs and comes up with some clever restructuring, it would definitely be OK).
Second, the DMS should be built in such a way so as to be independent from Moodle. Ideally, we would be able to administer the DMS from a machine other than the Moodle server, or use it as a standalone product. Although this doesn't work yet, I 've taken steps to structure it that way and it's something Matt should keep in mind.
Michael is right on the money with his comments:
- DMS doesn't have group permissions. That's because it must be made group-aware first. That's not as simple as it sounds, because group-awareness must be combined with the Moodle-independence I mentioned earlier. That is, DMS must "know" as much as it absolutely needs about groups, and certainly not more (for example, groups in Moodle belong to specific courses, but the DMS doesn't need and indeed should not know that; a group is just a group). After coming up with a nice and tidy way of making DMS group-aware, the actual programming of permissions will be trivial.
- DMS doesn't really have integration into Moodle. This is a multi-faceted problem:
- Moodle doesn't know about DMS (e.g., when a new user is created, he doesn't get a user folder. Same for courses). There's really nothing that can be done about this right now, because it would require making both Moodle and DMS dependent on each other, and neither one of the programs is ready for this. The way to solve this is by adding a "plugin" API in Moodle (something which I 'm privately thinking of and planning to propose).
- Consequently, the DMS cannot completely replace the file storage mechanism of Moodle until this happens.
- Moodle doesn't have a "DMS" resource type. This would allow the DMS to be used in conjunction with the existing system, until the switch can be totally completed. This is definitely THE top priority, IMHO.
I would also add:
- There are quite a few things that personally I feel DMS "needs" right now. File versioning, renaming, moving, and support for storage types other than "on the local filesystem". From a coder's perspective, the infrastructure for all these has already been written, but they still need to be specifically implemented. Also, I 'm going to add search capability in the near future.
- There are some places where DMS needs to be rewritten for speed. I tested it on a live production system of ~2500 users, and while the server hardware is admittedly crappy, waiting several seconds for the user folders page to display is definitely unacceptable. Of course, I don't know how much of this is DMS's fault, so it needs testing on LARGE installations.
- Files by user and files by department, which Michael mentions, could easily become part of the search function. ("I want to see all public shared folders/documents/both belonging to that person/that course/that department/myself").
- The groups of those who know about WebDAV and those who know about the DMS code sadly have noone in common as far as I know...
Finally, as for Matt's involvement in this, I only have to add that I 'll be glad to help in every way I can. You or he could email me privately or find me on ICQ for more effective communication.
Cheers!
Jon