Sensei LMS 3.6 & WooCommerce Paid Courses 2.2 Beta Releases – Course Blocks

Sensei LMS 3.6

Sensei LMS 3.6 is now available for testing. This release introduces a number of blocks that are available when adding or editing courses:

  • Take Course button
  • Contact Teacher button
  • Course Progress
  • Course Outline

When creating a new course, these blocks are automatically added to the page for you. They are equivalent to the elements that already appear on the course page, but because they have been rewritten as blocks, it’s now possible to change how they look, adjust their order, or remove them altogether.

Course Outline Block

The course outline block is especially noteworthy. In addition to displaying the modules and lessons that make up a course, the course outline block enables you to build your course structure right inside the editor. Any modules or lessons you add to the block will be created automatically once the course is saved:

What Else is in This Release?

Here are some other enhancements and fixes you’ll find in 3.6:

  • Ensure analysis export works with RTL languages.
  • Fix incorrect rounding of maximum file size for file upload questions.
  • Ensure learners who have already viewed a quiz see the latest updates the next time they view it.
  • Remove wrapper elements from templates. This should improve the look of Sensei pages on some themes.
  • Enforce minimum PHP version of 7.0.

See the full list of changes.

Testing Sensei LMS

You can download the Sensei LMS 3.6 beta here. Alternatively, if you don’t have a staging site, you can use our Sensei LMS Test Site. Please note that the test site integrates with Smartlook to record your visit. Smartlook is GDPR compliant out of the box, and any recordings will be deleted automatically after 1 month.

WooCommerce Paid Courses 2.2

WooCommerce Paid Courses 2.2 integrates with the Take Course block, changing it to a Purchase Course button if there is a single product attached to the course, or pricing cards if there are multiple products attached to the course:

Testing WooCommerce Paid Courses

Beta testers will receive the WooCommerce Paid Courses beta directly to their inbox. If you would like to sign up to be a beta tester and have a valid license for WooCommerce Paid Courses that has not expired, please fill out the beta tester signup form using the same email address you used to purchase your license.

If you find a bug in Sensei LMS or Sensei with WooCommerce Paid Courses, please submit an issue on Github or leave a comment here. Our tentative release date is December 10th.

For Developers

If you’re a developer, here are the technical details of what’s changed in Sensei LMS 3.6.

Sensei LMS 3.6

Template File Changes

  • templates/course-results.php – Changed article element to div and removed section.
  • templates/course-results/lessons.php – Changed article element to div.
  • templates/single-course.php – Removed article and section elements.
  • templates/single-lesson.php – Removed article and section elements.
  • templates/single-message.php – Removed article and section elements.
  • templates/single-quiz.php – Removed article and section elements.

New Filters

  • sensei_block_type_args – For WordPress < 5.5, filters block arguments. For WordPress >= 5.5, use register_block_type_args instead.
  • sensei_course_complete_prerequisite_message – Filter course prerequisite message.
  • sensei_use_sensei_template: Whether to use Sensei’s templates and content wrappers.
  • sensei_use_wp_register_link – Force Sensei to output the default WordPress user registration link.

New Action

sensei_loaded: Fires once all global objects have been set in Sensei LMS.

Deprecated Functions & Methods

  • Sensei_Admin::get_lesson_order
  • Sensei_Lesson::on_lesson_published
  • Sensei_Core_Modules::reset_none_modules_transient

There are no deprecations or new hooks in WooCommerce Paid Courses 2.2.

As these are beta releases, please test them on a staging site and not your live site. If you don’t have a staging site, you can use the WP Staging plugin to create one.

Thank you to all our testers and contributors!

Take the All-New Course Outline Block for a Spin!

We’ve been hard at work developing our first block for Sensei LMS — the course outline block! This block streamlines the course building experience, and enables you to make simple design changes to the course outline that is displayed on the course page.

Although the block is not yet released, we’re making it available now on our test site for you to experiment with. We’ll use your feedback to make further improvements to the block prior to its release.

If you’re interested in trying it out, please continue reading or jump to How to Try the Course Outline Block to get started now.

Course Outline Block

After logging into our test site and creating a new course, you will see the course outline block, where you can choose to create a module or a lesson:

Clicking on Create a module updates the block with a view that enables you to add a module, module description, and lesson. You can add as many modules and lessons as needed for your course:

Fundamentally, the course outline block helps you to develop the basic structure of your course. Once you save your changes, any modules or lessons that have been added to the block are automatically created behind the scenes. Similarly, any changes you make to the block for an existing course are carried over to the individual modules and lessons.

Block Settings

The course outline block offers a variety of settings that enable you to adjust styles, colors, typography and other design elements:

Future Blocks

