• Ireland & UK Moodlemoot – April 2-4 2012

    Moodlemoot Dublin 2012

Today’s plugin for review is the Drag and Drop Marker Question Type.

Background

On Feb 13th, 2012 the Open University released to the community ten new question types for the Moodle quiz. These are question types that they had developed when they were moving to Moodle 2. It was work that they had designed in-house (mainly Phil Butcher) and contracted the coding out to an independent developer Jamie Pratt.

Tim Hunt did the release post about them which briefly explained each one. They sound great. I will get around to reviewing all of the question types over time, but for this post I am reviewing one – Drag and Drop Marker.

What does it do?

This question type enables the student to answer the question by placing a marker or multiple markers onto the image that the question is using. Yes, it is really just that simple.

Is it simple to install?

There is a zip available in the official Moodle plugins database. However, one of the things you find out on the detailed download page is that this question type, being a more complex one has two dependencies. You need to install two of the other simple question types to be able to activate this one.  They are  Drag and Drop onto Image and Select missing words.  So I downloaded all three and unzipped them. I then uploaded the contents of the all three zips to the moodle/question/type folder.

Logging into the Moodle 2 site as admin, I was prompted to upgrade to install the three plugins, which reported a success with no reported errors. There are no global settings for any of the question types, so once installed it was ready to try out.

Is there documentation for it?

The README text file with the zip has clear instructions on how to download from git should you need to. It also explains how to install for either Moodle 2.2 or Moodle 2.1. The clear GIT instructions will certainly help those who are not familiar with GIT and yet want to start using it to include plugins.  The plugin entry also has this same information on the download page.

The OU have their own documentation page up on their question types (this is delivered in Moodle). The space has videos about the question types, and a nice pdf of it as well. There is also comprehensive instructions (aimed at their tutors) about how to use them. This is under  How to create an iCMA in Moodle.

With so much documentation there, it may be useful to add in stub entries to the Moodle docs which provide the direct link back to the centralised documentation pages – on http://docs.moodle.org/22/en/question/type/ddmarker for example.

Jamie also has a site set up with example quiz so people can try them out.

Is it easy for the teacher/admin to use?

So to test the question type, I went into a course and created a quiz and added a question of this new type. I went with all the default settings for the quiz.

When adding a question, I saw that the new question types were there : Drag and drop Markers, Drag and drop onto image and Select missing words.  So I selected the Drag and drop markers and clicked next.

The question has the usual fields:

  • Name
  • Question Text
  • Default Mark
  • General Feedback

Then you were faced with the preview section, which was very simple to use.

