1. Home
  2. Knowledge Base
  3. Tin Canny Reporting for LearnDash
  4. Tin Canny Reporting for LearnDash – Changelog

Tin Canny Reporting for LearnDash – Changelog [2024-03-18]

  • Front End Quiz Reports - Added "Detailed Report" column as a default column #665
  • Tin Canny Uploader - Use wp_max_upload_size value if it's greater than 2 GB for larger file uploads #681
  • Front End Quiz Reports - Group leaders see all groups in some instances #667
  • Tin Can Report - Tab not hiding in front end when "Enable Tin Can Report on front end" is set to No #672
  • Tin Canny Uploader - Improved support of a module in a subfolder when full zip option is selected #655
  • Tin Canny Uploader - Max upload file size error message displays Bytes but shows in MB #679
  • iSpring 11 module not sending anything but "Experienced" statements #654
Under the hood:
  • Licensing endpoint update #685
  • PHP notice when $_SERVER[HTTP_REFERER] is not set #657
  • Quiz Report - Incorrect namespace format issue of the REST call #661
  • Tin Canny Reporting - Added WP Action tincanny_reporting_before_courses_overview_report #670

4.4 [2024-02-08]

New Feature:
  • New report - Quiz Report [uotc_ld_quiz_report] #487
  • Tin Canny Uploader - Show maximum upload size limit by host when full zip option checkbox is selected #649
  • Tin Canny Uploader - Removed cancel button for full zip uploads #644
  • Tin Canny Uploader - File by File method - Update Error handling of 403 and 503 #643
  • Tin Canny Uploader - Replace module functionality with full zip creating new module #645

4.3.1 [2024-01-25]

  • Added WP Filter uo_tincanny_reporting_ispring_11_include_tin_can_support to optionally disable iSpring 11 support #634
  • Tin Canny Blocks - Strings are translatable now #632
  • Tin Canny Uploader - Checkbox added to upload full zips instead of file-by-file upload #590
  • Quiz Question Analysis Report - PHP Error in a specific situation #635
  • LearnDash - Admin Pages - Action dropdown formatting broken when Tin Canny is active #639
Under the hood:
  • Added $force param for learndash_process_mark_complete function for a future LearnDash update #630
  • Additional validations before deleting module directories #641 [2024-01-12]

  • H5P statements are not recording #628 [2024-01-11]

  • Course Report - Ability to allow viewing all data based on WP filter `tincanny_view_all_reports_permission` #620
  • Ensure Multiple cross-site scripting (XSS) functions are loaded in uploaded SCORM or xAPI module #618
  • Front End User Quiz Report is not displaying SCORM/xAPI scores #617
  • Course Report - PHP notice when lesson no longer exists #626 [2024-01-02]

  • Security update checks on reporting table row data #615
  • Folder permissions update for new uploads #608
  • Front End Quiz Report displaying HTML code #606
  • Uploader Module incorrectly identifying some authoring tools #611
  • Tin Canny Manage Content page - Stop deregistering scripts #614
  • ucTinCan endpoint 404 in some environments #610 [2023-12-14]

  • Manage Content Page - WP filter `uo_tincanny_uploader_manage_content_deregister_scripts` to handle issues with `wp_deregister_script` on some sites #596
  • Course report - Database query to fetch user's meta improved to decrease load time #598
  • Code quality updated for improved security #600
  • Course Report - Corrected an issue with In Progress data when a group filter is used #591
  • PHP 7.2 - PHP Error fix #594 [2023-11-09]

  • Individual Quiz Report - WP filter uo_tincanny_quiz_report_show_multiple_attempts to show multiple quiz attempts in report #585
  • Content Protection - WP filters uo_tincanny_protection_headers & uo_tincanny_file_motified_http_status_code to modify Content Header attributes #581
  • Blocks - Removed lodash dependency for WordPress v6.4+ #587 [2023-10-18]

  • Course and User reports - Improved groups query #573
  • Course and User reports - Reports showing 0 values in a specific scenario on some sites #573
  • Improved PHP 8.2 compatibility #578 [2023-10-13]

  • xAPI Quiz Report - Module not sending Question text #566
  • Course and User reports - Stuck in an infinite loop when a group leader has several hundred groups #563
  • Improved LearnDash active check #561
  • iSpring Module not loading after first launch #558
  • Module table column update - PHP Error in a specific situation #556
  • Course overview - Dividing by Zero PHP Error #568 [2023-08-31]

  • Removed unnecessary htaccess changes #554 [2023-08-29]

  • Tin Canny Uploader - Custom Image option #550
  • Tin Canny Uploader - Increased allowed module title length #548
  • AJAX call running on xAPI events when “Capture Tin Can and SCORM data” is disabled #546
  • htaccess changes to support encoded spaces #544
  • Tin Canny Uploader - Module sub-type detection changes #541
  • Default module dimension settings #540
  • Dispatch open & close events to document when the lightbox is opened and closed #537
  • Tin Canny Uploader - REST API permissions #533
  • WordPress Filter: tincan_xapi_table_columns for Tin Can report #538 [2023-08-01]

  • Tin Canny Uploader - Replace content functionality creating new module for uploads #529 [2023-07-31]

  • Iframe settings not appearing in Gutenberg Tin Canny Content #525
  • Articulate Rise 360 modules not showing correct format and do not track statements correctly #523
  • Tin Canny uploader incorrectly identifying some Articulate modules #527

4.3 [2023-07-24]

New Feature:
  • Tin Canny Uploader #505
  • Tin Canny Content Gutenberg block ignores the global lightbox size setting #448
  • Tin Canny Reports - Separate tabs into different pages #516
  • do_action tincanny_module_result_processed not firing due to missing 'completion' parameter #508
  • WP install in a subfolder breaks the site check #506 [2023-06-01]

  • Course report - PHP Error with 15000+ users when All groups option is selected #500
  • User Reports - Front End not loading complete data for Group Leaders #496
  • Replace quotes in display_name that is used while setting 'actor' parameter #491 [2023-05-15]

  • Course report - Incomplete report data issue effecting in a specific situation #488
  • PHP warning of Undefined array key #486 [2023-05-08]

  • Lesson/Topics Reports - LearnDash Custom Labels support added #481
  • Course Report - Removed data upgrade instructions #479
  • User Reports - Count columns not reflecting correct data #483
  • WP Dashboard - Most Completed Courses Widget - Course progress not showing #478 [2023-04-25]

  • Beaver Builder - Tin Can Media button added #472
  • Course report - Missing some data when "All users" is selected #475
  • Course report - PHP error if user roles are not defined #470

