I am developing a new module for moodle that will allow collaborative groupwork, and will include discussion boards, private messaging, resource sharing and a shared clipboard allowing people to refer to any object during a discussion/message.
I would like to use a database connection class, and was considering using the pearDB php classes for this. Is this sensible? and would it fit in well with the moodle "way" of coding?
Also, would JavaDoc be acceptible for commenting the files?
I have enclosed a pdf file of the proposed module.
(edit: PDF removed on request)
Hmm, interesting project ... looks like a replacement for Moodle, not a module!
Keep us in the loop!
It's a modulle designed to provide the messsaging, discussions and fille handling of moodle, but in a more unified interface to allow greater interaction during collaborative learning. Think of it as another view onto the moodle data?
Very Very nice proposal: could become the complement of Moodle: Where Moodle starts from the teacher point of view (CMS) your plan turns it into the perspectiv of the user (User Portals).
Do you see your proposal as a user-portal (user homepage) or as new course-format or as a modul that will live in a Moodle course-frame? (Courseframe will then be more a kind of project timetable?)
About working together AROUND the same document:
- take in consideration the PHP-free-code of D3E (British Open University)
For working TOGETHER ON the same document look at free PHP products based on the WIKI concept: best candidate for integration in Moodle: eWiki
If you are thinking of improving a forum with a moderation function: think of a voting systems where users can vote for good remarks/answers (like in Moodle) and the moderator can reseed the discussion with a summary of the discussion and the remarks with the highest votes as starting points for the new disucuusion (A popup top five box with the running ranking of the voted remarks...)
By the way, will the result of the project become available as GNU?
Dear Chris Tebb,
I read your pdf with interest. It looks like powerful developmental muscle and vision, combined with a very Moodle-like pedagogy.
But at the same time, like Martin says, while starting out with the aim of integrating with Moodle, the proposal seems rather to duplicate a lot of what exists. Was the proposal made by people that have/do use Moodle?
I imagine a boardroom filled with important professors who do not use Moodle getting together around a table, to share ideas about the system that they want.....
Prof A: "I need some good threaded forums"
Prof B: "We need something with groups too"
Prof C: "Yes, and something to provide instant messaging"
Prof D: "And, private contact with students"
Prof E: "And, access to documents"
Person F (the only person that has used Moodle): "That's just like Moodle, Moodle can do this"
Chairman of Meeting: "Really? Well, lets base our system on that, Okay?"
And proposal is written concluding that they must make something which is "forums+groups+instant messaging+private contact+document access+moodle" even though Moodle is all those things already!
I guess that there are all sorts of reasons why you will be creating a new stand alone module (perhaps licencing is one of them) but, I think that the best way of achieving the aims as layed out in the survey would be to consolidate the functions that exist already by:
1) (as Ger says) "Providing a Portal Like functionality," so that all of the functions above, which already exist in moodle are regrouped so that the learners can see them in functional groups too.
David Delgano recently pointed out (moodles main features), one of Moodle's strengths is its topic/course based organisation but, as Martin points out, these need to be supplemented with a "my-moodle (this is a short but important post)" function which does not *recreate* Moodle's chat module, the forum modules, the resource module, the dialogue module, buth rather *re-assembles* them in as My-chats, my-forums, My-resources, my-dialogues, my-courses. Trouble is that this would require far greater liason, and much more digging into the Moodle core. Perhaps, as now being suggested by Tom Murdock, something could be based on the user profile page? Combined with the my-grades page? Or in a sence an improvement of functionality the left hand side bar?
2) Relatedly a Document management system, with groups features. Please see the discussion about Document Management Systems, a feature which moodle urgently needs, here
3) The one MODULE-like thing on your list and, and very often often mentioned is, again as Ger says, "titki"/"wiki like" functionality. Such is the importance of group created documents/databases, TikiWiki tops rankings in popular open source software at souceforge. This is a module that is yet to be made, very much in demand (please see the search below) and very complex.
Perhaps demands of copyright, accountability, traceability, security, funda-block-ability, will mean that you, Chris, have to produce a self contained block of module code?
And or perhaps Martin prefers standalone module development (because core reorganisation sounds like a pain in the takemoto)?
If not then, rather than another "view onto the moodle data," I beg you to apply your apparent developmental muscle to provideing another view onto the object which is Moodle (with behaviours as well as data) so as to avoid, er, with respect, reinventing several wheels, and so to make Moodle really excellent, world-beating.
But then again, I think that if I were you, then for ego-enhancement reasons I would go and make my-own-separate-thing/baby and not want to enhance the whole. But I am a takemoto.
(too bad no one from Leeds to Lugano wants testing, sniff)
Tim, in his post, explains very well that the project that Chris is working on would be best implemented not as a Moodle module but as something more tightly integrated with core Moodle and extending it.
Tim is worried that perhaps for licensing reasons the Edukalibre project might require the Leeds team to produce a stand-alone module rather than extending an existing open source project. Luckily this is not the case. I have read a bit about the Edukalibre project and it turns out that its explicitly stated aim is to apply the open source methodology to web based learning.
Tim is also wondering whether Martin might be against anything other than module development. I know that this is not at all the case. Martin is very happy to incorporate new contributed features into the core of Moodle and this is happening all the time.
So we can all encourage the Leeds team to extend the existing Moodle features rather than re-writing them, in the best open-source spirit. And I can say from my own experience that the Moodle code is so well written that it does not take long before one knows one's way around it very well.
You see from all the s that I am quite pleased with the prospects of having another group working on Moodle in a city half an hour away from here and based in a similar academic environment.
Whether or not we choose to create a seperate module or more tightly integrate our work into the moodle core will be decided based on the feasability of doing this work within the timescale, and how happy Martin would be to work with us.
The Leeds programming team consists of me and only me you see, and we have some specific aims.
Our aim is not simply to make a contribution to the open source learning world, but to provide groupware tools that will allow all the partners in the project to evaluate collaborative educational content creation and the "open-source" METHOD of working when applied to the CONTENT of a course, not the software that runs it.
Whatever software we produce will be open source of course, and the decision to use moodle was taken after evaluating various learning environments.
With regard to the WIKI comments, yes, our partners in Spain are working on this
I do agree that replicating much of moodle's functionality may seem like a waste of time, and if I can convince myself that the groupware application can be written using the moodle code and be stable by the end of May, then of course it would be the best option. But I remain sceptical about this, though very open to persuasion.
I am rather overwhelmed by the amount of interest in this post, and I thank all who have contributed greatly
Hi Chris, I can understand that you feel overwhelmed by the number and promptness of replies you received to your post on this forum. I can still remember how astonished I was by the intensity of this user community when I first started using Moodle last summer. It is the real strength of Moodle.
Regarding the option of using the moodle code rather than replicating it you say that you "remain sceptical about this, though very open to persuasion.". So let me try to give you the obvious reasons:
- You will save time by not having to rewrite the code
- You will have an interested audience who will be able to give you ideas and tips, there is a lot of teaching experience here
- You will have an army of testers identifying possible bugs in your code
- You will have the satsifaction of creating something that is useful to a large number of people.
- Your code will be maintained and will still be working in future versions of Moodle
- When the time comes to report back to the European Union on the outcomes of the project you can say that, as a spin-off, your project created groupware that is used in thousands of installations.
I hope this sounds as convincing to you as it does to me.
the "open-source" METHOD of working when applied to the CONTENT of a course.
I think this is one of the interesting parts of Moodle: the central idea of moodle to organise educational resources in (thematic) sections where you can arrange that content with activities around it. It is maybe not only a very elegant solution for the problem to reassemble reusable objects into reusable learning objects, but also the most intuitiv:
- crucial: import export can be based on the backup/restore function, I prefer to call that xml in/xml out to do it more right.
- with the subsection modification in place(in import export..), you even can be compatible with a very deep nested outline of IMS content packaging
- QTI is also getting in place
- THE BIGGEST PROBLEM WILL BE TO FIND PRODUCTS THAT CAN DELIVER CONTENT FOR THE MORE ADVANCED MODULS OF MOODLE: Glossary, Lessons, advanced forums, workshops, (ahead of the standard heard..)
- Central point is the philosophy that the student is in control of his own learning, not some bloody exercise engine: Glossary is the first Modul that meets that internal standard, workshop and exercise are close.. and the cry for a wiki embedded in an educational frame of Moodle is based on the expectation that that would facilitate the ultimate ideal of students constructing TOGETHER their own knowledge-represenations.
- For developers constructing together resources for a course that same wiki-idea could be useful during contruction of the resource, the finished product can be stored in the resources area..
- O yes.. Scorm? Possible, possible, we are forgiving people, we do not prohibit it, but please do it only in a dark backroom of Moodle
Removing stuff is not something I want to get in the habit of but in this case I could see his point. I suggested he post a link to it next time so he can update it.
With regard to the reuse of the moodle discussion and resource code (these ar ethe only things hat really apply), I have decided to create my own code here. it is the interface that is important to me, not the back end, and I WILL be more than happy to integrate it better into Moodle when the project is complete, and my commitments here are satisfied.
Having said this, the module I create will be a fully integrated moodle module, and the only things I will be rewriting are the discussion board databases and scripts, and the resource handling database and scripts. The rest of what I want to do is not currently implemented in moodle, I suspect I will use the moodle instant chat module rather than developing my own.
I put these thoughts to Martin yesterday and he replied:-
"Designing this interface is going to be quite hard, so better to concentrate on that without having to deal with all the integration work up front."
I will direct the team who will be working on the collaborative content editing section of our project to this discussion, as I think there have been many comments here that they would find usefull. I would hope that the groupware module I will be creating can be well integrated into the collaborative content editing, so as to produce a truy unified group working environment.
Many thanks again for everyone who has given their suggestions and comments, they are greatly appreciated, and it's great to find such a responsive community.
With people as commited as this, the commercial VLE's must be really starting to sweat....
Your description sounds very much like what I've been doing with Moodle. I too, need Moodle to work from a user portal/workgroup paradigm. In order to achieve these things, I've rewritten a lot of the navigation schemes to suit my application, and made a lot of compromise.
I'd really like to know more about your plans. If it is as close to my plans as it sounds like, we may be able to combine resources.
The good thing about "Open Source" is:
that you can never force anyone to join! They must be willing to see the benefits and convinced by their own.
That's the most important lesson I learned when I joined Moodle.