DMS Development Version - mydms

DMS Development Version - mydms

by Mike Churchward -
Number of replies: 47
Picture of Core developers Picture of Plugin developers Picture of Testers

Okay. I've just now uploaded a version of Mydms via cvs into the contrib/dms area. This version will run with Moodle's database structure and partial authorization. Instructions are included in the upload.

I've placed this warning several places within it, and I'll put it here again:

THIS IS NOT PRODUCTION SOFTWARE. DO NOT INSTALL THIS ON A PRODUCTION SYSTEM!!

Please play with it, and tell me what you think. There is a lot of work ahead of us to integrate this completely.

mike

Average of ratings: Useful (1)
In reply to Mike Churchward

Re: DMS Development Version - mydms

by Gustav W Delius -

I have installed it, following you simple instructions, using it to replace my old moodle/files/ directory.

What is your next project? Perhaps interfacing it with the resource module?

In reply to Mike Churchward

Re: DMS Development Version - mydms

by Bernard Boucher -
Hi Mike,
               beatiful  interfacesmile

Folders, upload, download works fine.

That will be a great addition to Moodle.

Thanks,

Bernard

In reply to Mike Churchward

Re: DMS Development Version - mydms

by Jason Cole -
Hey Mike, what platform are you on? I'm having trouble getting the default mydms installed on RedHat. I've got it all configured and installed, I just get a blank page when I hit the index.

Thanks.

Jason
In reply to Jason Cole

Re: DMS Development Version - mydms

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers

Running it on FreeBSD, with Apache 1.3, PHP 4.3.4, MySQL V3.23.58. But, I'm also running it on my WIN2K server with IIS.

The index redirects it to "out/out.ViewFolder.php". Do you see that working?

mike

In reply to Mike Churchward

Re: DMS Development Version - mydms

by Jason Cole -
Yep. I get the login screen, although it has errors getting the strings for the login prompts. After I login with the admin pwd, I see a \ and that's all. I set register globals to on. Any help would be appreciated.

My SQL 4.0.18, Apache 1.3, RH 9, PHP 4.3.4, Turck MM cache
In reply to Mike Churchward

Re: DMS Development Version - mydms

by John Papaioannou -

Mike,

I 'm going to install on Monday and start tinkering a bit...

Do you have a basic plan on what we need to do and in what order? Or isn't it that clear yet?

Cheers
Jon

In reply to John Papaioannou

Re: DMS Development Version - mydms

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers

I haven't planned out too much detail yet, but informally:

  1. Implement course-level file management.
    • investigate using MyDMS groups for this; set up a 'course' group for each course and assign some level of default privilege to the group
    • assign course teachers to the course group
    • what do students get? read-only privileges in that group?
  2. Tie in user-level management.
    • in a course, filtered by teachers and enrolled students
    • at root-level, what?
    • could we add category-level tie-in?
  3. Replace current 'file.php' with new myDMS functionality.
    • MyDMS provides a 'download' option and a 'view online' option using an Apache 'rewrite' mod; how do we tie this in?
    • Make sure that security is built-in so that no DMS files can be accessed directly without first checking security.
  4. Reintegrate into Course Resource mod.
  5. Further enhancements:
    • I see this being used beyond the Resource mod as a full blown library feature that can be accessed directly at any level.
    • Would love to have ratings and comments associated with library entries

Just my first pass. Feel free to add to it.

mike

In reply to Mike Churchward

Re: DMS Development Version - mydms

by Paul Duff -

Hi Mike

Watching this thread with interest - mydms will definitely be a big plus for Moodle.  Just a thought.........will the DMS installation have to be on the Moodle server, or will it be possible to locate it on another server?  Some sites will undoubtedly see value in having the choice.

Paul

In reply to Paul Duff

Re: DMS Development Version - mydms

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers

Hmmm. I think the plan is to make it part of the core, so I doubt it will be locateable on another server. But, I guess, there's no reason why the file store couldn't be another server, subject to Apache (or other web server) limitations.

mike

In reply to Mike Churchward

Re: DMS Development Version - mydms

by W Page -
Hi Mike,

How you keep up with all these Moodle projects is amazing to me.