4.2 [2023-04-19]

  • Lesson completion report #458
  • Topic completion report #458
  • Completion condition - Add support for target & verb #456
  • Course and Tin Can reports - Improved loading performance #450
  • xAPI/H5P now uses AJAX instead of wp-load.php dependency #468
  • Fix phpinfo() issue by adding condition and only execute if it exists #459
  • User Report - User course filter not working #415
  • Group filter for Course/User Reports limited to 500 results #466 [2023-03-22]

  • Course Report - Data missing when a specific group is selected #454

4.1.5 [2023-03-20]

  • iSpring 11 xAPI modules statements not tracking #441
  • Course reports never load because of insufficient site resources #450
  • Lightbox - All effects other than fade make the content load off-screen #442
  • PHP Error during sanity check in a certain situation #432
  • "Add Tin Canny Media" button missing from Divi Visual Builder #424
  • User report tab, TinCan page - Page title not showing correctly #420
  • User report tab, TinCan page - Course title showing up as 'Not Found' and Page title #417
  • Tin Canny Reporting - Improved translation strings #412
  • Added WordPress filter uo_tincanny_reporting_get_state_fallback_query to enable/disable fallback #427
  • Applied branding changes for branding changes #391
  • Security hardening for Uncanny Automator installer #431

4.1.4 [2022-12-01]

  • Tin Canny - Remove shell_exec dependancy and use WordPress FileSystem for various file management tasks #399
  • Fix Leading space in translation #402
  • New do_action call to allow early exit #404
    • do_action( 'tincanny_before_process_request' ); [2022-11-23]

  • Removed shell_exec admin notice

4.1.3 [2022-11-22]

  • Admin Reporting - Sort module name drop-down list in ascending order #374
  • Trigger custom JS event (tincanny-learndash-statistics-contentchanged) when LearnDash's statistics content changes #354
  • Added X-Robots header #345
  • Fix path issue during module upload if WordPress is installed in a subfolder #372
  • Course Report and User Report - PHP error with PHP 8.x+ in a certain situation #369
  • Uploading process - Fixed removal of a new line character in the asset title #364
  • Tin Canny Reporting - Fixed PHP Error if user data is not available #347
  • User Report - First & Last name not appearing on Multisite #395
  • Improved PHP 8+ compatibility #385
  • Dependency check shell_exec function #378
  • register_rest_route was called incorrectly #367
  • Added in-plugin notifications #381
  • Reporting - Added filters to add the ability to exclude user roles and user ids from a report #376
    • apply_filters( 'uo_tincanny_reporting_exclude_roles', array() );
    • apply_filters( 'uo_tincanny_reporting_exclude_user_ids', array() );
  • Question Analysis Report - Added do_action to append content #357
    • do_action( 'uo_tincanny_reporting_questions_no_quiz_selected' );
    • do_action( 'uo_tincanny_reporting_questions_no_multiple_choice' );
    • do_action( 'uo_tincanny_reporting_questions_table_beforebegin' );
    • do_action( 'uo_tincanny_reporting_questions_table_thead_afterbegin' );
    • do_action( 'uo_tincanny_reporting_questions_table_thead_beforeend' );
    • do_action( 'uo_tincanny_reporting_questions_table_tbody_afterbegin' );
    • do_action( 'uo_tincanny_reporting_questions_table_tbody_beforeend' );
    • do_action( 'uo_tincanny_reporting_questions_table_afterend' );
  • Reporting API - Added new filters #352
    • apply_filters( 'uo_tincanny_reporting_restrict_group_leader_post', $restrict_group_leader_post, $group_id);
    • apply_filters( 'uo_tincanny_reporting_restrict_group_leader_postmeta', $restrict_group_leader_postmeta, $group_id);
    • apply_filters( 'uo_tincanny_reporting_restrict_group_leader_associated_posts', $restrict_group_leader_associated_posts, $group_id);
    • apply_filters( 'uo_tincanny_reporting_course_groups_enrolled', $results, $group_ids ); [2022-06-30]

  • CSS snippet hiding other admin notices #343 [2022-06-28]

  • Tin Canny Reports - Export buttons now work as expected #340

4.1.2 [2022-06-21]

  • Quiz Question Analysis - Add date range #334
  • Quiz Question Analysis Report - Excel export option #330
  • Uncanny Automator 1-click installer #84
  • Tin Can & xAPI reports CSV export - Add user ID column #324
  • Tin Can Course Report - Group names in the group drop down now appears alphabetically #318
  • Ticket submission from inside plugin now includes site URL and license details #205
  • Quiz Question Report - Limit results to a specific quiz when share questions setting is enabled #328
  • Course Report - Data visualization #326
  • Function get_magic_quotes_gpc() deprecated since PHP 7.4 #317

4.1.1 [2022-05-18]

  • Quiz Question Analysis Report - uo_tincanny_reporting_questions_quiz_dropdown_title filter added #313
  • Quiz Question Analysis Report - "LearnDash" word dropped from quiz dropdown #312
  • Quiz Question Analysis Report - Additional CSS classes added #304
  • Core - WP_Filesystem_Direct fallback added when shell_exec not available #301
  • Quiz Question Analysis Report - PHP error when the site is < PHP 7.3 #296
  • Tin Canny Report - hidden page field accidentally breaking frontend reports on some sites #282

4.1 [2022-03-31]

Added: Updated:
  • Tin Canny shortcode - New do_action() hooks for developers #277
    • tincanny_reporting_wrapper_before_begin
    • tincanny_reporting_wrapper_after_begin
      • tincanny_reporting_course_report_after_end
      • tincanny_reporting_course_report_before_end
      • tincanny_reporting_user_report_after_begin
      • tincanny_reporting_user_report_before_end
      • tincanny_reporting_tin_can_after_begin
      • tincanny_reporting_tin_can_before_end
      • tincanny_reporting_xtin_quiz_after_begin
      • tincanny_reporting_xtin_quiz_before_end
    • tincanny_reporting_wrapper_before_end
    • tincanny_reporting_wrapper_after_end
  • Tin Canny Reporting - Cache is now disabled by default #292
  • LearnDash forced timer no longer unlocks the Mark Complete button if Tin Canny completion conditions have not been met #288
  • Tin Canny Report - Hidden page field breaking front end reports on some sites #282 [2022-03-15]

  • Tin Canny module - Added options for width in vw and height in vh #271
  • Tin Can Report - Group dropdown not appearing on some sites #274 [2022-03-03]

  • Course Report - PHP error on some environments

