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.

Wednesday, March 13, 2019

Emails from Moodle site marked as spam or not delivered to some domains

So you have cron working on your Moodle site but you have the annoying problem of emails from your site being marked as spam or not getting delivered at all to some email domains. For example, they might be delivered to a Gmail address (even if they're going to the spam folder) but not to an institutional email address.

If you see an email from your Moodle site marked as spam, download the email with full headers (in Gmail, you can do this through the “Show original” option) and check if there is a “fail” message next to SPF, DKIM or DMARC. This is a sign that something is wrong.

For example, if you see a “fail” or “softfail” message for SPF, the SPF DNS entry for your Moodle site may not be up-to-date. I encountered this problem recently after a Moodle site I administer was upgraded and it resulted in a change in the IP address as well as a transition from IPv4 to IPv6.

Google provides useful advice to deal with SPF, DKIM and DMARC.

It could also be that the IP address of your Moodle site has somehow been blacklisted. There are lots of email blacklists but only some of the blacklists influence email delivery to major providers such as Gmail and Yahoo.

None of the above - SPF, DKIM, DMARC, IP blacklisting - are Moodle-specific issues but they can affect your Moodle site, so you will need to consult a system administrator who has overall responsibility for the IT systems at your institution.

Friday, March 01, 2019

Moodling in 2018


Continuing in the series of my annual Moodling recaps (though this one has been delayed)...
  • What does "openness" mean in the context of an online course? At the most basic level, I would think it means open access to the course materials, that is, anyone can enrol in the course. What about reuse and adaptation? Can an online course be made available in its entirety - including source files of the resources and activities - and be ported to a different learning platform, where it can be freely adapted? And how about training people to make the most of the course as they embark on this embedding or localization? In 2018, I worked with my colleagues at INASP to address these aspects in relation to the popular AuthorAID online course in research writing. We developed and offered the AuthorAID Online Course Toolkit Programme to help experienced researchers in developing countries run the AuthorAID research writing course on their own, on their own Moodle-based learning platform. Hopefully we will be writing about our experience soon on the AuthorAID or INASP blog.
  • I implemented a new interface on the INASP Moodle site to help potential participants learn about our courses and enrol in them directly. Check it out: https://moodle.inasp.info/
  • With the emergence of GDPR, it was imperative for us to upgrade our Moodle site so it would be GDPR-compatible. I was involved in getting the site upgraded to version 3.5 and implementing the GDPR stuff. I'm yet to explore all the new features in 3.5 though!
  • And as usual I continued to be the technical administrator for online courses at INASP.
Compared to previous years I spent less time Moodling as a result of different work priorities. Let's see what 2019 holds!

Wednesday, August 29, 2018

Making the Moodle Calendar block neater by removing the Events Key

(I've updated this post for Moodle 3.5)

I think I prefer the Moodle Calendar block to the Upcoming Events block because it has a little more visual appeal and event dates are highlighted. However, I don't like the Events Key that appears in the Calendar block. I'd rather not distract learners with links on the course homepage that are not central to the course experience. The Events Key has four or five links -- that's a lot.


I wanted to hide the Events Key in this block while retaining it in the full view of the Calendar (which you see upon clicking the month name in the Calendar block) -- I didn't want to lose this set of links altogether.

Adding this CSS line in the settings of the Clean theme worked for me (on Moodle 3.5):

.block_calendar_month .calendar_filters {display:none;}


Earlier I used the below lines for Moodle 3.1:
  
.block_calendar_month.block .filters.calendar_filters 
{display:none;}

.block_calendar_month.block .eventskey {display:none;}



Now my course calendar looks neater:


Thursday, May 10, 2018

7 aspects of accessibility to consider when designing and developing online courses

I recently had an interesting discussion with a colleague about accessibility in online learning and I was inspired to make this table listing some aspects of accessibility for online course designers and developers to consider.

Wednesday, March 14, 2018

Making Moodle pages that are accessible site wide

If you'd like to add 'global' pages on your Moodle site that you can access anywhere, you might find the options in this post useful. These are the options I know of - I won't be surprised if there are more!

Option 1. As part of courses open to guests: You could create a course on your site that is open to guest access, and you could make pages and put publicly accessible resources here (as a kind of repository). The trouble is when you link to any page or resource here, the user will be taken to a completely different part of your Moodle site and this might break the user experience. The user might drift into the course with all the publicly accessible stuff and wonder what it's all about!

Option 2. Using the Main Menu block: On your site homepage add the 'Main Menu' block. Within this block you can add not just pages but any Moodle resource or activity that your site supports! I don't want my users to see the block itself on their homepage so I edit the block-level permissions to make it invisible to students and other roles. This does not affect the visibility of the pages I create in this block. I copy the URL and put it anywhere I like. And they appear neatly as 'Home -> Site pages -> Page title' in the breadcrumb without the confusingly long trail as in option 1.

Option 3. Using the Static Pages plugin: This plugin adds a feature to the Site Administration menu to let you create and maintain static pages. It's great but for one problem: spaces are not supported in the page title. So you are constrained to use one-word titles like 'FAQ' and 'contact', or you need to add hyphens/underscores between words in the title, which ends up looking weird in big font when the page is published.

Option 4. Adding a page directly on the site homepage: If you enable the setting 'include a topic section' in the Front Page settings of your site, you can add any resource or activity directly in the main section of your Moodle site homepage just as if it were a course section. I think the Label resource is particularly useful for the site homepage: with the right design or CSS you can add visually appealing content on the homepage. If you add any other resource/activity such as a page, the homepage develops a course-like character that you might not like! 

Thursday, February 08, 2018

Free Moodle test site with Bitnami and AWS

As a Moodler at a nonprofit I like to know how I can run a complete Moodle site on a low budget if I need to experiment. MoodleCloud is great to try stuff at the course creation level but it does not come with full rights for site admins. I'm a Moodle site admin, not a system admin, so I'm not too particular about server access.

A couple of weeks back I started on a project at work to make our Moodle site more visually appealing. I wanted to show prototypes as we went along without disturbing our production site, and I remembered that Bitnami has a Moodle stack. I opted for the Amazon Web Services (AWS) option as it seemed to offer the cheapest monthly price. Then I found out that I could sign up for the AWS Free Tier which offers 750 hours per month of compute time free of cost for 12 months! A month can have a maximum of 744 hours so I figured I should be able to run one Moodle 'instance' on the AWS Free Tier nonstop.

The process of setting up a Moodle instance on AWS through Bitnami was a bit intricate and I got stuck at the point of copying in the access key ID from my AWS account into my Bitnami account. There was something weird about the form field on Bitnami where I had to put in the access key ID. But soon it was a happy ending and I was lord of my own Moodle site in an obscure corner of the internet :)

Now I'm looking forward to tinkering on this site free of cost for up to a year!