Firstly you uploaded the image – for this example I took a flickr picture of a house and uploaded it. (from http://www.flickr.com/photos/baronbrian/3694497122/sizes/l/in/photostream/)

I then had to define the drop zones areas which for the first one was not something I was used to but once I got the pixel count it was fine.

I then added the Markers (names for the zones which will be used as labels for dragging onto the image by the student) and selected them in the drop down for the drop zones.

It may seem complicated at first but it was actually very simple – the only hard parts is the coordinates which with the auto-preview of the locations, it is very easy. The one thing I would add here is a help icon for the locations to help with pixel examples.

These are the three images once it is configured:

Drag and Drop Marker - Image Preview

Drag and Drop Marker - Image Preview

Drag and Drop Marker - Dropzones

Drag and Drop Marker - Dropzones

Drag and Drop Marker - Markers

Drag and Drop Marker - Markers

So once all that was done, how does the question look?

Is it easy for the learner/student to use?

For a student answering the question is really quite simple too. The question displays an image with the pre-defined markers below the image. The student then has to drag them to the areas of the image they think they apply to.

Drag and Drop Marker - Quiz Example

Drag and Drop Marker - Quiz Example

Does it do what it promises?

Yes. This is a really useful question type and a great piece of work from the Open University, I look forwarding to reviewing the other ones. As this question type used aspects of the other two that was required to be installed before it would work we can get a hint of how they will work.

I will not try to produce a list of examples where I see this type being used, as there are just so many in a wide range of disciplines. But one area I do see this being helpful is in geography naming countries or states, or rivers, mountains, streets … I better stop now before I can’t stop.

I certainly recommend you try this out as a nice extra after the default question types in Moodle 2.

 

Stars: 5 out of 5 stars for this plugin

**Standard Reminder**

These reviews check out the plugin for usability not for security. If you are considering installing any module on your site you should also check that is secure and does not impact the server performance.

 

Creative Commons Licence
This work by Gavin Henrick is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

This is part of a blog series of short profiles on plugin developers within the Moodle community. Today it is Brendan Rollinson-Lorimer.

Name: Brendan Rollinson-Lorimer
Twitter:
Blog:
Source Code: https://github.com/remotelearner

Tell us something about yourself

I graduated from the University of Waterloo approximately three years ago with a degree in Math and Computer Science. At university, I participated in the co-op program, where I worked for five different companies across six work terms.

I currently work full-time for Remote-Learner, doing Moodle-related development work. This is my first job after graduating from university.

Outside of work, I spend time listening to music.

When did you first start programming?

I taught myself to program in Visual Basic 6 in 2000, more so out of curiosity than for any particular reason. The first proper project I took on involved writing my own graphical HTML editor for personal use.

Shortly afterward, I participated in three high school courses in “Computer and Information Science” that involved programming in Turing. The most significant project in any of these courses involved writing a graphical Jeopardy game with one other student.

When did you first encounter Moodle?

I first encountered Moodle when performing research before applying for my current job at Remote-Learner.

At the time, I had never heard of Moodle before, but was familiar with some competing products, such as Angel (which I used at school), and the Sakai Project (which I was exposed to at a co-op job).

What did you use Moodle for?

I mainly use Moodle as a developer. I spend most of my time with Moodle developing for an enterprise-level product that sits on top of it, providing extra functionality.

I also spend some time testing similar functionality, including features that integrate with specific components and features of Moodle.

What was your first Moodle plugin? Why did you write it?

The first Moodle plugin I wrote was a block that displayed entries from the Moodle log database table.  This plugin was not used in a production environment. I wrote this block as part of my interview process for my current job.

The first Moodle plugin I wrote that was useful in practice was a block that imported data for state standards for use in custom reports. This data was subsequently used in a suite of custom JasperServer reports that end users could view. I wrote this block as part of a custom development project for a particular customer.

What is your latest Moodle plugin & why did you write it?

I worked on the ELIS 2 Curriculum Manager release for Moodle 2.

I am current working on writing a block for Moodle 2 that imports CSV files, creating data based on their contents. This import process is used to integrate Moodle with a variety of external systems. This plugin is the Moodle 2 version of an existing company product, with several improvements.

What would you say to someone who is considering writing a Moodle plugin?

There are an extremely large number of plugins available for Moodle 1.9 and 2.0 on moodle.org, including contributed plugins. Make sure you’re not re-inventing the wheel if you don’t have to. If you write something that is generally useful, share it with other potential users via moodle.org or otherwise.

moodle.org also has plenty of developer documentation that you will find helpful when writing a plugin for the first time.

Lastly, keep in mind whether you want to write versions for both Moodle 1.9 and / or 2.0. Right now, many people are using both version of the product, and there are some API changes between the two of them.

Final Thoughts

The Moodle community is very open, and is receptive to suggestions, code contributions and bug reports. If you are encountering an undocumented problem, make a comment about it on the Moodle forums or create a tracker issue.

Some Plugins

This is a list of the plugins that Brendan has contributed to that are currently released to github.  To view all these check the Remote-Learner Github

ELIS Reporting This Plugin provides enhanced reporting for curriculum and user sets in the Moodle extension ELIS.
ELIS OPENID This is the OpenID authentication add-on for ELIS.
ELIS CM This plugin is the primary ELIS Curriculum Management component.
ELIS Alfresco This plugin is the ELIS Alfresco Integration component.
ELIS Base This plugin is a group of base modifications to Moodle which are required for other ELIS components.

This is part of a blog series of short profiles on plugin developers within the Moodle community. Today it is Richard Oelmann.

Name: Richard Oelmann
Twitter: @editconsultants
Blog:  -
Source Code: https://github.com/roelmann

Tell us something about yourself

My background is as a Primary School teacher for the last 18 years, until leaving the job this year. During that time I was IT coordinator in a range of schools, Advisory Teacher for ICT in Cardiff and Deputy Head of a school in Monmouthshire.

Since leaving Primary teaching, I am now working for University of Wales, Newport as a ‘Web Based Learning Environment’ developer – Essentially I am managing the upgrade of the University’s learning environment to Moodle2.

When did you first start programming?

Since originally learning BBC Basic programming about 25 years ago, I had done virtually no programming or coding of any description until I started working on Moodle themes. Since doing so, I have been learning HTML, PHP and CSS primarily – teaching myself with plenty of support and encouragement from the community.

When did you first encounter Moodle?

I first encountered Moodle as an Advisory Teacher in Cardiff, when it was being rolled out as a Virtual Learning Environment for the Primary Schools in the County. At that stage I was simply a user – and providing support to teachers beginning to use Moodle in their schools – I was not involved in the ‘back-end’ of Moodle until I returned to school and began setting it up for myself.

What did you use Moodle for?

I have used Moodle in all these roles, moving from being a user (‘student’ type role) to Teacher before beginning to administer Moodle for my school when I left Advisory Teaching and returned to the classroom.

Currently, I would tend to call myself an administrator with an interest in developing – although I guess others see me as a developer as that is now my job description!

What was your first Moodle plugin? Why did you write it?

My first ‘plugin’ was a theme to create the appropriate look and feel for my school. This wasn’t released to the community, although when Moodle2 was first released I began creating some themes for the community where many of us were learning about the changes to themes in Moodle2. I believe the first theme I released to the community was a light-weight theme called LampLite..

What is your latest Moodle plugin & why did you write it?

My latest plugin released to the community was a pair of themes called MultiLayout and MultiStyled, with the intention of providing administrators who have limited server access with a means to choose a variety of layout options. As with many of my themes it developed from comments on the forums about a variety of needs, although not necessarily a specific feature request.

I have also recently written a few small modifications of some of the standard blocks within Moodle to target specific needs within the University.

What would you say to someone who is considering writing a Moodle plugin?

My advice would be – give it a go!

Look at what you want to achieve and look at some of the existing plugins – not necessarily ones that do something similar – you might get ideas for different parts of your plugin from different places.

Make use of the community – there are plenty of people out there who will be more than happy to help you.

Final Thoughts

As you can tell from my previous answers I am a big advocate of the Moodle Forum Community. You can learn so much from other members of the community, but I would definitely recommend active involvement in the forums – replying as well as asking :)