4.0.7 [2022-03-03]

  • Added launched_lesson attribute to shortcode to support jumping to a specific Articulate Rise lesson by URL parameter #247
  • Disabled scrolling on the body element when the lightbox is open #246
  • Removed irrelevant "Success" column from Tin Can report #117
  • Group quiz report now supports negative scores #222
  • Improved PHP 8+ support #227
  • Conflict with "Admin Menu Editor Pro" causes Tin Canny to erroneously list all groups on reports #258
  • H5P results are now correctly mapped to courses when basic HTTP authentication is enabled #241
  • Front End Quiz Report now includes line breaks in essay question responses #240
  • xAPI Quiz Report now displays accurate results for multiple attempts on the same question #234
  • PHP error if a module sends a non-standard SCORM value #236
  • PHP warning - Use of undefined constant in admin-send-ticket.php #143

4.0.6 [2021-12-14]

  • Support for negative scores in the Individual Quiz Report #217
  • Support for some non-standard SCORM modules missing required title element #213
  • Improved PHP 8 compatibility #209
  • Some SCORM statements not being recorded when the user's email was included in statement data #202
  • Course ID is now recorded properly in some Lectora content #202
  • PHP notice causing an issue with Tin Canny data loading in the User Report #200

4.0.5 [2021-11-11]

  • Fallback option for enrollment lookup due to Course Access List upgrade removal in LearnDash 3.5 #177
  • Improved translation support in Tin Canny xAPI Quiz Report / Tin Can Report #151
  • Changed permissions from update_plugins to manage_options for deleting an Individual User's Tin Can Data #125
  • Remote cURL calls causing an error on some servers #159 #170
  • MySQL query syntax fix of Tin Canny resume table #198

4.0.4 [2021-10-04]

  • Support for BuddyBoss H5P blocks #137
  • Added primary key support in resume (bookmarks) database table #149
  • Internal PHP filters for developers #167
  • Updated JS filters for activity graphs #148
  • Improved translation support in reports #151
  • scormdriver.js file for Articulate Rise content #132
  • Changed permissions from update_plugins to manage_options for deleting an individual user's Tin Canny Data #125
  • When the selected group is changed from the user report tab, the user is no longer sent back to the course report tab #134
  • PHP warning - block_categories deprecated #153

4.0.3 [2021-08-20]

  • Improved compatibility with SCORM 2004 #94
  • Tin Canny Reporting - Improved compatibility when Redis object caching is enabled #93 License updates #83
  • Directory constants causing issues when UO_ABS_PATH is not writeable #90
  • Incorrect function return parameter types for get_data and get_xapi_data #88
  • Database error when previewing content from the Manage Content page #80
  • Some users missing from report when they are not assigned to a LearnDash Group #85
  • Tin Canny Reporting - Fixed multiple JS notices due to missing dependencies #102
For Developers:
  • Tin Canny Reporting - uo_tincanny_reporting_disable_cache filter to disable Object caching #93

4.0.2 [2021-07-05]

  • Data not displaying in reports when no groups exist
  • Data not displaying in reports for users not in a group

4.0.1 [2021-06-25]

  • Fixed: First and last names not appearing in reports on some sites

4.0 [2021-06-24]

  • Support for any xAPI or SCORM compatible content #37
  • Support for results from quizzes not associated with a course on the individual quiz report. #64
  • Improved compatibility of Tin Canny content with Bootstrap #55
  • Support for "Add Tin Canny Media" button in WP Bakery Page Builder #50
  • Improved performance of reports #63
  • When "Capture Tin Can and SCORM data" is set to No, Mark Complete behaviours are now hidden #43
  • Experience API Package Error #75
  • Various database errors on some sites #74
  • Conflict with Gravity Forms on some sites #66
  • User reports not showing data on some sites #57
  • "View" link for certificates on reports is now translatable #52
  • Elementor no longer causes console errors on Tin Canny pages in /wp-admin #46
  • Tin Canny Group Quiz Report Gutenberg block now saves User Quiz Report URL parameter value #34
  • PHP notices when uploaded file name contains certain characters #31
  • LearnDash message "Please go back and complete the previous ." no longer missing text in some situations #27
  • Lesson list no longer truncated on user report #23
  • PHP warning in Tin Can driver #10
  • xAPI Report column labels are now translatable #3

3.6.2 [2021-03-19]

  • Support for negative Tin Can scores
  • When a non-default setting is chosen for User identifier(s), some columns may appear blank
  • Total users enrolled in a course reported incorrectly in some instances
  • PHP Warning: Fixed default value for active classes option

3.6.1 [2021-02-19]

  • Database prefix issue on some sites

3.6 [2021-02-16]

  • Support for embedding Tin Canny modules with Mark Complete integration in a Single Page Course (requires the Uncanny Toolkit Pro for LearnDash)
  • Slower compatibility mode for xAPI statement capture for compatibility with modules that send statements on module closure
  • Setting to select what user data columns are displayed on the User Course and User Overview reports
  • Ability to sort on all columns of the User Report
  • Module ID now displayed in Gutenberg block for Tin Canny content
  • More descriptive error messages when an error is encountered while uploading Tin Canny modules
  • Reorganized settings page
  • Course and lesson IDs are now saved with bookmark data
  • uo_group_quiz_report shortcode now accepts relative URL for user_report_url parameter
  • Close lightbox icon difficult to see on some sites
  • Incorrect permission_callback was preventing group leaders from viewing some quiz results
  • See details link in reports would not work when collapsed (narrow window or mobile view)
  • Required LearnDash version message updated to version 3.1
  • Group Leaders not assigned to a group now see an error message instead of a blank screen
  • Various PHP notices that appear in some situations

3.5.3 [2020-12-04]

  • Ability to specify a verb and a result in a completion condition with "&&" operator. Example: result > 80 && completed
  • Hidden and Autoadvance setting not automatically advancing the user on some modules

3.5.2 [2020-11-26]

  • Hidden and Autoadvance setting was redirecting to /undefined in the last lesson of a course
  • Mark Complete integrations "Hidden until complete" and "Disabled until complete" not working for some modules