The course outline block is the first of several blocks we are planning to build for the course page. Blocks currently in development include:

  • Take this Course button
  • Contact Teacher button
  • Course progress bar

We will add these blocks to the test site as they become available. In the meantime, these elements continue to be rendered on the site using the existing PHP template.

How to Try the Course Outline Block

To try the course outline block, follow these steps:

  • Register for a user account on our test site*. Your account will be created with the Teacher role.
  • Once you’ve logged in, create a new course. The course outline block will already be added to the page.
  • Add modules and lessons, change the block settings, and see what the block looks like as a learner.
  • Once you’re done, navigate back to the Courses page and click the link in the notice to share your feedback with us:

*Important: The test site integrates with Smartlook to record your visit. We will use the screen recordings to identify block functionality that may be confusing to use, and to make improvements that help make the block more intuitive. Smartlook is GDPR compliant out of the box, and any recordings will be deleted automatically after 1 month.

Sensei LMS 3.5 – Export Courses, Lessons & Questions

Sensei LMS 3.5 has just been released and brings with it the ability to export courses, lessons and questions. This means you can export course content from one site and import it into another one, making it easier than ever to transfer courses between Sensei LMS sites.

Exporter

Sensei’s new export functionality is available from the Sensei LMS > Export menu. This first iteration supports exporting courses, lessons and questions in zip format. The downloaded zip file contains individual CSV files, one per selected content type:

Export content to a CSV file

Sample Course

We’ve also added a new option to the setup wizard to install a sample course. This course is created in draft status so that it’s not publicly available, and walks you through how to get started with Sensei LMS:

Install a sample course

You can reach the setup wizard at any time by going to Courses > All Courses, clicking the Help tab at the top, and then clicking the Setup wizard button:

Launch the setup wizard

What Else is in this Release?

  • Courses with any status are displayed in the Course Prerequisite dropdown. Previously, only published courses were listed.
  • We fixed an issue with duplicate content sometimes being imported.
  • We fixed an error in the setup wizard that occurred when navigating to a previous step.

For Developers

If you’re a developer, here’s what you need to know about Sensei LMS 3.5.

Deprecated Code

  • includes/3rd-party/wordpress-importer.php – Deprecated the entire file.

To update, please head on over to DashboardUpdates in the WordPress admin.

Please note: While we have thoroughly tested this release, it’s always possible that we’ve missed something. We recommend that you test the update on a staging site before updating your live site.

WooCommerce Paid Courses 2.1 – Remove & Restore Enrollment

In WooCommerce Paid Courses 2.1, it’s easier than ever to remove a learner’s enrollment. No more searching for orders — learners can now be removed with a single click! And restoring their enrollment is just as easy!

With this release, we are also bumping the minimum supported version of WordPress to 5.2 and PHP to 7.0 to match WooCommerce.

Remove Enrollment

For enrolled learners, a new Remove Enrollment link is displayed when hovering over a learner in Learner Management. Clicking this link removes the learner from the course, revoking their access. The status of any order, subscription or membership associated with the learner’s enrollment is unaffected.

Please note that if the course is tied to a product, subscription or membership, and the learner purchases that product / subscription / membership again, they will be re-enrolled in the course:

Learner Management - Remove Enrollment

Restore Enrollment

Unenrolled learners who previously purchased a course can have their enrollment restored by clicking the Restore Enrollment link. This will re-enroll the learner in the course, and enrollment will once again be controlled by the associated order / subscription / membership:

Learner Management - Restore Enrollment

Enroll

Unenrolled learners who do not have an active order / subscription / membership associated with their enrollment (for example, for a free course or one where an administrator enrolled them directly via Learner Management) can be re-enrolled by clicking the Enroll link. Fundamentally it does the same thing as restoring an enrollment — it enrollers the learner in the course — only there is no order / subscription / membership controlling enrollment:

Learner Management - Enroll

We hope these changes help to streamline the management of your learners!

For Developers

If you’re a developer, here’s what you need to know about WooCommerce Paid Courses 2.1.0.

Deprecated Code

  • Sensei_WC_Paid_Courses\Course_Enrolment_Providers\WooCommerce_Simple::maybe_trigger_order_trash_change

To update, please head over to DashboardUpdates in the WordPress admin.

Please note: While we have thoroughly tested this release, it’s always possible that we’ve missed something. We recommend that you test the update on a staging site before updating your live site.

WordPress Core & PHP Support Policy

What Are We Doing?

As of Sensei LMS 3.4, we plan to follow WooCommerce’s lead and adopt an L-2 sliding window support policy for WordPress Core. This means that Sensei LMS will be guaranteed to work on the most recent version of WordPress, plus the latest release from the previous two versions. For example, Sensei LMS 3.4 (currently set for release on August 6th), will support WordPress 5.4.2, 5.3.4 and 5.2.7.

