Monday, March 09, 2020

How to run an online conference on a Moodle site

In this post I will go over a few features of Moodle that make it suitable for hosting an online conference. I am not proposing something that's never been done before: A number of online Moodle conferences (the 'iMoot') have been run in this manner and I have enjoyed being a presenter and participant on some of those occasions.

Sharing informational materials (what the conference is about, key dates, etc.)
The homepage of the Moodle site can easily be used for this purpose, with sub-pages, videos, etc.

Accepting submissions/proposals and reviewing them
After creating a user account on the site, authors can be directed to a Database activity where they would submit their proposal along with other info, eg, the presentation format (eg, talk, poster, workshop). The entries in the Database would be set to be approved before they can be viewed. Later, peer reviewers would look through the entries and rate them using a custom scale (eg, accept, provisionally accept, reject). They would also be able to share their comments on each entry. Finally, the selected entries would be 'approved' and the Database can be set to be visible to all. (To implement a more advanced reviewing process, an Assignment activity with a grading rubric would be a better option than Database.)

Asking authors to choose presentation slots
An online conference will likely involve delegates from different time zones, and it's unlikely that all the delegates will be attending all of the time. A Choice activity can be set up with a list of all the possible time slots, limiting each option to receive only a few votes. For example, if the plan is to have up to 3 parallel sessions at one time, each option can be set to receive a maximum of 3 votes (or a few more votes to let people choose more than one option). And only those who have had their proposals accepted would be able to mark their choices -- they would be part of a presenters group and have access to the Choice activity.

Sharing updates as the conference approaches
A Site News forum on the homepage of the conference Moodle site would serve this purpose. Anyone who creates an account on the site can subscribe to receive email notifications of news posted there. Further forums can be created elsewhere, eg, a forum for presenters.

Making the conference schedule
The conference organisers can download the Choice responses and the Database entries to put together a full conference schedule. And this can be shared on the Site News forum when ready.

Registration and payments
The PayPal plugin can be used to receive payments and those who have paid would be added to a conference space on the Moodle site, from which they can access the presentations that will take place.

Live presentations and real-time interaction
Moodle doesn't have a built-in tool for video conferencing, but it plays really well with BigBlueButton (BBB), also an open source application. Below is a screenshot of a BBB talk I gave a few years back (with some information greyed-out to protect privacy). There were about 25 participants (bottom left pane) and many of them shared their thoughts in the chat window (left of the slide presentation) while my colleague and I were going through the slides, and the non-speaking presenter among us would respond to them. It was very much a real-time experience!

I've made it sound pretty easy -- what's the catch? Well, you need to have (or rely on) a fair bit of Moodle expertise to make things come together. But Moodlers are around to help: https://moodle.org/mod/data/view.php?d=54

But what about the networking and social opportunities? I don't think those can be replicated -- there is no online equivalent of shooting the breeze over a drink, as far as I know.

Monday, December 23, 2019

Setting up automated reminder messages in a Moodle course

If you'd like to send automated messages to learners enrolled in a Moodle course, the reengagement plugin is what you need.

I recently set up time-based, contextualised reminder messages using this plugin, and this post might be useful if you're looking to do something like that.

The course I was working with is a self-study course that learners are encouraged to complete within 4 weeks. The course consists of three quizzes, and once they achieve a passing score on all the quizzes they receive a certificate of completion (generated automatically with the custom certificate plugin).

I wanted to send the learners an automated reminder message after week 1 about the first quiz, after week 2 about the second quiz, and after week 3 about the third quiz. Importantly, the reminder message would be sent only to those who had not completed the relevant quiz.

To accomplish this, I first added 3 reengagement instances on the course homepage and kept all of them hidden.

Below are the key settings I used in the first reengagement instance to trigger a reminder message after the first week. In addition, I wrote out a fairly detailed message in the 'notification content' field (not shown below), addressing learners by their name ('Dear %userfirstname% %userlastname%'), saying why they are getting this message (eg, they have not yet completed the first quiz), and putting the message in context (eg, they must complete all the quizzes to receive a completion certificate).

The reminder messages seem to be working: 47% of the learners who made a start on the course completed it within 4 weeks, which I think is not bad for a self-study course.

The reengagement settings I've used:


















Sunday, November 10, 2019

How to display a digital badge from a Moodle site on an Open Badges portfolio

(This post has been updated in 2019 following the transition of Open Badges from the Mozilla platform to the Badgr platform.)


Have you received a digital badge?
If you've received a badge from a Moodle site where you've completed an online course, you'll usually be notified by email, for example:













Click one of the links in the email to access the badge on the Moodle site. You'll see your name, the issuer name, and other details. For example:
















If you know you've received a badge but don't get this email, don't worry. You can access the badge on your Moodle site by visiting <your Moodle site address>/badges/mybadges.php

Adding your badge on badgr.com 
Step 1: Download the badge from your Moodle site by clicking the 'download' link that appears right under the badge. (You may also see an option to add the badge directly to a backpack, but if you don't see this link or it doesn't work, you can add the badge manually to a badge portfolio by following the steps below.) 

Step 2: Create an account on the badgr.com website. 

Step 3: Login to your account on badgr.com and click the 'Add badge' button. Upload the image file of the badge that you downloaded from your Moodle site. 

Step 4: Adding a badge doesn't automatically make it public. If you would like to display your badge publicly, you have to create a badge collection. Click on the 'Collections' tab in your Badgr account and then click 'Create collection'. 

Step 5: Drag the badge you have uploaded into the collection you have just created. 

Step 6: Enable the 'Public' option right under the collection. Then click the 'Share' link to get the public link to your collection. 