3.5.1 [2020-11-16]

  • Captivate files no longer throw a JavaScript error on load

3.5 [2020-11-12]

  • Support for Tin Canny Gutenberg block embedded inside another block
  • Improved performance and stability of Mark Complete options with reduced delay before action
  • Improved consistency of user segmenting by groups on newer versions of LearnDash
  • Allowed YouTube, Wistia and blob data type in content security policy for improved compatibility with additional content types
  • Added filters to make it easier for developers to customize access to reports
  • Database::create_table_snc_post_relationship no longer throws an error on WordPress multisite
  • Quiz reports no longer throws a database error when no courses are selected
  • Sorting by date is now correct on individual quiz report
  • Some SCORM-based Storyline modules no longer display the error "Unsupported file type detected"

3.4.4 [2020-08-19]

  • Updated: Content protection now supported on additional server configurations
  • Updated: Detailed quiz reports on [uo_individual_quiz_report] now work on LearnDash 3.2+
  • Updated: Added permission_callback to all Rest API calls for WordPress v5.5 compatibility
  • Updated: Lightbox no longer limited to 90vh x 90vw
  • Updated: Security improvements (CVE-2020-9439)
  • Fixed: When "Enable sorting by % complete" is set to "No", the enrolled course count is now accurate on the individual user report
  • Fixed: Hidden and Autoadvance now consistently marks the associated lesson/topic complete
  • Fixed: PHP warning: Illegal string offset 'restrict-mark-complete'

3.4.3 [2020-07-20]

  • Added: Support for updated Storyline 1.2, Storyline 360 and Presenter 360 SCORM launch files
  • Updated: Lightbox JS to version 1.3.1 and added tweaks to support jQuery 3.x
  • Fixed: Missing translations in reporting-admin-menu.php
  • Fixed: Typo in "Certificate Link" text

3.4.2 [2020-06-30]

  • Added: Support for updated Storyline/Presenter xAPI launch files

3.4.1 [2020-06-25]

  • Added: Search field on Tin Canny uploader
  • Added: Dropdown to select rows displayed per page on Course and User reports
  • Updated: register_rest_route path no longer contains trailing slash
  • Updated: "Data not right? Try running the LearnDash data upgrades" message no longer shown to Group Leaders viewing reports in /wp-admin
  • Updated: Duplicate uo_enable_h5P_admin_ajax filter removed from classes/init.php
  • Updated: Changed "TinCanny Settings" to "Tin Canny Settings"
  • Updated: Content protection metabox now displayed only on public post types
  • Fixed: JavaScript conflict with Elementor
  • Fixed: Single course completion graphs now show accurate counts
  • Fixed: Hidden and Autoadvance setting not working for some modules
  • Fixed: Column filters now working on xAPI Quiz Report
  • Fixed: PHP notice: Undefined index on upload when using Tin Canny Gutenberg block
  • Fixed: PHP warning: Invalid argument supplied foreach() in reporting-api.php for courses with no users
  • Fixed: SQL error on some H5P statements that do not correctly include user details
  • Fixed: Database error trying to save resume progress for a lesson when viewed by an anonymous user
  • Fixed: Added default values for all plugin settings

