Skip navigation.


Skip the blog side panel.

Moodle 2.0 integration

Hello everyone!

Together with my mentor, Martin Langhoff, we have decided that it's better for me to focus on the Moodle 2.0 integration of PaintWeb. This is because Moodle 1.9 lacks a file API sufficiently advanced to meet the needs of PaintWeb usage. Martin opened a relevant thread in the Moodle forums about storing images as attachements to text fields - it's worth reading to understand why PaintWeb integration is far from trivial. Moodle 2.0 has the solution to our problem: the new File API.

Focusing on Moodle 2.0 integration does not mean we do not want to complete the work started for Moodle 1.9. However, we want to have PaintWeb ready for core integration, for the Moodle 2 final release. The plan is for me to resume work on Moodle 1.9, some time later.

The Moodle developers are hard at work for the new Moodle 2.0. They've done numerous improvements. If you like Moodle 1.9, you will love Moodle 2.0. Integrating PaintWeb into the new version was much nicer and quicker.

I completed the integration of PaintWeb into TinyMCE, and I also made the image save action to work quite well. Images are saved in the draft file area, as is the rule for any textarea-attached file.

If you want to get the Moodle 2.0 code with PaintWeb, get it from my Git branch. Instructions:

git clone git:// ~/src/moodle
cd ~/src/moodle
git checkout -b mdl20-paintweb origin/mdl20-paintweb

You might be interested to read the technical details about the Moodle 2.0 integration work, published at Moodle Docs.

Since my last blog post, I also made important updates for the entire PaintWeb documentation.

Olli Savolainen has provided me with more suggestions which I implemented. Thus, I changed the color to yellow, for the "plugin bar" of the TinyMCE plugin. I also made the "Save" and "Cancel" buttons look better. Last, but not least, based on his suggestion I found a fix for the "Edit" overlay button, for Firefox. For some reason, the button was not easily clickable in Gecko-based browsers. The problem is now gone. Thank you very much, Olli!

For better usability, I made the whole PaintWeb GUI resizable. Now, users are no longer stuck with the fixed dimensions. The TinyMCE plugin has been updated to synchronise the size of the editor area with the size of the PaintWeb image viewport, for a better user experience.

You can go ahead and try the updated PaintWeb+TinyMCE demo.

With the latest work, I am meeting the Google Summer of Code project goals: the development and integration of a paint tool inside Moodle via TinyMCE. There's only some polishing work left to do, and code reviewing from more Moodle developers.