Some Plugins

This is a list of the plugins that Richard has contributed to that are currently (Jan 2012) in the Moodle plugins database. To view all these in the Moodle.org Plugin database check this page

Flexi_ii
A theme for admins who do not have regular access to server files. It has a very comprehensive settings page to allow changes to the theme.
Krystle2
A Moodle2 theme which integrates awesomebar and custom menu into a single menu bar.
Lagomorph A css3 based theme intended to be suitable for tablet/mobile use. This theme also incorporates new block positions in the centre section.
Multilayout
MultiLayout is a theme with minimal styling which enables various 1, 2 or 3 column page layouts to be used from within the single layout file with little recoding.
MultiStyled
Multistyled is a child theme for Multilayout. It provides the colour scheme and settings page for Multilayout, allowing the page layout and colours to be controlled from the theme’s settings page.

This is part of a blog series of short profiles on plugin developers within the Moodle community. Today it is Justin Filip.

Name: Justin Filip
Twitter: @jfilip
Blog:  
Source Code: https://github.com/jfilip

Tell us something about yourself

I am the manager of software development at official Moodle partner Remote-Learner. I work out of our Waterloo, Ontario, Canada office with the rest of the Remote-Learner development team.

As of February 2012 I will have been working with Moodle (and Remote-Learner) full time for six years.

When did you first start programming?

In elementary school I managed to figure out how to enter and run some BASIC programs from my Math textbook but that doesn’t really count. The first language that I really learned anything with was Turing which is a Canadian-developed language meant for teaching. It had some graphics capabilities and ran on DOS/Windows. I did managed to convince my high school math/programming teacher to switch to Java for my last year of high school which was great for me because the first language we worked with in university was Java.

When did you first encounter Moodle?

I first encountered Moodle in October 2005 when I first started doing contract development work for Mike Churchward who then was the sole member of the Moodle partner Open Knowledge Technologies (we later merged with Remote-Learner to become Remote-Learner Canada).

What did you use Moodle for?

I mainly use Moodle as a developer but I’ve been toying with the idea of creating some courses within the system to use as training for newly hired developers.

What was your first Moodle plugin? Why did you write it?