3.4 [2020-04-03]

  • Added: Support for Lectora Inspire SCORM 1.2 and xAPI content
  • Added: Tin Can and xAPI Quiz reports now available on the front end; settings to enable/disable added to Settings page (default is disabled)
  • Added: Tin Canny protection settings on non-LearnDash post types
  • Added: Manage Content Page preview URL filter for sites using non-standard WordPress configurations: apply_filters( 'tincanny_module_url_preview', $src, $post );
  • Updated: Performance of Hidden and Autoadvance option improved
  • Updated: Added message to run Learndash data upgrades to improve reporting accuracy
  • Updated: Added support for Add Tin Canny Media button in Text element of Divi Builder
  • Fixed: All records now included if "Excel Export" is clicked on initial load of the Course Report
  • Fixed: Reports not loading when LD settings returning as array instead of string
  • Fixed: Tin Canny no longer attempts to save resume data for anonymous users
  • Fixed: Database error when H5P modules don't pass correct user details in API call
  • Fixed: PHP Notice: Undefined offset: 0 when LearnDash post settings are uninitialized


  • Added: Setting to enable the Uncanny Toolkit Pro Autocomplete Lessons and Topics module to autocomplete lessons and topics even when a Tin Canny module is present on the page
  • Updated: When using Hidden and Autocomplete setting, the associated lesson/topic is now marked complete immediately when the completion verb is received
  • Fixed: Database error - Unknown column 'stored' on plugin activation on some server configurations
  • Fixed: Warnings in browser console on Tin Canny report pages
  • Fixed: xAPI Quiz and Tin Can reports no longer both return results when a query is performed on either report
  • Fixed: Detailed Report icon now displayed on Tin Canny reports in /wp-admin when LearnDash legacy theme is selected
  • Fixed: PHP notice if LearnDash settings have not yet been saved
  • Fixed: PHP warning - Illegal string offset 'restrict mark complete' if there is no postmeta available for the current post
  • Fixed: PHP notice - Undefined property: stdClass::$enrolled on dashboard widget when there are no users enrolled in a course
  • Fixed: PHP error - Class stdClass not found on some server configurations


  • Updated: Tin Canny Mark Complete integration setting now overrides the Autocomplete Lessons and Topics module of the Uncanny Toolkit Pro on all lesson and topic pages containing a Tin Canny module
  • Updated: Removed Foreign Key Check from Site Check page as errors reported were typically not related to foreign keys
  • Updated: All relevant database tables now set to use INNODB engine for improved support for foreign keys
  • Fixed: JavaScript error preventing some modules uploaded since version 3.3.6 to not load correctly
  • Fixed: PHP warning: Illegal character causing Mark Complete button to not be displayed on sites running PHP 7.3 if the post-level Mark Complete option was not set


  • Updated: Improved z-index compatibility of statistics container overlay with other document elements
  • Updated: Removed deprecated JavaScript content protection code from uploaded files
  • Fixed: PHP warnings and incorrect priority settings when Tin Canny settings metabox options were translated. Options are no longer translatable.
  • Fixed: The Mark Complete button was no longer appearing below Tin Canny content when Focus Mode was enabled
  • Fixed: SQL syntax error when a course had zero enrollments
  • Fixed: Average quiz scores inconsistent between course and user reports. User reports now include all attempts in the average


  • Added: Support for renamed quiz tables
  • Added: Additional checks to Site Check page for issues caused by mod_security PHP module or invalid foreign keys
  • Added: Filters tc_manage_content_cap and tincanny_can_get_data for managing access to reports for users with custom roles/capabilities
  • Updated: Improved support for converted Course Access Lists (LearnDash Data Upgrades)
  • Updated: Added additional check for whether the posts table is using the INNODB engine before converting
  • Updated: Removed references to deprecated uotincan_log table
  • Fixed: Duplicating a post that contains a Tin Canny Gutenberg block may result in an uneditable copy of the post
  • Fixed: PHP fatal error on Help/Submit Ticket tab in wp-admin


  • Added: Support for renamed LearnDash quiz database tables (wp_learndash_pro_quiz_)
  • Added: Action 'tincanny_additional_user_profile' for inserting additional custom functionality on user profile page
  • Added: Ability to customize text on Launch button in Classic editor uploader
  • Added: readme.txt file
  • Updated: Improved consistency of bookmarking and resume in Captivate files
  • Updated: Added additional checks for valid user information in reports to avoid JavaScript errors
  • Updated: Added fall back for missing pro_quizid activity meta if not stored by LearnDash, resulting in empty detailed quiz reports
  • Updated: Improved handling of content that attempts to detect Flash player by delaying window binding calls from JavaScript
  • Updated: Removed deprecated reference to activitystream.ms/schema/1.0/page
  • Updated: Removed option to launch Tin Canny content in same tab
  • Updated: Changed "Display Name" to just "Name" on reports
  • Updated: Added note about using Screen Options tab for customizing columns on xAPI report
  • Updated: Replaced references to test.com in placeholder file with current site's URL
  • Updated: Report now filters out duplicate "passed" statements (identical "passed" statements submitted within 10 seconds of each other)
  • Updated: All related Tin Canny data now deleted when user deleted
  • Updated: Clearing a user's LearnDash data now clears all Tin Canny data for that user
  • Updated: Quiz name now displayed properly in individual Tin Can report when Tin Canny module embedded in LearnDash quiz page
  • Updated: Mark Complete button now enclosed in separate div to streamline code to hide/show the button
  • Fixed: Mark Complete button no longer appears momentarily on page load when "Hidden and _______" option is selected
  • Fixed: Reports now inheriting LearnDash labels for lesson and topic on all pages
  • Fixed: PHP warning in init.php on some servers
  • Fixed: PHP fatal error if Rise submits results without a score
  • Fixed: Summary user counts on multisite sub-sites showing user totals across site network
  • Fixed: Plugin sending extraneous data in unrelated AJAX responses in some situations
  • Fixed: JavaScript error if less than 30 days of LearnDash course completion data is available
  • Workaround: When a Gutenberg post is cloned with the Duplicate Posts module of the Uncanny LearnDash Toolkit Pro, Tin Canny Gutenberg blocks in the cloned post now function correctly


  • Fixed: JavaScript error causing Mark Complete button integration to fail in some instances when a module is opened in a new window
  • Fixed: PHP Fatal Error when Rise courses don't return a score value on quiz questions
  • Fixed: xAPI Quiz Report - Filters for Correct/Incorrect returned the opposite of what was selected
  • Fixed: PHP Notice: Undefined Index: nonceProtection


  • Updated: Improved Mark Complete button handling for Storyline content
  • Fixed: Course enrollment numbers for some courses showing zero


  • Fixed: Unsupported mySQL command causing reports to not load on some servers
  • Fixed: Endpoint unreachable error in iSpring on multisite
  • Fixed: PHP Notice: Undefined index: disablePerformanceEnhancments
  • Fixed: Removed foreign key change for multisite introduced in 3.3


  • Added: Support for Articulate Presenter 360 files
  • Added: Compatibility with LearnDash 3.1
  • Updated: Improved report performance
  • Updated: Removed beta label from Replace Content function
  • Updated: Removed beta label from xAPI Quiz Report
  • Updated: Improved Mark Complete button integration compatibility with Firefox
  • Updated: H5P scripts no longer loaded when doing WP cron
  • Updated: Removed redundant add_action that was adding an empty div to wp-admin dashboard
  • Fixed: Autoadvance not working in last topic of lesson
  • Fixed: Lesson/topic-level content protection setting now works when the global protection setting is set to "Yes". Lesson/topic-level content protection setting is now unavailable and hidden when global protection setting is set to "No"
  • Fixed: xAPI statement conflict when multiple browser tabs are open at the same time
  • Fixed: Layout of Replace Content modal dialog
  • Fixed: Detailed quiz reports not working on some sites
  • Fixed: Topic and Lesson names not displaying correctly in Tin Can tab of User report
  • Fixed: Reports not displaying names when column names were translated
  • Fixed: Date sorting in front-end reports when WordPress date format was set to d/m/Y
  • Fixed: Time on front-end individual quiz report now adjusted correctly for WordPress time zone
  • Fixed: Foreign key SQL error on WordPress multisite
  • Fixed: Illegal string offset 'restrict-mark-complete' PHP warning
  • Fixed: Datatables warning: Requested unknown parameter 'email' if user_email is empty


  • Added: Three new Mark Complete button options: Hidden until complete, Hidden and autocomplete, Hidden and autoadvance. Learn more
  • Added: Ability to change the label on the Mark Complete button in lessons that contain a Tin Canny module
  • Added: Setting to enable sorting by % Complete; disable to improve report performance
  • Updated: If the site's database prefix changes, foreign key constraints are now updated
  • Updated: Quiz table now shows all quiz attempts
  • Updated: Quiz averages now include failed attempts
  • Updated: Made it easier to reset the Question field on the xAPI Quiz Report (beta)
  • Updated: Lesson listings no longer constrained by post limits
  • Fixed: Issue with Group Quiz Report not displaying properly when a Course or Group name contains a double space
  • Fixed: Completed courses count was inflated on some views
  • Fixed: Open courses not included in the single course overview table
  • Fixed: Passing xAPI quiz scores were being recorded as 100% instead of the actual scores in some situations


  • Added: Additional filters for developers
  • Added: Reset xAPI Data button to erase all saved quiz data
  • Updated: Changed question dropdown on xAPI report (beta) to select2 to make it easier to select a question when the dropdown contains many entries
  • Updated: Module dropdown populates via AJAX when Course is selected, instead of requiring a page refresh
  • Fixed: Delete button that appears after upload now associated with correct content ID (affects Classic Editor only)
  • Fixed: Sorting on Completion Date not working on some sites
  • Fixed: Bug with Tin Can completion dates due to daylight savings time


  • Added: Compatibility with LearnDash 3.0
  • Added (beta): New xAPI Quiz Report - See what responses users selected on quiz questions. Supports Tin Can (xAPI) content only
  • Added (beta): Replace content - Ability to replace existing content from Manage Content page without having to delete, re-upload, and update existing shortcodes (or Gutenberg blocks)
  • Added: Numerous report filters for developers
  • Added: Site Check page to check for common configuration issues
  • Added: Total Courses / Total Learners stats to front end reports
  • Updated: Hard-coded plugin settings page URLs to avoid issues with translation
  • Fixed: Mark Complete button not disabled when using LearnDash 3.0 with LearnDash 3.0 theme enabled
  • Fixed: Bug with Tin Can completion dates due to daylight savings time


  • Fixed: Issue with Tin Can Report not displaying data on some sites
  • Fixed: Issue with content protection causing 404 errors on some sites
  • Fixed: Module links in Tin Can Report now work properly for sites in a subfolder


  • Updated: Improved H5P xAPI performance
  • Updated: Improved compatibility with jQuery 3.x (including FoundationPress theme)
  • Updated: Delete Tin Canny data profile options now only shown to Administrator users
  • Updated: Clicking Reset on Tin Can Report now keeps the user on the Tin Can Report tab
  • Updated: Restored assignment links in assignments table
  • Updated: .csv exports now include course slug / user email where applicable
  • Updated: Re-implemented sorting on Completion Date column in Course Report
  • Updated: Added Courses Enrolled, Not Started, In Progress, Completed columns to User Report
  • Updated: Tin Can endpoint URL in iSpring uploads now saved as relative instead of absolute URL
  • Updated: Improved module protection function (requires mod_rewrite support at the host level)
  • Fixed: Issue that would cause 403 errors in some content when viewed while logged out
  • Fixed: Previewing modules from the Manage Content page now works on sites installed in a subfolder
  • Fixed: User search in course report now displays data for all matching users
  • Fixed: Users showing as enrolled in all group courses for administrators when group filter is not selected
  • Fixed: Simple Course Timer module (Uncanny LearnDash Toolkit Pro) idle dialog now appears in front of Tin Canny content


  • Updated: Total Users and Total Courses statistics reinstated on main courses report page
  • Updated: Group filtering improved for admin-level users
  • Fixed: Summary numbers on user course report when the user is enrolled in more than 10 courses
  • Fixed: CSV export now includes all records


  • Updated: Plugin can no longer be activated unless LearnDash is already activated
  • Updated: Improved translation support
  • Updated: Improved wording of Tin Canny data management options on Edit User page
  • Fixed: Issue where group leaders could sometimes see users in other groups
  • Fixed: Data inconsistency when users with progress in Open courses were deleted
  • Fixed: Manage Content page was blank on some non-English sites
  • Fixed: Error when course progress is 100% or greater but no course completion date is stored (now displays "In Progress" instead of [object Object])


