Tin Canny 4.2: LearnDash Lesson & Topic Reports

We’re excited to announce that Tin Canny 4.2 is now available. It’s a big release with several new reports, performance improvements, new options for SCORM and xAPI users and some behind-the-scenes enhancements.

Lesson and Topic Completion Reports

We know that LearnDash site owners have faced challenges for years getting consolidated records for lesson and topic completions. For course completions, there are reports everywhere; we have different types of course completion reports in 3 of our plugins alone (Uncanny Groups, Tin Canny and Uncanny Continuing Education Credits). There’s no shortage of ways to find out whether or not a student has completed a course.

For lessons and topics, we offered a few ways to look up completions by user, but never for a group of users or all users. That’s what we’re adding in today’s Tin Canny 4.2 release.

To use the reports, just drop [uotc_lesson_report] or [uotc_topic_report] shortcodes onto a new page. Once that’s done, you’ll see something like this:

LearnDash Lesson Completion Report

It’s as easy to use as it seems. Administrators or Group Leaders can just select a group, course and lesson (or topic) to see a list of everyone that has access to that lesson or topic and their completion status. Need to know which users in your group haven’t completed a specific lesson yet? Now it’s easy. The new shortcodes even support choosing which columns to display–including time data, if the Simple Course Timer module from Toolkit Pro is active.

New Completion Condition options

One issue we sometimes see on Tin Canny sites that use SCORM or xAPI assets is the uploaded modules not sending the verbs they expect, or no unique verb is sent at the end of a module. Maybe you’re one of those users and you have a module that just sends an “Experienced” verb for every slide, and what you really need is to tell Tin Canny, “Okay, I know every slide returns an Experience verb, but I need to unlock the Mark Complete button when there’s an Experienced verb for a specific slide.”

To use this new combined verb/target condition, just enter the name of the slide and the verb you want to target in the Completion Condition field of a lesson or topic page in this format:


So if the slide name is “Slide 2” (make sure it matches what you see in the Tin Can report in the Target column) and the target verb is “attempted”, this would be your completion condition:

uotarget Slide 2::experienced

This is definitely for advanced users only, but it will help a lot of sites.

What else is new?

The Tin Canny Course reports had some big updates that change how we retrieve and populate data. With the availability of new LearnDash functions in (somewhat) recent versions, we changed some old queries to take advantage of improvements on the LearnDash side. If you have a huge number of users and saw performance issues or memory errors in the past, we hope you’ll try again.

Flywheel users will benefit from switching to a wp-load.php dependency to Ajax only for some xAPI and H5P behaviours, and there are several additional code improvements that will help all users.

Toolkit Pro 4.0: Generate LearnDash Certificates in Bulk

It’s here! The Uncanny Owl team is thrilled to announce that version 4.0 of the Uncanny Toolkit Pro plugin for LearnDash is now available. The latest update to the most popular third-party premium add-on for LearnDash adds 1 new module and a huge number of new features and improvements. Let’s jump right in to what’s new.

Generate LearnDash Certificates in Bulk

It’s a question LearnDash users have been asking for years: How can my Group Leaders and I download certificates for all of our students? Until today, you couldn’t. You had to look up records for one user at a time, find the right course or quiz, then generate a new certificate. It was time-consuming to the point of being completely impractical for large groups of users and courses.

With the new Download Certificates in Bulk module, grabbing a large batch of certificates is as easy as adding a shortcode to a page. When viewed by an admin or Group Leader user (the Group Leader must, of course, be the leader of one or more groups), it’s possible to download a zip file with Group, Course or Quiz certificates. To get started, add [uo_download_certificates] to a page and choose the type of certificate to download:

Download LearnDash Certificates

Depending on the type of certificate, you might be prompted to choose a group, course and/or quiz. As long as whatever you select has quizzes associated it, you will see an option to generate certificates. Here’s an example for bulk course certificate generation:

Generate LearnDash Course Certificates

In the above example, the module will look up all students in the Uncanny Owl group, see who has completed the “Intro to Bulk Certificates” course, and then create a zip file for all students that have earned a certificate. Inside the zip file will be a set of certificate files in PDF format.

One important thing to note is that all certificates in LearnDash are generated dynamically, and we rely on LearnDash for this generation. Because some criteria might generate hundreds, or even thousands, of certificates, we push processing to the background and send an email when the generation is complete along with a link to download the certificates. This process can be slow, perhaps upwards of 10 minutes if there are a lot of certificates to generate.

There are a number of settings available in this new module, including the free space required in the environment to allow certificate generation, email notification settings and an option to delete all temporary certificate zip files. (Certificate zip files are automatically purged after 12 hours to ensure that sites don’t run out of space. )

LearnDash Certificate Download Settings

Other Toolkit Pro Enhancements

Uncanny Toolkit Pro for LearnDash 4.0 also includes several other noteworthy improvements, including the following:

  • The Transcript module adds support for category attributes (e.g. [uo_transcript ld_category=”all” category=”all”]), so you can more easily control exactly what’s output in a transcript. Perhaps sample or hidden courses should be excluded from the report.
  • Notification emails for the Group Expiration module include several new filters for overriding the header, subject and message programmatically, like:
    $headers = apply_filters( ‘uo_ld_expire_group_email_headers’, $headers );
    $message = apply_filters( ‘uo_ld_expire_group_email_message’, $message, $user, $group_id );
    $sub = apply_filters( ‘uo_ld_expire_group_email_subject’, $email_title, $user, $group_id );
  • The Import Users module ignores blank rows, so users with empty rows they didn’t realize they included in the CSV file will no longer see errors.
  • The PDF export for the LearnDash Transcript module now supports RTL languages.
  • The Reset Progress button module now supports deleting time records from the Simple Course Timer module by using this filter: apply_filters( ‘uo_course_timer_data_reset_enabled’, false, $course_id, $user_id )
  • Pages created by the Group Registration module are now hidden by default from search engines.
  • The Group Registration module adds improved WPML support.

We hope you find the update useful! A full list of changes can be found in the Toolkit Pro changelog.