We will also match our minimum required version of PHP with WooCommerce, which is currently set to PHP 7.0.

Why Are We Doing This?

Sensei’s most popular extension, WooCommerce Paid Courses, requires that WooCommerce be installed in order for it to work. Because of this dependency, it follows that WooCommerce Paid Courses should use the same minimum version requirement for WordPress and PHP as WooCommerce uses. Given that Sensei LMS is also a dependency of WooCommerce Paid Courses, it too should specify the same requirement.

We hope that you’ll join us in moving forward the WordPress platform and the PHP programming language, and in helping to keep all sites running Sensei LMS up to date with the latest, greatest, and most secure software available.

Sensei LMS 3.3 – Import Courses, Lessons & Questions

Sensei LMS 3.3 has just been released and brings with it the ability to import courses, lessons and questions! You can also use the importer to update existing course content en masse.

Importer

Sensei’s new import functionality is available from the Sensei LMS > Import menu. This first iteration supports importing courses, lessons and questions in CSV file format:

Import content from a CSV file

A future release will add export functionality, making it even easier to transfer course content between Sensei LMS sites!

To download CSV files with sample data, or to learn more about the expected file format, please see our import documentation.

What Else is in this Release?

  • Appended random text to the file name of file upload questions to make it more difficult for external users to view them.
  • Added new CSS classes for preview and completed lessons not in a module to allow for easier element targeting.
  • Fixed an issue with the setup wizard Features step not saving if nothing was selected.

For Developers

If you’re a developer, here’s what you need to know about Sensei LMS 3.3.

New Filters

  • sensei_import_attachment_request_timeout – Filter the HTTP request timeout value when retrieving an external attachment.
  • sensei_import_csv_delimiter – Set the default delimiter to use when importing CSV files.
  • sensei_import_csv_delimiter_options – Specify the different delimiters that will be tried when importing CSV files.
  • sensei_learner_enrolled_courses_args – Customize the query arguments used to fetch the courses a learner is enrolled in.

New Action

  • sensei_data_port_complete – Fires when the import job completes.

Deprecated Code

  • Sensei_Grading::load_data_object – Use new Sensei_Grading_Main or new Sensei_Grading_User_Quiz

To update, please head on over to DashboardUpdates in the WordPress admin.

Please note: While we have thoroughly tested this release, it’s always possible that we’ve missed something. We recommend that you test the update on a staging site before updating your live site.

Sensei LMS 3.2

Sensei LMS 3.2 was released this week. In addition to fixing several bugs, it adds WooCommerce Paid Courses and Sensei Content Drip to the Features step of the setup wizard.

What’s in this Release?

  • Both admins and the lesson author can now view a quiz for a lesson with an unmet prerequisite.
  • Added the sensei CSS class to the course results, learner profile and teacher archive pages.
  • Switched to a more semantic heading structure on the course results page.
  • Added missing taxonomy labels.
  • Fixed an incorrect parameter being passed to the has_term function.
  • Added paid extensions to the setup wizard.

For Developers

If you’re a developer, here’s what you need to know about Sensei LMS 3.2:

Template File Changes

  • templates/course-results/lessons.php – Use a more semantic heading structure.

Deprecated Code

  • sensei_the_excerpt

To update, please head on over to DashboardUpdates in the WordPress admin.

Please note: While we have thoroughly tested this release, it’s always possible that we’ve missed something. We recommend that you test the update on a staging site before updating your live site.

Sensei LMS 3.1

Sensei LMS 3.1 has just been released. The primary focus of this release is a new setup wizard to help users get started creating courses straight away.

With this release, we are bumping the minimum supported version of WordPress to 5.0. This means we will no longer be actively supporting the classic editor.

Setup Wizard

The setup wizard has 4 simple steps that can be completed in just a few minutes:

  • Welcome – Brief overview of the wizard and an opportunity to opt in to usage tracking.
  • Purpose – We’d love to learn more about why you’re interested in offering online courses.
  • Features – Facilitates the installation of Sensei LMS’s most popular extensions.
  • Ready – Basic setup is complete. From here, we provide a few recommendations on what to do next.
Setup Wizard - Welcome

The setup wizard is displayed as soon as Sensei LMS is activated, but it’s also available to administrators at any time from the new Help tab on the Courses page:

Run setup wizard

What Else is in this Release?

  • Added some missing translations
  • Added the Date Completed field to the Learner Management page
  • Added a filter for enabling/disabling enrolment related background jobs
  • Change “Lessons” to “Lesson” for single lessons in a course or module
  • Removed the Most Used tab from Course Modules
  • Fixed the course dropdown width on the lessons page
  • Fixed a PHP warning on the single course page

