Posted on 1 Comment

My Courses Page Gets a Grid View

In Sensei LMS 3.10, we released the Learner Courses block, which introduced a redesign of the My Courses page.

In Sensei LMS 3.12, we’ve added an all-new layout to the Learner Courses block – grid view! This is in addition to the list view you already know and love:

My Courses page - Grid view

Grid view is responsive, meaning the number of columns increase or decrease automatically based on the current screen size. To use it, add the Learner Courses block to the My Courses page, and select Grid view from the block toolbar or settings.

What Else is in This Release?

Here are some other things you’ll find in 3.12:

  • Compatibility with PHP 8.
  • Fixed an issue with lesson order not saving when object caching is used.

See the full list of changes.

To update, please head on over to Dashboard → Updates 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.

Posted on 2 Comments

Reimagining My Courses

Without a doubt, the My Courses page is the central hub of your learners’ online course-taking experience. It’s where they go to access their courses, and generally bask in the glory of all the progress they’ve made so far.

And let’s face it…this page was overdue for a little ❤️.

That’s why in Sensei LMS 3.10, My Courses has been updated with a cleaner, fresher look. Not only that, but we’ve also shifted more control over to you by giving you the customization tools you need to really make My Courses sparkle and shine.

So long shortcode, hello blocks!

My Courses page - List view

The My Courses page harnesses the power of three new blocks – Learner Messages Button, Learner Courses and View Results.

Learner Messages Button

The Learner Messages Button block enables learners to view their private messages with the teacher. This block is only displayed if the learner is logged in and private messaging is enabled in Sensei’s settings. Clicking the button takes the learner to a page that shows all of their communication with the teacher.

Learner Courses

The Learner Courses block displays a list of courses the learner is currently enrolled in. There are separate views for filtering by active or completed courses, and the block’s settings enable you to customize colours and select which elements to display.

View Results

The View Results block is added to My Courses automatically once a course has been completed, but it can also be added to any of your individual courses. Clicking the button takes the learner to a page that shows how well they performed in each lesson of the course.

What Happens to My Existing My Courses Page?

Your existing My Courses page is not affected when updating to 3.10. If you’d like to convert it to use the new blocks, you can do that by first deleting the [sensei_users_courses]shortcode, and then adding the desired blocks from the block inserter:

Sensei blocks available on the My Courses page

What Else is in This Release?

Here are some other changes you’ll find in 3.10:

  • For lessons with prerequisites, display the first prerequisite lesson that needs to be completed in the prerequisite notice.
  • Only include questions belonging to the current teacher when adding category questions.

See the full list of changes.

To update, please head on over to Dashboard → Updates 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.

For Developers

New Filter

sensei_filter_category_questions_by_author – Whether category questions should be filtered by author.

Deprecated Code

  • Sensei_Frontend::sensei_get_user_quiz_answers – Use Sensei_Quiz::get_user_answers instead.
  • Sensei_Quiz::stop_quiz_questions_loop – No replacement.
  • Sensei_Assets::override_script – No replacement.
  • Sensei_Assets::wp_compat – No replacement.
Posted on 1 Comment

A New Default Quiz Editing Experience

Sensei LMS 3.9 is out and brings with it a brand new way to manage quizzes – right inside the editor!

Introducing the Quiz Block

Both new and existing quizzes are now edited using the Quiz block. This block is automatically added when a new lesson is created, but can be removed if you don’t need it. Existing quizzes are also switched over to automatically use the new block:

Quiz block

The Quiz block supports the same functionality as the old meta boxes, including question types, settings, and selecting existing questions or category questions:

Quiz block - Inserter

Blocks are also used when editing an individual question residing in the question bank:

Question block

The view that the learner sees remains the same, and quizzes are still displayed on a separate page as before.

To learn more about how to use the Quiz block, please see our documentation on quizzes and questions.

What If I Don’t Want to Use the Quiz Block?

If you’d prefer to continue to use the meta boxes to manage quizzes, you can disable the Quiz block by using the following code snippet:

add_filter( 'sensei_quiz_enable_block_based_editor', '__return_false' );

What Else is in This Release?

Here are some other improvements you’ll find in 3.9:

  • We added a filter to enable customizing the course and lesson block templates.
  • Only courses belonging to the current teacher are shown on the Analysis page.
  • Teachers are no longer able to add another teacher’s questions to a quiz.
  • When the course teacher is changed, the author of any associated quiz questions is also updated to the new teacher when it makes sense to do so.
  • We’ve added the ability to set a question to Draft status.

See the full list of changes.

Developers: For deprecations, please see the beta release post.

To update, please head on over to Dashboard → Updates 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.

Posted on Leave a comment

All-New Conditional Content & Lesson Actions Blocks

Sensei LMS 3.8