What about the ability to open the files online and to be able to download them, by choice,  in, HTML, PDF and ORIGINAL (DOC, WPD, XLS etc...) formats.

Too much you think or doable?

WP1

In reply to W Page

Re: DMS Development Version - mydms

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers

MyDMS supports both of those now; it offers you both options. We'll figure out how to keep that functionality.

mike

In reply to Mike Churchward

Re: DMS Development Version - mydms

by John Papaioannou -
Hi Mike,

I 've installed it in my development playground and started looking around....

First of all, it appears to me that there is no way that development on this can even start unless we get a copy of Moodle core files and modify them as needed. So I would propose to have a CVS directory (either inside dms/ or for example dms-mods/) in which to keep the current versions of modified core files. The idea is that we develop using these and someone gets the task of periodically synchronizing them with Moodle development sources. In the end they will have the best of both worlds: DMS support and latest (unrelated to DMS) changes from Moodle. Then we can replace the "normal" core files with these and presto! instant DMS support in your Moodle installation. I 'm not sure if there is a better way to do it (don't have much experience in this field), but that's how I develop calendar and it seems like a low-upkeep solution.

Second, after seeing MyDMS in action and considering only stuff that can be done without hacking the Moodle core:

  1. The layout (theme) is of course awful, it needs to be made decent.
  2. The sources need to be scanned to make the following changes:
    • Eliminate dependencies on register_globals = ON
    • Use Moodle library functions where we can (for example, I 've seen many lines that should be written as optional_parameter() and others which should use redirect() etc.)
    • Create Moodle-compatible language files and where appropriate change the function calls to print_string.
    • Replace all UI function calls with calls to the corresponding Moodle functions.
    • Lose the mydms_tblUsers and mydms_tblUserImages tables. Obviously we won't need these, so fix all relevant code to use Moodle users. This will allow all users to access DMS, for starters.

About the first batch of your notes, above:

I think we also need to lose the two group-related tables sometimes. My reasoning is this:
  • These two tables will either have redundant information that can be recovered from the Moodle tables, or won't have such redundant information.
  • If they do have redundancy, then by default we should lose them.
  • If they don't have redundancy, this means that they will have to be edited and administered by themselves. I think we don't want to do that, since it would complicate the situation TOO much for teachers. IMHO a good level of functionality with transparency to users always beats a great level of functionality which places demands on them. What's the point in having an ultra-powerful DMS if you scare your users away from it?
We can have various level of access without separate tables: we can have guests, students (but non-course-members), course members, course teachers, editing teachers, and admins. All this by changing the authentication and permissions code in MyDMS.

Also, IMO we need:
  1. A forum to discuss why and in what way things are going to be implemented.
  2. A bug tracker to assign tasks at first and then use as a real bugtracker when we reach alpha or beta version.

For my part:

  1. I 'm volunteering to do all the stuff I outlined in my first list (revise code that affects only MyDMS, not Moodle).
  2. I can install and supply the bugtracker.
  3. I 'll provided more detailed opinions on features just when I get the time, to spark discussions.

Cheers,
Jon
In reply to John Papaioannou

Re: DMS Development Version - mydms

by Bryan Williams -

Jon & Mike,

If Jon's suggestion is put into place (someone gets the task of periodically synchronizing them with Moodle development sources), count me in as a someone!  I would happily set up a test site just for the purpose of getting the DMS into Moodle, and driving you two guys nuts until it's right. 

IMHO a good level of functionality with transparency to users always beats a great level of functionality which places demands on them.  What's the point in having an ultra-powerful DMS if you scare your users away from it?  Absolutely, couldn't agree more.  A good starting point might be, what defines a good level of functionality?  When I took a look at MyDMS a few months ago I found it a bit confusing and thought that trying to explain function to the end user would require a volume.

Bryan

In reply to Bryan Williams

Re: DMS Development Version - mydms

by John Papaioannou -
Quoting Bryan:

"...and driving you two guys nuts until it's right."
Well, for myself I completely believe you... You managed to be (as a tester for the calendar) the person I wanted to hear both most and least from! wink

"A good starting point might be, what defines a good level of functionality?"
Specs! Specs! We need specs! Is there some gentleman with good organizational abilities that can write down something we lowly programmers can look up to? smile We all know what happens when the documentation is left to the goodwill of programmers... (just kidding! big grin)


In reply to John Papaioannou

Re: DMS Development Version - mydms

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers

Hey Jon -

Looking forward to working with you on this. To your points, thanks for putting more thought into this.

  1. Layout Theme - (I like it), but it does need to be integrated into Moodle's, so...
  2. Source Changes - yes to all. I hacked a way to make it run with 'register_globals=off' in the settings file. Take those lines out to test it truly.
  3. Group tables. I agree with your assessment, but I really would like to look at this as an opportunity to add the Moodle 'roles' and 'groups' that a lot of us would like to see. Rather than removing the functionality, let's discuss a way of keeping this concept and applying in a larger way.
  4. Forums and bug-trackers, absolutely - you say you can set the bug-tracker up. Do we need to get Martin's help for the forum?

For the core files, I think I'll redo the cvs directory using the same style of structure you used for the calendar. That worked well. Let me do that first.

I'll get back to you (shortly) when I've restructured the CVS.

mike

In reply to Mike Churchward

Re: DMS Development Version - mydms

by John Papaioannou -
Mike,
  1. I 'm waiting for the restructuring and the green light.
  2. Same thing. I saw the hack.
  3. As I 've said while quoting Bryan above, we need specs. So, while we 're doing this basic stuff, it's a good opportunity to use the time to discuss these things. We should somehow "advertise" this development so we can get more opinions. And definitely Martin's.
  4. I 'll do the tracker. As for the other, I 'm expecting to hear a Bing! in the near future... wink Oh, and as soon as that's done, we should keep the conversations to numerous short threads. Otherwise Gustav will have a fit smile, apart from the fact that he's right of course!

I 'm more than excited on starting this joint effort... and of course there is also the selfish motive: I want to get knighted! big grin

Regards
Jon
In reply to John Papaioannou

Re: DMS Development Version - mydms

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
My time is short to look at this right now but I'm glad to see some action on it  ... I've posted in the old threads some lists of features that I want to see in this (or at least seen as being in this eventually).

http://moodle.org/mod/forum/discuss.php?d=4380#19627

http://moodle.org/mod/forum/discuss.php?d=3383 

Also, Paul Duff's note about allowing this work on an external server is an important one - it should support a separate configuration for the databases to use, allowing it to use the Moodle database from an external location, or alternately storing it's own data in an external location.
In reply to Martin Dougiamas

Re: DMS Development Version - mydms

by Bryan Williams -

Key points from Martin's Jan. 7th posting:

A DMS is needed to replace the current "Files" tool within Moodle, so that:

  • files can be stored in the database (rather than just on disk as now)
  • files can have metadata attached to them (eg keywords, description etc)
  • files can be searched for text inside them, or by metadata
  • files can have versions (and records of past versions)
  • 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

I hope some thought is given to maintenence, with the ability to easily purge the database say at the end of a school semester.

In reply to Bryan Williams

Re: DMS Development Version - mydms

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers

Thanks for the reminder list.

One point to note, storing the files in the database in MyDMS sense, means storing the file information in the database. The actual files and their contents will be still located in a disk store (as opposed to a BLOB). This differs from the current Moodle implementation, as Moodle currently gets all the file information by reading the disk structure.

mike

In reply to Bryan Williams

Re: DMS Development Version - mydms

by Jason Cole -
I've written some quick user scenarios to guide our discussion. Writing these brought up some interesting challenges on the interface.

These are just some ideas for starting points in a conversation. I can start to draft specs as well if that would be valuable

J
In reply to Bryan Williams

Re: DMS Development Version - mydms

by Hugo Connery -
One of the key pedagogical approaches that we are advocating in our work with on-line learning is the use of group work.  To do this, students need to be able to share files.  Obviously the DMS will make this much easier.

If course level resource control is to be implemented via groups in the DMS then a heirachy of groups would enable students of a course to be formed as sub-groups of the course group.  This would provide for a logical organisation of student groups within a course.

I hope that within the DMS a group may contain a group (which is not itself of a predecessor).

Quite inspired by Moodle, and its community, and looking forward to the DMS in stable release.

Regards,

  Hugo Connery
In reply to John Papaioannou

Re: DMS Development Version - mydms

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers

Okay Jon. <Bing>!

Just update your contrib/dms directory with '-P', and you should be in business.

Add any core-level directories you need to the top-level of the dms directory. The mydms code is in 'mydms', and the db script is in 'db'.

mike

In reply to John Papaioannou

Re: DMS Development Version - mydms

by Bernard Boucher -
Hi guys,
              first thanks for your work.

One point:

If you add a new ressource type, maybe DMS type, do you think it will easier in the transition time ( wishes list may be long to fullfill wink ) to keep the file.php and DMS system working aside?

Maybe less hack to do and more eventual testers?

Bye,

Bernard



Attachment dms2.gif
In reply to John Papaioannou

DMS should be developed in its own CVS branch

by Gustav W Delius -

CVS has a very useful feature: one can create branches. In such a branch development can take place freely without impacting the HEAD branch from which most people will check out and which should have the stable version. While development is taking place in the branch the changes that will simultaneously take place in the head branch can occasionally be merged into the development branch is required When the development is completed, the development branch can be merged back into the HEAD branch.

There can be as many such branches as one wants. So it appears to me to be sensible to have a branch for the DMS project and another one for the template project. Having the development taking place in a branch makes it much easier for people to check out the development branch for testing. I found the hand-merging from the contrib directory that was necessary during the calendar development rather tedious.

In reply to Gustav W Delius

Re: DMS should be developed in its own CVS branch

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers

Sounds like a good idea to me. This is something that Martin has to set up? I'm relatively new to CVS, so I'm not sure of the process.

mike

In reply to Mike Churchward

Re: DMS should be developed in its own CVS branch

by Gustav W Delius -

Yes, this is certainly something we shouldn't set up without Martin's blessings.

I was also new to CVS but found the short WinCVS Daily Use Guide very useful, even though I am not using WinCVS.

In reply to Mike Churchward

Re: DMS Development Version - mydms

by D G -
As a minor point of interest does MyDMS recognise if a duplicate file is uploaded and use the equivalent of a hard link for it (two database referances to the same file?).

I've been pondering about duplicate files recently due to a little outburst of cheating where a group was all uploading identical (byte for byte) word documents for assignments; if this kind of recoginition was already there (or was added) then duplicate files could be pointed out to teachers, as well as some space saving on the server.

DG

In reply to Mike Churchward

Re: DMS Development Version - mydms

by Andy Fundinger -
Just as you are, I'm thinking about integrating MyDMS into ErfurtWiki, but I am equally concerned about the register_globals issue.  How are you doing on removing that?  Is the MyDMS project accepting your patches to remove register_globals?

In a similar vein, how is progress on replacind the MyDMS security system?  For my own integration would it be better to work off their source or yours?

AndyFundinger
In reply to Andy Fundinger

Re: DMS Development Version - mydms

by John Papaioannou -

Most of the files are now free from register-globals dependency, though I can make no claim on that. What I can say, however, is that during development I 'm working with this in my code:

foreach($_GET as $key => $val) {
if(isset($$key)) unset($$key);
}
foreach($_POST as $key => $val) {
if(isset($$key)) unset($$key);
}

so you can be pretty sure that if there's something forgotten, eventually it will be found.

The issue with the MyDMS project (submitting patches) is maybe valid, but:

  1. We haven't contacted the MyDMS developer yet.
  2. There doesn't seem to be much activity over there, in fact there's so little activity that submitting patches would be more like taking over the project.
  3. Some places have undergone massive rewrites (in a few cases, total rewrites).

The above points (especially the last one) make me think that while MyDMS may be a good starting point, by the time we 're done with it it won't resemble the original much. Currently I 'm thinking of it as a "springboard" to get us started. So there probably won't be such patches, IMO.

For the security system, nothing has been done yet.

I think you would be better of with their source, based on one argument only: our source is being heavily hacked at all the time. It's definitely nothing near stable and usable. You probably need that, so grab the original.

Jon
In reply to Mike Churchward

Re: DMS Development Version - mydms

by Jeff Engleman -
Im trying to install mydms with moodle and im running into a problem.  I have replaced my files folder with the mydms folder from your cvs.  I went through your install file and made all the changes, but when i go to /moodle/files/ i get the error "Notice: Undefined Index: type in /www/public_html/moodle/files/index.php on line 11"  this line contains "require_variable($_GET['type']);".  Anyone have any ideas?
In reply to Jeff Engleman

Re: DMS Development Version - mydms

by John Papaioannou -
Hi Jeff,

Sorry to disappoint you, but right now you should not be trying out the DMS unless you have the inclination to solve such issues yourself. Quoting README.1ST:

This directory contains the work-in-progress version of the MyDMS Document
Management System integration into Moodle.

THIS IS NOT PRODUCTION SOFTWARE. DO NOT INSTALL THIS ON A PRODUCTION SYSTEM!!

This version has been provided for Moodle developers only. It has been
integrated into Moodle at the database and partial authorization level only.

This is not beta nor even alpha level software.


INSTALL.txt contains instructions that are (still, mostly) valid, but right now the code is in an unusable state, and that is partially on purpose. Development time should be spent bringing it to a usable state, and not giving support on a piece of software that when installed by a non-developer will suddenly sprout immense black scaled tentacles and drag him screaming down to the deepest bowels of the abyss, where punishment fitting for this kind of sin is available. wink

You have to be either patient or willing to solve these problems yourself. Sorry! wide eyes

Jon
Average of ratings: Useful (1)
In reply to Mike Churchward

Re: DMS Development Version - mydms

by Jason Cole -
Hey DMS team,

I'm working with a computer science grad student, Matt Schwartz, who is interested in adding WebDAV capability to myDMS as a Masters final project. He's available full time for the next 3 months.

What's the current status of the myDMS integration? What are the major issues Matt can focus on right now as he begins his project?

He'll introduce himself here shortly as well.


In reply to Jason Cole

Re: DMS Development Version - mydms

by Kingsley Kerce -
Hi Jason and Matt -- Glad to hear it! Please read (at least) this previous discussion, including my recent research into the state of the PHP/WebDAV art. Keep us posted... Thanks.
In reply to Jason Cole

Re: DMS Development Version - mydms-What it needs more than WebDav

by Michael Penney -
Hi Jason, we've installed it here and its a pretty nice concept, crippled by two major missing features:

No group perms. So you can share a folder with the entire system, or no one.

No integration with Moodle on the content end (ie no way to link content in the DMS to a content area in a course). So you'd have to download a file from your DMS directory, upload it to your course directory in order to use it. Which seems rather pointless (esp. in the age of cheap usb drives). Sure you can share the file with everyone in the system if you like. That 'feature's' neatness fades when you have 7500 users all sharing a few of their folders.

IMO, there is no reason to add WebDav to the DMS while these two features remain undone. Would getting WebDav to work involve resolving these issues and would it work with folks without WenDav support on the server.

IMO, adding a separate WebDAV module that does integrate with course and group perms would make more sense for folks with WebDAV support on their server.

It would be an interesting excercise to add it to myDMS, but currently the DMS is mostly just a way to avoid sneakernet, IOW the whole thing is an interesting excercise, but not really very useful (at the enterprise level, I can see it being quite useful for filesharing in Moodles with just a course or two).


In reply to Michael Penney

Re: DMS Development Version - mydms-What it needs more than WebDav

by Jason Cole -
Hi Micheal,

We're planning to do a full integration of the two systems. There's no point in having a DMS without tight integration with Moodle content links. The idea is to have a user storage system that you can point to from within your course area. We'll probably add the whole thing as a new module and resource type to start with. Eventually, it could be a replacement for the Files area.

Group perms should be an easy add as well.

I envision WebDAV support as a terrific optional feature. Turn on WebDAV and you can post to your Moodle DMS from your desktop. Heck, you could mount your filestore directly to your desktop with a reasonably modern OS. You could link to a course directory within your document area and have everything there published automatically as soon as you saved it. Or you could link to each document seperately.

Matt comes highly recommended and I'm very excited to have him on board. I think we'll be able to turn out a great product that will be really useful at the enterprise level. I'm always thinking about how to use this stuff in a university of 30,000 students.




In reply to Jason Cole

Re: DMS Development Version - mydms-What it needs more than WebDav

by Michael Penney -
Awesome Jason, should have know you would have this coveredsmile.

Looks like we're well on the way to 1.5 times better....

One of the issues I'd love to see is files by user, files by department, etc. so that a person could have a single files folder to share files among courses, a department could have a files folder for shared files that would show up in all the dept's. courses, etc.

Another thing we're talking about here is some sort of 'content grabber' where a person could navigate to a library site where files are stored that they have permission to use in building courses, but in their own db (like the AP image library we have a license for, ebary for folks who have that, etc) and link those files directly into the course from within the files/resources browser.
In reply to Jason Cole

Re: DMS Development Version - mydms

by John Papaioannou -
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... thoughtful

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
In reply to John Papaioannou

Re: DMS Development Version - mydms

by Kingsley Kerce -
Hi -- Taking a step further the idea of the DMS being independent of Moodle: Why must the DMS be written in PHP? Open source projects such as Jakarta Slide and Catacomb already exist, so we could instead direct effort toward making those interface with Moodle.

In fact, this question applies to many subsystems -- not just DMS -- that could work well in concert with Moodle. To generalize even further, in this day of web services (and REST, etc.) why are we developers duplicating effort in every programming language and platform known to man?

In reply to Kingsley Kerce

Re: DMS Development Version - mydms

by Jason Cole -
Hi Kingsley

I think there are two perspectives on this. The first perspective is that we're a community of PHP developers. So we find and write stuff in PHP. Jakarta and Catacomb are written in Java, which has a steeper learning curve and is harder to maintain. I've struggled with this myself as a couple of things would have been easier for me to write in Perl. Since I'm turning them over to the Moodle community, I should write in the language of the community. We also need to support people who have limited hosting environments. If we only need PHP and MySQL, users can get away with inexpensive hosting. If we also require Tomcat and advanced Java, it's another level of support.

The second perspective is that there is no reason we can't tie in other systems, but they shouldn't be core functions. We'll spend a lot of time chasing the other projects making sure each revision is compatible. Having said that, I'm starting to look into how to integrate Jabber as a presense and instant messaging platform.

Jason
Average of ratings: Useful (1)
In reply to Jason Cole

Re: DMS Development Version - mydms

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
All good reasons, Jason. The biggest one, I think, is "inexpensive hosting", Kingsley. There's more than one angle to accessibility.

> why are we developers duplicating effort in every programming language and platform known to man?

I don't know, ask all the people not using PHP! wink
In reply to Martin Dougiamas

Re: DMS Development Version - mydms

by Kingsley Kerce -
Thanks for the responses, Jason and Martin. I absolutely understand and agree with the reasoning behind inexpensive hosting, although I'm disappointed with this particular fact of life.sad

Regarding the PHP perspective, consider this: Jakarta Slide and Catacomb (Catacomb is a C implementation, by the way) can serve as reference implementations for Matt's and other developers' PHP efforts. If that's not desirable, then for the WebDAV portions please at least consider the existing PHP code.

In reply to John Papaioannou

mydms-- why standalone?

by Michael Penney -
Hi Jon, I was wondering at the reasons for this:

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.


Seems to me that if folks wanted nothing but the DMS, it would be easy enough for them to install a Moodle without other mods, and use single topic courses with only the DMS interface available?

In reply to John Papaioannou

Re: DMS Development Version - mydms, hello all

by Matt Schwartz -

Hi all,

I just wanted to introduce myself. I am working on Moodle to help complete my Master's project requirements and also to provide a useful piece of software to my university and the moodle community. Those are my priorities in that order. I would like to keep the work well-defined in order to be able to have a discrete project that I can finish in time to get my degree in a timely manner. However, I also want to make it meet the users' needs, obviously smile. So, I've read the threads above as well as the WebDAV thread to which Kingsley pointed me (thanks, great info). I'm going to work with Jason to write up a simple preliminary spec that will try to incorporate the most important features discussed in this thread. I'll be sharing that spec when we bang it out as a first draft. My experience is more in C/C++/Java/Perl, so I am new to moodle and and a novice with PHP, learning that as I go. My time frame is that I have the next 3 months to work on this just about full-time. So, I hope to be able to provide some valuable coding power to the moodle effort and come out with a useful piece of software by late November. Well, thanks for reading, and I look forward to discussing all this with you. Take care!

  Matt

Average of ratings: Useful (1)