For Developers

If you’re a developer, here’s what you need to know about Sensei LMS 3.1.

Template File Changes

  • templates/course-results/lessons.php – Display “Lesson” if there is only one lesson in the course.
  • templates/single-course/modules.php – Display “Lesson” if there is only one lesson in the module.
  • templates/single-course.php – Initialize the loop.

New Filter

  • sensei_is_enrolment_background_job_enabled – Check if a specific enrolment background job is enabled.

Deprecated Code

  • includes/email-signup/template.php
  • Sensei_Email_Signup_Form – Entire class has been deprecated
  • Sensei_Admin::admin_install_notice – Use Sensei_Onboarding::setup_wizard_notice
  • Sensei_Admin::admin_installed_notice – Use Sensei_Onboarding::setup_wizard_notice
  • Sensei_Admin::admin_notices_styles – Use Sensei_Onboarding::setup_wizard_notice
  • Sensei_Admin::create_page – Use Sensei_Onboarding_Pages::create_page
  • Sensei_Admin::create_pages – Use Sensei_Onboarding_Pages::create_pages
  • Sensei_Admin::install_pages – Use Sensei_Onboarding_Pages::create_pages
  • Sensei_Admin::install_pages_output – Use Sensei_Onboarding_Pages::create_pages
  • Sensei_Main::load_email_signup_modal
  • Sensei_Usage_Tracking_Base::enqueue_script_deps
  • Sensei_Usage_Tracking_Base::handle_tracking_opt_in – Use Sensei_Onboarding::setup_wizard_notice
  • Sensei_Usage_Tracking_Base::hide_tracking_opt_in – Use Sensei_Onboarding::skip_setup_wizard
  • Sensei_Usage_Tracking_Base::is_opt_in_hidden – Use Sensei_Onboarding::setup_wizard_notice
  • Sensei_Usage_Tracking_Base::maybe_display_tracking_opt_in – Use Sensei_Onboarding::setup_wizard_notice
  • Sensei_Usage_Tracking_Base::opt_in_dialog_text_allowed_html – Use Sensei_Onboarding::setup_wizard_notice
  • Sensei_Usage_Tracking_Base::output_opt_in_js

To update, please head on over to DashboardUpdates in the WordPress admin.

Please note: While we have thoroughly tested this release, it’s always possible that we’ve missed something. We recommend that you test the update on a staging site before updating your live site.

Quiz Improvements

The Sensei LMS team is currently hard at work on a couple of features that will ship over the next few releases – a setup wizard to walk new users through configuring Sensei, and adding the ability to export and import course content.

Although a bit further out, we’re also starting to look into making some much-needed improvements to quiz functionality. We’ve prepared several design concepts and are looking for your feedback on which you prefer and why.

Pagination

The current paradigm of displaying all questions to the learner on a single page can be problematic. This is especially true when a quiz contains hundreds of questions.

To prevent overwhelming the learner, we are planning to show each question on its own page. This will require displaying buttons to enable the learner to move to the next question, and pagination so that they can view their progress.

Stepper – Option 1

Stepper pagination would be displayed either above or below the question, while on a mobile device it would be displayed along the right side:

Continue and Back buttons would be added below the question to enable the learner to move back and forth in the quiz, and the Contact Teacher button would be moved so that all actions are in the same location:

Traditional – Option 2

Traditional pagination could also be displayed either above or below the question:

Pagination above the quiz

If displayed below, then the breadcrumbs would need to move to above the question:

Pagination below the quiz

Timer

We are also planning to introduce a quiz timer, so that learners have a limited amount of time in which to complete the quiz.

Full-width – Option 1

The full-width timer would be fixed at the bottom of the page. Although fairly minimalistic, a full-width timer would enable the learner to keep a close eye on how much time they have left:

Circular – Option 2

The circular timer would be fixed at the bottom right corner of the page. This is a classical approach to a timer that may feel less intrusive to learners:

We’d love to hear your thoughts on these design concepts! Please leave your feedback in the comments below.

Sensei LMS Certificates Now on WordPress.org

Today we’re making Sensei LMS Certificates 2.0.4 available on WordPress.org! This is a small release to make the extension compatible with deploying to the plugin directory. We’ve also made a minor change to rename it from Sensei Certificates to Sensei LMS Certificates.

For Developers

Despite this being a small release, there are still a few changes that developers need to be aware of.

Template File Change

templates/single-certificate_template.php – Added escaping for wp_die function call.

Deprecated Functions & Methods

  • certificate_templates_wp_color_picker_js
  • WooThemes_Sensei_Certificates::add_inline_js
  • WooThemes_Sensei_Certificates::output_inline_js