Important Note: The columns that display data from the Simple Course Timer module of the Uncanny LearnDash Toolkit Pro were moved from this plugin to the Toolkit Pro plugin. The columns will not appear until Toolkit Pro version 3.0.3 (to be released imminently). If you require the use of these columns immediately, wait until the Toolkit Pro update is available before updating this plugin.
3.0 brings a complete overhaul of reporting! Design and user experience have been streamlined and performance has been significantly improved for very large sites.
  • Added: Uncanny 3.0 plugin architecture (tabs for Help, License Activation, etc.)
  • Added: Setting to disable Tin Canny wp-admin dashboard widget
  • Added: Basic Gutenberg block support for individual and group quiz reports
  • Added: Filter for $item['url'] to help with troubleshooting issues on some sites
  • Added: User's avatar now displayed on all individual user reports
  • Added: Breadcrumb navigation within reports
  • Added: Unique CSS class to dashboard, back end reports and front end reports
  • Added: Support for Captivate 2019
  • Added: Ability to purge Tin Can records and/or bookmark data for individual users
  • Added: Average quiz score column on course report
  • Updated: Improved performance on large sites
  • Updated: Improved consistency of data across courses and groups
  • Updated: Improved handling of deleted users
  • Updated: Improved accuracy and reliability of all charts
  • Updated: Charts now display clear notices if no data is available for the specified view
  • Updated: Replaced number of courses/users with buttons to jump quickly to specific reports
  • Updated: Improved responsiveness (mobile support) of all reports
  • Updated: Export CSV button and search fields are hidden on tables with only one row of data
  • Updated: Improved drill-down behavior: Course > User > Course report for user instead of Course > User > Course list > Course report for user
  • Updated: Removed some redundant console messages
  • Updated: Improved compatibility with newer MySQL versions
  • Updated: Improved translation support in reports and plugin settings page
  • Updated: Added support for additional H5P module types
  • Fixed: Essay question submissions can now be viewed in the Quiz Report
  • Fixed: Mark Complete button integration when module embedded with a Gutenberg block
  • Fixed: Manage Content page - Page navigation button size
  • Fixed: Typo - "Select a content"
  • Fixed: Error when Tin Can verb is not set