Sensei LMS 3.8 is available now and introduces two new blocks – Conditional Content and Lesson Actions.

Conditional Content

The Conditional Content block, available on the course page, is very handy when you’d like to display content to a specific group of people. For example, you may want to write some sales copy to entice people to enrol in your course, but not display it to those who are already enrolled. The Conditional Content block makes this possible!

To configure the block, just add some child blocks inside it and set the visibility condition to only display the content when the person is enrolled in the course, is not enrolled in the course, or has completed the course:

Lesson Actions

The Lesson Actions block groups together the actions that can be taken on the lessons page including viewing the quiz, marking the lesson as complete, moving to the next lesson in the course, or resetting the progress of the current lesson. Each of the buttons can be customized by changing its style, color or border.

You can use the dropdown in the toolbar to simulate what the learner will see depending on whether or not they have completed the lesson:

When creating a new lesson, the Lesson Actions block (and Contact Teacher block) are automatically added to the page for you. They are equivalent to the elements that already appear on the lesson 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:

What If I Don’t Want to Use Blocks?

If you’d rather not use blocks for new lessons, you can remove them in the editor and the PHP template will be used to render the lesson as before. This will create a consistent experience for learners until you’re able to update existing lessons to also use blocks.

What Else is in This Release?

Here are some other improvements you’ll find in 3.8:

  • We’ve ensured that all Sensei blocks can be properly translated.
  • We fixed an issue where the lesson order was changing when a lesson was updated.

See the full list of changes.

Developers: For deprecations, please see the beta release post.

To update, please head on over to Dashboard → Updates 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.

Thank you to all our testers and contributors!

Posted on 3 Comments

Sensei LMS 3.7 & WooCommerce Paid Courses 2.3

What’s New in Sensei LMS 3.7?

Sensei LMS 3.7 contains some important bug fixes and performance improvements, and adds an integration with the Site Health tool.

One especially important bug fix involves a pesky issue where some learners were being added to a course or lesson multiple times. This was preventing those learners from making progress in the course. As part of that fix, we’ve also brought back the ability to remove a learner’s progress at the lesson level.

Upon upgrading to 3.7, indexes are automatically added to the comments table if they don’t already exist. As Sensei LMS stores a lot of data in this table, this should noticeably improve the performance of large sites.

We’ve also added an integration with the Site Health tool. The integration does some checks on the status of the learner enrolment job and migration, and will also let you know if your theme is using outdated Sensei template files:

See the full list of changes.

What’s New in WooCommerce Paid Courses 2.3?

When a learner purchases one or more courses, those courses are now listed on the Order Details page. Clicking on any of the courses takes the learner right to that course:

We’ve also added a Courses section to the sidebar of the My Account page, which navigates to the learner’s My Courses page:

Developers: For new hooks, deprecations and template file changes, please see the beta release post.

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.

Thank you to all our testers and contributors!

Posted on 8 Comments

All-New Course Blocks in Sensei LMS 3.6 and WC Paid Courses 2.2

We are very pleased to announce that Sensei LMS 3.6 is now publicly available. Although technically a minor release, 3.6 packs a major punch!

What’s New in Sensei LMS 3.6?

Sensei LMS 3.6 introduces several new blocks to the course page:

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:

Take Course

The Take Course block is a button that enables a registered user to enrol in the course. Once enrolled, the Take Course button is no longer displayed for that user. The block can be customized by changing its style, colors or border.

Contact Teacher

The Contact Teacher block enables registered users to contact the teacher. The user is not required to be enrolled in the course in order to send a message to the teacher. Similar to Take Course, the Contact Teacher block can have its style, colors and border customized.

Course Progress

Course Progress displays the user’s progress in the course. This block is only visible to users who are already enrolled. The course progress block enables you to customize the border radius, progress bar height, and colors.

Course Outline

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:

Please note that it’s not currently possible to add existing modules or lessons to the course outline block. Given this, the recommended flow for creating a new course is to start with the course outline block, and then add content to the individual modules and lessons once they’ve been created.

You can learn more about how to use these blocks in our documentation. A future release will add more blocks for both lessons and quizzes.

What If I Don’t Want to Use Blocks?

If you’d rather not use blocks for new courses, you can remove them in the editor and the PHP template will be used to render the course as before. This will create a consistent experience for learners until you’re able to update existing courses to also use blocks.

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.

What’s New in WooCommerce Paid Courses 2.2?

WooCommerce Paid Courses 2.2 extends the Take Course block, and changes 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:

Developers: For new hooks, deprecations and template file changes, please see the beta release post.

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.

Thank you to all our testers and contributors!

Posted on 3 Comments

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.

Posted on Leave a comment

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.

Posted on 1 Comment

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.

Posted on Leave a comment

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.