I think the first Moodle plugin I fully wrote was the Sidebar Block. It was created because one of our clients wanted a way to put activities in a course that were inside a block and not contained within one of the course sections. Basically we replicated the functionality of the front page Main menu block but made it work within courses.

What is your latest Moodle plugin & why did you write it?

I recently worked on the release of ELIS for Moodle 2 – it has many Moodle plugins as part of it. But it’s been some time since I personally wrote a Moodle plugin just by myself.

I want to “pretty up” a rough script I created that can do a database-to-database Moodle schema and data copy and add some kind of web-based UI to it before releasing the code to the community. The script is meant to transfer a Moodle database from one kind of DB backend to another (i.e. MySQl to Postgres) using the Moodle database API. This was born out of the need to convert a client’s database from PostgreSQL to MySQL and there being no tools out there that could handle it correctly.

What would you say to someone who is considering writing a Moodle plugin?

Take a look at the code for some of the existing plugins for Moodle to get a feel for how the code is structured. Also, start with something smaller and easier like a block rather than creating an activity module as your first try. It will introduce you to a lot of concepts and Moodle APIs that you will expand upon when working with more complex plugin types.

Get involved with the community, particularly the General Developers forum on moodle.org. There are a lot of helpful people in the community.

And there is also the Moodle 1.9 Extension Development book written by Remote-Learner’s Mike Churchward and Jonathan Moore. Even though it focuses on Moodle 1.9 it does contain a lot of lessons that also apply to Moodle 2.x, even though the underlying Moodle code has changed quite a bit in some cases.

And the developer documentation is getting better! There is a strong push right now for better code-level documentation as well as developer information in the MoodleDocs wiki.

Final Thoughts

Moodle is like any other open source project: it ‘s strength lies in it’s community. If you want to help out and participate in that community you will get more out of your time with Moodle. Share your code and use a site like Github to make it available for others who can help fix bugs or make improvements to your code. Get involved in the forums and the Moodle bug tracker.

Also, don’t forget to have fun.

Some Plugins

This is a list of the plugins that Justin has either contributed to or is the lead developer on. To view all these check the Remote-Learner Github

Questionnaire This module provides an easy way of creating your own surveys using a range of question types.
ELIS Reporting This Plugin provides enhanced reporting for curriculum and user sets in the Moodle extension ELIS.
ELIS OPENID This is the OpenID authentication add-on for ELIS.
ELIS CM This plugin is the primary ELIS Curriculum Management component.
ELIS Alfresco This plugin is the ELIS Alfresco Integration component.
ELIS Base This plugin is a group of base modifications to Moodle which are required for other ELIS components.

This is part of a blog series of short profiles on plugin developers within the Moodle community. Today it is Sam Marshall

Name: Sam Marshall
Twitter: @leafdigital
Blog: http://learn.open.ac.uk/mod/oublog/view.php?user=11
Source Code: https://github.com/moodleou/

Tell us something about yourself

My current desktop background is from the Japanese light novel/anime/etc series Maria-sama ga miteru (The Virgin Mary is watching). The picture is a silhouette of Yumi and Sachiko holding hands in front of some abstract leaves-and-cherry-blossom swirlies drawn by the wallpaper artist.

Huh, that isn’t what you meant? :)

I work for the Open University as one of the lead technical developers on our Moodle-based VLE, which is used to run the websites for all the study modules that the university offers.

When did you first start programming?

First? Really?

First programming that was more than ’10 print hello, 20 goto 10′ was probably on the CASIO PB-80 pocket computer, in BASIC, when I was about six. I remember coding a Hangman game.

The system had a massive 544 bytes of memory so the way it worked was, you would code the game and have maybe 150 bytes left to put 10 or so words into the data memory. Then you would pass it to your sibling to play the game for a bit, and when he ran out of words he could edit the data and add his and pass it back.

Hours of fun and obviously far more efficient than just using a piece of paper.

When did you first encounter Moodle?

When it was suggested to replace our previous in-house system. I don’t remember exactly when, but it was version 1.6.

What did you use Moodle for?

As a developer and for troubleshooting / advising admins. Apart from that I just use it for my blog, some internal forums, and moodle.org forums.

What was your first Moodle plugin? Why did you write it?

Probably it might have been the original ‘resourcepage’ module (which is now being superceded by the subpage module for Moodle 2).

