Moodle development traffic 11/2010

Latest stable version 1.9.7+

There are 15 commits into the stable branch from the last development week (from Tuesday 16/03/2010 until Monday 22/03/2010 including). Helen Foster fixed a bunch of help files to ensure XHTML strict compliance (thanks to David Horat) and improved the wording of a glossary help file (thanks to Bente Olsen). On Friday, Martin Dougiamas announced code freeze before 1.9.8 release and since then, only really important patches found their way into the stable CVS branch. Petr Škoda committed  several security related issues. Eloy Lafuente fixed upgrade failures on MS SQL and Oracle and fixed backup restore routines to properly check for permission before creating or overriding roles and their capabilities (credit goes to Daniel Neis).

Unstable development version 2.0dev

During the weekend, there was the first ever Moodle 2.0 sprint to get beta released soon. There are 114 commits into the main development branch from the last week.

Quotes of the week

“A major Moodle release and a wedding are not good things to try and do at the same time :\”
Andrew Davis

“I think the problem was the line got truncated when I patched :( I need a bigger monitor”
Penny Leach

“Comment is a reserved word for Oracle. I reserve my comments about it ;-)
Eloy Lafuente

Building the Wall in Berlin

At the MoodleMoot in Berlin, me and Petr Skoda have just finished a pre-conference Moodle Development workshop. During the two-day session, our nine attendees could hear a lot about the Moodle development procedures, new APIs, standard coding patterns and ways to customize Moodle to fit the institution needs. We were demonstrating these things on an actual coding. After an overview of Moodle code base structure and plugin types available, our participants were writing a brand new activity module for Moodle 2.0 called Course wall. Such an activity brings a feature well known from Mahara, Facebook and other social networking environments.

We started with an analysis of the requested functionality. The wall module should allow course participant to leave short messages on a virtual wall inside the course. To make it simpler for the workshop purposes, wall posts can’t be edited, deleted or approved (such features would be added later). At the wall main page, a list of the recent wall posts is displayed together with a form to submit a new post. We demonstrated using UI mockup tool (like Balsamiq we have integrated into our tracker) to design the user interface of the module.

Once the functionality and the UI was agreed, we used our NEWMODULE template as a scaffold for our Wall. After the template was extracted in a proper location and initial settings was done (mass search and replace to set the correct module name), we used XMLDB do define the tables used by the module.  Of course, we had to describe the basic structure of Moodle database tables and relations between the Moodle core tables (user, modules, course and course_modules) and the module tables.

The new way of producing HTML content by plugin renderers was explained. Security aspects of the code were intensively discussed at both theoretical level (general web security principles) and at the application level (how to write a secure code for Moodle). Sanitizing user input, checking sesskey and formatting the output were introduced as the holy trinity to respect during the development. Finally we added some capability checking and tried to wrote a proper upgrade procedure for our module after adding a new field into the database.

The resulting output code of this new plugin is not available for public yet. I am thinking about extending it a bit and using it for some sort of tutorial course on Moodle 2.0 development, in a similar fashion to our current “Writing a new block” course.

Post scriptum

They should do something with the beds here in Dorint hotel in Berlin. A blocked nerve at my back constantly sends a painful  signals into my brain. If I sleep on the floor today, it is not because of the amount of mojito drunk.


2 Responses to “Moodle development traffic 11/2010”

  • mudrd8mz Says:

    [New Post] Moodle development traffic 11/2010 – via @twitoaster http://blog.mudrak.name/2010/03/moodle-d...

  • Olli Savolainen Says:

    Great to hear about work on wall functionality! Seems to me though that adding editing to the equation would make it a confusing cross breed of a document editor and … well, a wall/light forum (a.k.a the sad story of google wave).

    Facebook’s solution of making wall posts immutable but deletable (and thus repostable) seems to simplify the concept a lot. It makes it clear to others than the author that a really necessary change was made – I perceive the usage scenario of a wall post as not “creating a [more or less official] document that needs to be error free” but a free form of quick communication, closely related to micro blogging.

    Adding approval functionality takes the concept closer to blog comments or even legacy guestbooks – I guess it might be required in a setting where teachers want to control things, but still makes me wonder…

Leave a Reply

Spam Protection by WP-SpamFree Plugin




film streaming sur Megaupload