For nearly as long as I have been using Moodle there has been a demand from some sectors (in particular the corporate/enterprise) for the ability within moodle for a more structured framework in e-learning delivery. In Moodle’s traditional model, resources were all laid out and students were either guided through them by a facilitator or they were self paced. In particular this has been great for blended learning environments, but particularly difficult for those who delivery materials purely through online means.
To meet this demand there has been a hack (defined as changes needed to be added to Moodle code) that has been developed by members of the Moodle community to bring this functionality to those who needed it. It was dubbed Activity Locking and has been extremely popular since its first incarnation appeared for Moodle 1.5. The issue with a hack however is that it would break on every Moodle upgrade and required users to manually edit the PHP code within their sites. The demand has been so strong that for quite some time now there has been a dedicated forum on Moodle.org for those users who have wanted to enable such functionality. If your interested in trying it out on your install (which I would recommend holding off if you can instead) you can grab it for 1.9.3+ by clicking here.
But the great thing about Moodle is of course that it is Open Source. The reason I highlight this obvious fact is to point out that most Open Source projects evolve to meet the growing needs of their communities. With the cry for this feature so loud and so long lasting, it has finally found funding and is being developed as a core feature in Moodle 2.0. The new feature is being built by Sam Marshall from Open University with input directly from Moodle.com HQ.
How does it work?
The idea behind conditional activities is that each resource/activity created by a teacher can now have a set of criteria set to it outlining when and how it is to be displayed. Conditional Activities in Moodle are tied closely with another new Moodle2.0 feature called “Completion Tracking“. The criteria a teacher sets in their conditionals is based on where certain activities/resources have been completed. Options that determine completion include:
- # number of new posts or replies in a forum made
- # scored in a quiz
- has created # pages in a wiki or has made # edits
- A user has viewed a resource # number of times
- user has participated in an activity (i.e. has made a choice)
- A completion Criteria can be date based if required
- It can also be set that a student themselves can mark hen they deem the activity completed
So we now have a wide range of diverse completion options. Conditional activities now say that if a student has “completed” an activity/resource (or range of activities/resources) they can then see the newly created one. This may sound confusing but I’ll list my demo below.
Example workflow
Here is the demo that you will also see in a video below. The student is forced through this gauntlet of criteria to work their way through my course. In my demo I created a topic with two web resources, a quiz and a label alerting them to their completion of the topic. through the use of conditionals I have set up the following
- Web Resource Two is visible to the student but blocked. they can’t access it until they view Web Resource One
- Once they have viewed both Web Resources a Topic Quiz will appear as if by magic.
- The Topic Quiz has had a Completion Crieria of 70% set to it. it wont be maked as complete until that percent is reached or exceeded
- One the student scores over 70% in the Topic Quiz a label with a message alerting them of their completion of Topic One appears
This is obviously a very simple workflow but demonstrates how they can be constructed. You can see where in one instance two conditionals had to be met before the quiz appeared. It will really come down to the facilitator as to how complex these workflows can become. Another example could include if failing the quiz that a revision exercise would appear for the student to complete before moving on.
The video walkthrough
Sam himself has also loaded two screencasts of his own that show a bit more depth to this functionality.
Remember, if you want to you can sign up for a demo account on the Moodle Playpen Alpha Site and play around with thus new functionality yourself.
Useful Links
- Moodle Playpen Alpha Site
Test things out for yourself - Download Moodle 2.0 Alpha
This is not to be used on live sites. Trust me on that! - Conditional Activities forum on Moodle.org
Make sure to add to the discussion on the forums to help shape this function for the finished release - Full write-up in the MoodleDocs wiki
All the info you could possibly want on this upcoming feature - Activity Locking Hack for Moodle 1.9.3+
Please remember that this involves changing your Moodle’s core code and is not recommended for those who don’t know there way around PHP




















Now thats a very motivating tool for students. Unlocking is something young people often experience in their gaming worlds. Complete XYZ and get a bonus level, the mystery room, new character, new move/power or end level boss. It certainly got me curious enough to sign up.
Oh man! I can’t wait. What a feature! Thanks for the demo.
I can’t wait for the official release our teachers will love that. Thanks for the demo!
I have been waiting for this! I’ve been trying to find just the right module to do this. It is perfect!
Screencast Software…
Great demo…What software do you use for your screencasts? Camtasia?
Thanks!
I’m on a Mac and use a fantastic piece of Mac only software called Screenflow. It is awesome!
The video started out nice but at 3:11 the sound drops off.
While you guys are challenging a student with conditional activities to run the gauntlet of “you have to do this and you’ve got to do that” , we are doing the exact opposite!
We don’t get paid for non-participation and are penalised for non-completion of qualifications; and so, it is of critical importance to alert teachers to inactivity. Then they can intervene with students to motivate those who are “dragging the chain”.
So we want conditional activities that trigger automatic SMSs to a student who hasn’t started a unit within 7 days of enrolment; or alert a teacher to phone a student who has been inactive for more than a week. I hope Moodle 2 does this for us.
Cheers, Paul J.