When we started using Moodle and switched from our previous system, Moodle couldn’t handle pages with lists of files on, which was basically the only feature of the previous system. So in order to transition we had to implement that in Moodle.

Amusingly, even in current Moodle 2.2 six versions later, Moodle *still* can’t nicely handle pages with lists of files on without custom modules.

What is your latest Moodle plugin & why did you write it?

Literally, not sure – I write a lot. Our internal system has about 150 plugins (obviously I didn’t write all of those). Most of them are small and simple and don’t do much.

Of the ones which are publicly available, I guess subpage is latest. (And by the way, I didn’t actually originally write that one – I did a detailed design, and code reviewed the result, but it was coded by a developer at Catalyst. We’re maintaining it in-house though so I guess it is gradually getting more and more ‘mine’ or at least ours.)

Subpage I mentioned above; it’s an only slightly hacky way to let you put activities and resources onto ‘subpages’ off the main course page. It’s basically essential to the way our study module websites are developed, so I had to do it (or something like it) before we could migrate to Moodle 2.

There are a bunch of other modules that ought to be publicly available but aren’t because we haven’t had time. :(

What would you say to someone who is considering writing a Moodle plugin?

When you’re coding in Moodle, a lot of the time you need to go find an example from core code to basically copy.

Try to learn which modules are the ‘good’ ones you should copy and which are the old, encrusted ones that you should be cautious about copying from.

Also, try to follow the Moodle code style guidelines and put appropriate comments on everything; it’ll make your code easier to read/review for other developers and anyone considering using it.

Final Thoughts

Too busy for thinking right now. :)

Some Plugins

This is a list of the plugins that Sam has contributed to that are currently (Feb 2012) in the Moodle plugins database. To view all these in the Moodle.org Plugin database check this page

ForumNG
Alternative forum with AJAX and management features
OU Blog
Alternative blog. Can be used as a course activity.
OU Search
Provides an indexed full-text search backend for OU activity modules.
OU Wiki
Alternative wiki. Simple wiki designed for teaching and learning. Read the Review

This is part of a blog series of short profiles on plugin developers within the Moodle community. Today it is Joseph Rézeau.

Name: Joseph Rézeau
Twitter: -
Blog: http://rezeau.info/
Source Code: https://github.com/rezeau/

Tell us something about yourself

I am a retired English teacher and researcher. I taught English at secondary school level and at university for the last 15 years of my career.  I’ve been interested in using computers for teaching languages since 1983. At university, we used WebCT and then Moodle.

When did you first start programming?

I wrote my very first programs on a Commodore 64, in Basic. Language learning and games.

When did you first encounter Moodle?

When I was a senior lecturer at my university, and Moodle replaced WebCT.

What did you use Moodle for?

I used to use Moodle for my online language courses, of course. Now I do some programming as a hobby.

What was your first Moodle plugin? Why did you write it?

My first Moodle plugin was the REGEXP question type. I wrote it because Moodle was missing (and still is, to this day) a shortanswer question type with student’s answer analysis based on regular expressions.

What is your latest Moodle plugin & why did you write it?

I think my latest Moodle plugin was the Export Glossary to Quiz Block..

What would you say to someone who is considering writing a Moodle plugin?

Have a good look at how similar existing core plugins work.

Final Thoughts

When programing for Moodle (as, I expect, for any Open Source project) you can always rely on the help of the community. That is great!

Some Plugins

This is a list of the plugins that Joseph has contributed to that are currently (Jan 2012) in the Moodle plugins database. To view all these in the Moodle.org Plugin database check this page

Export Glossary to Quiz
A block to export a Glossary’s entries to the Quiz Questions bank.
Lesson Essay Feedback
The Lesson essay feedback block will display (to the students only) their previous attempts at Lesson Essays (if any), together with the teacher’s comments and their grade (if essays have been graded).
Questionnaire This enables a user create a custom Survey. Read the review
RegExp Adaptive mode with Help
This plugin is one of the 2 question behaviours to be used exclusively with the regexp question type.
RegExp Adaptive mode with Help (No penalties)
This plugin is one of the 2 question behaviours to be used exclusively with the regexp question type.
Regular expression short answer
This question type (for the Moodle quiz module) aims at a more advanced system of student’s response analysis, through the use of regular expresssions.
Page 1 of 2212345»...Last »
Performance Optimization WordPress Plugins by W3 EDGE