Step 7: Add the public link anywhere you'd like! Any time you want to add a new badge to this public collection or to a new collection, simply repeat the above steps.

Thursday, September 19, 2019

Permissions snafu when importing across courses in Moodle

The import feature in Moodle allows you to copy over resources and activites from one course into another.

When you start the import process, you choose the source course (ie, the course with the stuff you want to import) and you get to choose what to import: activities/resources, question bank, filters, blocks, etc.

Consider this scenario:

1. You have a forum in an old course for which you have removed posting permissions (maybe because you have students in that course who stay enrolled but you don't want them to use the forums any more).

2. You want to import a Book resource from the old course into a new course. You do not want to import the forums.

When you carry out this import, you would of course have the Book resource in your new course, but you may find that the students in your new course can't post on the forums any more! This is because the import process brings in the forum permissions from the old course into the new one, even though you have not imported the forums themselves. In other words, all the user permissions from the old course are copied over into the new course, regardless of which activities or resources you imported.

I would definitely put this down as one of the idiosyncrasies of Moodle. I looked it up on the Moodle Tracker and indeed there is a bug report.

So the next time you import anything from one course into another, check the user permissions in the destination course to check and fix anything that has inadvertently changed.

Friday, September 06, 2019

Keyboard shortcut for "replace in selection" in Brackets

I recently moved from Notepad++ to Brackets for coding some of the dynamic elements in Moodle course content. With its modern UI, live preview feature, and very useful Emmet extension, Brackets has given a boost to my workflow. Strangely, a simple feature is missing in Brackets: you can't replace characters within a selection of text. There is however an extension for this called, quite simply, "Replace in selection". Finding and installing it is straightforward using the Brackets extension manager, and the brief help text says that the keyboard shortcut is Control + R.

But that shortcut didn't work for me. What use is a find/replace function without a keyboard shortcut?

Looking at the user key bindings in Brackets (Debug -> open user key map), I realised I had to figure out the command ID for this feature. The main.js file of this extension indicated that it might be "replaceInSelection.Replace". And that it was indeed - I added the following to the key map file and the keyboard shortcut worked!

"overrides": {
         "Ctrl-R":  "replaceInSelection.Replace"
    }

Wednesday, September 04, 2019

Questionnaire plugin in Moodle vs SurveyMonkey

A few years back I compared the "Feedback" tool in Moodle with SurveyMonkey.

"Feedback" is one of the standard Moodle activity types, but it doesn't seem to be getting a lot of love from developers. I haven't seen any major improvement in its features from Moodle 2.1 to 3.5 over the past eight years.

One major drawback of the Feedback tool is that it is still not possible to include matrix-type questions (with rows for statements and columns for marking choices).

Here's where the "Questionnaire" plugin offers a compelling alternative, because you can create questions such as this:

Source: Moodle Docs for Questionnaire plugin



SurveyMonkey will probably always have a better user interface, a greater variety of question types, and more options to analyse responses than any feedback/questionnaire tool in Moodle.

But the Moodle Questionnaire plugin may be a better option if the following statements resonate with you.
  • Your course participants don’t have to go to a different site to take the survey – there’s no break from the course experience.
  • You can make survey completion part of the formula/criteria for participants to complete the course.
  • Even if you set the survey in anonymous mode, you can check which participants have completed the survey (though you can’t match the responses with the participants) and you can send a follow-up message with the non-responders.
  • You can easily refer to surveys used in previous courses to check which questions were included, view/download the responses again, etc.

Monday, April 29, 2019

How to calculate the total number of forum posts from the course logs in Moodle

The course logs in Moodle contains a treasure trove of data for learning analytics. One of the numerous data points in the logs pertains to the forums in the course. If you'd like to calculate the total number of posts learners have made on the forums, how many posts were made in each forum, or who has posted how many posts, look no further than the course logs.

1. Go to Reports -> Logs from the Course Administration menu.

2. The default settings that you see on the Logs page gives you "everything but the kitchen sink" kind of data. For a course with 1000 learners, the Logs could have more than 300,000 events! At least that's my experience. You might not want to generate a spreadsheet with so much data. I prefer to use the "All changes" option instead of the default "All actions" option to zoom in a little closer to the events of interest, in this case, forum posts. This gives me a substantially smaller number of events to work with, for example, 50,000 instead of 300,000. This is of course still a daunting number but it yields a manageable number of categories for the next stage of spreadsheet processing.

3. Click "Get these logs".

4. Scroll to the bottom of the page and download the table data as a CSV or Excel spreadsheet. I'd suggest CSV for faster data generation and downloading. You can change the file format if you'd like when you open the sheet with Excel.

5. Once the sheet gets downloaded, open it with Excel (or LibreOffice/OpenOffice). Generate a pivot table with all of the data as the base.

6. In the new tab with the pivot table, put the following in the field list: "Component" in the Filters section, "Event name" in the Rows section, and "Time" (as count) in the Values section. Leave the Columns section empty. You can use some other field instead of Time for the values - this is simply to count the events.

You'll then see something like this (the numbers below are actual figures from a course with around 800 learners):


7. With this table, you can calculate the total number of posts made in all the forums in the course. Use either of the below formulas to get this data:

Discussion created + Post created - Post deleted
OR
Some content has been posted - Post updated - Post deleted

To find out the total number of posts made in each forum in the course, put "Event context" in the Columns section of the pivot table's field list. And to look at the posts made by each learner, put "User full name" in the Rows section - when you do this, you might want to choose either "Event name" or "Event context" for the Columns section, as using both together might make the data intractable to work with.