Known Issues:
  • The Course Report uses a custom Uncanny Owl query that shows "In Progress" for users that have completed any activity in a course, such as a quiz. The User Report uses LearnDash functions that only return "In Progress" if the user has completed a lesson or topic. This means that "In Progress" vs. "Not Started" numbers may be inconsistent between the Course Report and User Report in the rare instance that a user has completed a quiz or other course activity but not completed any lessons or topics.

  • Added: Check for matching protocols (http/https) in WordPress general settings
  • Updated: Improved handling of duplicate URL issue in some edge cases
  • Fixed: Mark Complete button now disabled when module added with Gutenberg block and Mark Complete button integration is enabled
  • Fixed: Content now displayed to logged-out users on non-LearnDash post types when content protection is disabled
  • Fixed: Removed log file

  • Updated: Inconsistent text on Manage Content page
  • Fixed: Replaced Lorem Ipsum text in Gutenberg block


  • Added: Gutenberg modules for uploading Tin Canny content and embedding the front end course/user report
  • Added: "Manage Modules" page to enable module management outside of a WordPress post
  • Added: Buttons to purge "Answered" and "Experienced" statements from the database
  • Added: Support for "+" characters in user emails
  • Added: Support for H5P "Course Presentation" content type
  • Added: button_text attribute for setting text on the launch button
  • Added: width and height parameters now accept vw and vh CSS units
  • Updated: "Add Tin Canny Media" button in Classic Editor now uses standard button design
  • Updated: Tin Can (xAPI) data is no longer stored when "Capture Tin Can Data" is set to "No"
  • Updated: Improved time zone support in front end quiz report
  • Fixed: Typo in "Comma separated Tin Canny verb(s)."


  • Added: Compatibility with "A Tin Can verb is recorded from a Tin Can module" trigger in Uncanny Automator (https://automatorplugin.com)
  • Fixed: Missing records in some reports for users added to groups using non-standard methods
  • Fixed: Date search in Tin Can report
  • Fixed: Module not selected in Tin Can report drop down


  • Updated: Made export file names easier to read
  • Updated: Tin Can timestamps are now stored in the site's time zone
  • Fixed: Duplicate URL issue in embedded modules on some sites with SSL enabled
  • Fixed: Data not loading in front-end quiz reports


  • Added: Title identifying user to the front end individual activity report
  • Updated: Replaced display names with first and last name (if available) in front end reports
  • Fixed: Restored missing data from new front end activity reports when there were multiple attempts
  • Fixed: Some files missing on upload of new modules
  • Fixed: DOCTYPE tag position in Rise files causing layout issues


  • Added: [user_quiz_report] shortcode to show a user his or her consolidated quiz and xAPI scores in a single report
  • Added: [group_quiz_report] shortcode to show Group Leaders and admins LearnDash quiz and xAPI scores of students by group and course
  • Fixed: SQL issue in reporting on multisite installations
  • Fixed: Donut charts did not render in some situations
  • Fixed: Global setting for "Disable Mark Complete button" now correctly labeled on settings page
  • Fixed: Stopped WordPress from automatically translating Tin Can report headings that caused columns to hide data


  • Fixed: Articulate Rise Mark Complete button integration
  • Fixed: Completion date now appears in reports on multisite installations


  • Fixed: Incorrect file versions in 2.9.1 release


  • Updated: Improved compatibility with Rise modules published as SCORM 1.2
  • Fixed: Issue loading Captivate modules (introduced in version 2.9)


  • Added: Beta support for modules from ANY authoring tool, provided the content launches with an .html file. Note that files embedded using this method will not have xAPI/SCORM statements recorded, and may display errors stating that they cannot communicate with an LMS/LRS
  • Updated: Improved tracking of xAPI statements from Articulate Rise modules
  • Updated: Improved Mark Complete button activation with Storyline 3/360 files when embedded using lightbox
  • Updated: Tweaked design of header on setting and back-end reporting pages
  • Fixed: Plugin license could not be deactivated on some sites
  • Fixed: SQL statement bugs in reporting-api.php
  • Fixed: Number of entries per page dropdown on Tin Can Report now functions as expected
  • Known Issue: Rise modules published as SCORM 1.2 may display an error when viewed


  • NOTE: If you are seeing your domain name duplicated in module embed shortcodes, deactivate and reactivate the plugin, then try embedding the module again.
  • Added: Option to allow Group Leaders to delete members to free up seats even after they've started or completed courses
  • Added: Option to prevent Group Leaders from taking up a seat when added to the Enrolled Users table
  • Added: [uo_groups] parameter add_group_leader_button to show/hide the Add Group Leader button
  • Added: Additional string localizations
  • Added: course-order parameter to sort the course drop-down on [uo_groups_course_report] and [uo_groups_quiz_report]. Possible values include 'ID','title','date','menu_order'
  • Updated: Group Leaders can now be removed from the Enrolled Users table


  • Updated: Time Spent columns no longer require course completion to show data
  • Fixed: Broken SQL query in 2.8
  • Fixed: Site URL no longer duplicated in shortcode when embedding content
  • Fixed: PHP Notice when protection setting not explicitly set


  • Added: Beta support for Rise xAPI content
  • Updated: Tin Can report CSV export now considers applied report filters
  • Fixed: Site URL no longer duplicated in shortcode when embedding content


  • Added: Filter for header Content-Security-Policy ('tincanny_content_security_policy')
  • Updated: Course Summary button now translatable
  • Updated: Improved Tin Can/"Mark Complete" compatibility in Microsoft Edge and Internet Explorer
  • Fixed: Content protection no longer forced on non-LearnDash post types for logged-out users
  • Fixed: Empty columns in some reports
  • Fixed: Settings link on Plugins page


  • Updated: Tin Canny reporting capability now added to group_leader role on plugin activation only
  • Fixed: Plugin shows update available even after updating


  • Updated: All strings in front end reports are now translatable
  • Fixed: Typo on settings page


  • Updated: Tin Canny reports now appear on the WordPress dashboard for group leaders
  • Updated: Settings page layout
  • Updated: Removed Uncanny Owl branding from tincanny shortcode
  • Fixed: Tin Can tab no longer displays for group leaders when Tin Can data is disabled in settings
  • Fixed: Group Leaders could not see quiz data in reports
  • Fixed: Added message to Tin Canny front-end reports for users without access


  • Updated: Settings have now been consolidated under Tin Canny Reporting > Settings
  • Updated: Going forward, newly added modules will not have full URLs saved in the wp_snc_file table to make it easier to migrate the site to a new URL (Modules uploaded prior to version 2.5 will need to have their URLs updated in the database manaully if the site URL is changed)
  • Fixed: Issue with H5P module completion not enabling the Mark Complete button
  • Fixed: Issue with Free courses not displaying correctly in reports
  • Fixed: Issue with quiz averages displaying extremely large numbers under rare circumstances


  • Fixed: Mark complete functionality when multiple Tin Can/SCORM modules are on a single lesson/topic page
  • Fixed: Usage of wp_postmeta instead of $wpdb->postmeta, resulting in lesson, topic and quiz list not showing up in user course table
  • Fixed: Uncaught exceptions in when user has no data yet, a course has no users assigned, or a group is not fully set up
  • Fixed: JavaScript error that appeared in some situations when a quiz was deleted after having been completed by a user in a specific course


  • Updated: Removed admin message "An update is required for your Tin Can modules..." Message is now output to the browser console if present.
  • Updated: Removed redundant buttons in frontend report that linked to admin panel
  • Fixed: Group dropdown now filters report data correctly
  • Fixed: Group dropdown no longer appears for leaders of a single group


  • Updated: Improved reporting compatibility with LearnDash 2.5+ when Shared Course Steps is enabled
  • Updated: Default font color for table headings in front end reports
  • Fixed: Duplication of users and lessons in reports in some situations
  • Fixed: PHP Notice when viewing [tincanny] shortcode as a logged-out user


  • Added: Shortcode to display Tin Canny reports in the front end
  • Added: Dropdown to display data for a specific group
  • Updated: scormdriver.js to improve compatibility with Microsoft Edge

  • Updated: Reporting compatibility with LearnDash 2.5+
  • Updated: Tin Canny reports now use LearnDash custom labels for Courses, Lessons and Topics
  • Updated: JavaScript debugging code removed
  • Fixed: Error in some environments in Shortcode.php and RestEndpoint.php


  • Fixed: Convert wp_posts table to InnoDB mySQL engine to support foreign key mapping
  • Fixed: "An update is required for your Tin Canny modules. Refresh the page to complete the update." message is now displayed using standard admin panel messaging functions


  • Updated: Deleting a user's LearnDash course data also deletes any resume points for that user in Tin Can modules
  • Fixed: Required update error message temporarily removed to address acute issues on some sites


  • Added: options to unprotect uploaded modules
  • Fixed: H5P statement tracking


  • Fixed: Issue with Mark Complete disabled in topics that did not contain Tin Canny content


  • Fixed: Illegal String Offset issue on some server configurations


  • Added: Hyperlinked user's name to user's profile page in user report
  • Added: Hyperlinked assignment name to assignment page in users' assignment reports
  • Added: Support for Adobe Captivate 2017 modules
  • Added: Protection for Tin Can and SCORM modules based on user session
  • Updated: Changed the way modules communicate with WordPress to enable the Mark Complete button
  • Fixed: Illegal String Offset error in some situations
  • Fixed: User assignment reports now list only the selected user's assignments
  • Fixed: Reporting errors if WP Debug is on

  • Improved H5P statement tracking


  • Added ability to use Tin Canny modules on any post types
  • Fixed inconsistency of user progress between Course Summary and Course Detail reports


  • Added Reset Bookmark Data button in Tin Canny Settings to manually clear resume data errors
  • Fixed 404 errors when resuming Articulate Rise modules
  • Fixed Tin Can statement tracking of Rise and iSpring modules using Request Payload
  • KNOWN ISSUE: Changing site URLs can cause Tin Can data to be omitted from reporting and will be addressed in the next release.


  • Added Tin Can statement tracking for Storyline 2 and Storyline 360 modules in Articulate Mobile Player
  • Updated EDD updater class
  • Fixed user counts to consider all group enrolment options
  • Fixed upload issue of iSpring modules published to web
  • Fixed Mark Complete issue of Captivate modules published to web
  • Fixed completion rate issues caused by group enrolment
  • Fixed Mixed Content errors caused by hard coded URLs


  • Added resume capability for Storyline, Captivate, and iSpring
  • Fixed custom image button in Tin Canny Uploader
  • Changed settings menu page title to Tin Canny Settings


  • Fixed upload issue introduced in 1.3.4


  • Added more error checking to Tin Canny Uploader


  • Added support for permalink containing index.php
  • Added error message when detecting unsupported zip file


  • Fixed errors when deleting Tin Can modules


  • Fixed Mark Complete control for modules displayed in a new window on mobile


  • Added Group Leader access to reports
  • Fixed Mark Complete visibility for modules displayed in a new window


  • Added preliminary SCORM support
  • Added iSpring support
  • Added Articulate Storyline 360 support
  • Added Articulate Rise support (SCORM only)
  • Added admin setting to clear all Tin Can data
  • Added validation for average quiz score number
  • Changed minimum capability from 'activate_plugins' to 'manage_options'
  • Removed View Report links on the Course Report page


  • Added: Beta Tin Can/xAPI support for iSpring content
  • Fixed: Notice of undefined variable"s"
  • Fixed: Paths to wp-h5p-xapi.js and wp-h5p-xapi.css files causing 404 error


  • Added Captivate/Storyline uploader to all regular post types
  • Updated Result column to show percentage of total score
  • Fixed issue of Captivate quiz scores not showing in Tin Can Report
  • Removed dependency on H5P xAPI plugin


  • Updated amCharts libraries to version 3.20.17
  • Fixed Tin Can report jQuery selector for empty charts


  • Added a number of under-the-hood architecture tweaks (Thanks, Mark!)
  • Fixed sorting by percentage complete
  • Fixed negative number showing on Y-Axis in Recent Activities chart
  • Fixed reports not displaying in subdirectory install


  • Fixed Storyline upload issue introduced in 1.1
  • Fixed a LearnDash condition that prevented the reports page from loading


  • Added all quiz attempts in user activities table


  • Added new performance metric "Least Completed Courses"
  • Added stats on total time spent in course
  • Added CSV export to all tables
  • Added option in Settings to control whether LearnDash Mark Complete button should be disabled until the learner completes all Tin Can modules in the lesson/topic
  • Added message to Course Overview Report when there is no data to display
  • Added message to User Progress Report when there are no activities to report
  • Added deletion of Tin Can data when a user's LearnDash data is deleted
  • Fixed Javascript error when accessing H5P content in admin area
  • Fixed Javascript error with H5P Interactive Video
  • Fixed Javascript error caused by an undefined LearnDash group parameter


  • Fixed 502 Gateway error caused by groups with no assigned courses
  • Fixed rounding of timer seconds


  • Fixed padding for Storyline & Captivate lightbox
  • Fixed zip file upload issue


  • Fixed option to hide Tin Can data from reports
  • Changed table column heading from "Completion Time" to "Time to Complete"
  • Fixed Storyline/Captivate file upload issue when the ZipArchive module was not available on the web server
  • Fixed several TypeErrors


  • Initial release

0 replies


Please note that this is not a support forum. If you are experiencing issues on your site, please open a support ticket instead. Site-specific support questions submitted as comments will be unanswered.

Leave a Reply

Your email address will not be published. Required fields are marked *