Posted on

Premature Update for Sensei 2.0

Some of you may have seen an update prompt earlier this week that invited you to upgrade to Sensei 2.0. Choosing to update had a few consequences:

  • If you were selling courses, those courses would have been made available for free.
  • If you were using any Sensei extensions (with the exception of Content Drip), those extensions would have stopped functioning.
  • Sensei translations would have broken.

If you upgraded to Sensei 2.0, we recommend that you downgrade to 1.12.3 to resolve the above issues. You can do that by downloading Sensei 1.12.3 from WooCommerce.com, deactivating Sensei 2.0, and installing/activating Sensei 1.12.3.

Why Did This Happen?

On Tuesday, April 2nd, 2019, we deployed a free version of Sensei to WordPress.org. Later in the day, we started receiving reports that Sensei wasn’t working correctly after updating to Sensei 2.0.

This was very concerning, as Sensei being deployed to WordPress.org should have had zero impact on our existing users. This is because existing sites with Sensei installed receive their plugin updates from WooCommerce.com, not WordPress.org, and so should not have had an update prompt displayed in the first place. Yet WordPress.org intercepted Sensei’s plugin update check, detected that a new version was available, and surfaced an update prompt on your site.

What Did We Do About It?

Once we received the first report of someone being asked to upgrade to Sensei 2.0, we contacted the plugin team at WordPress.org. Within 30 minutes of our being made aware of the problem, Sensei was removed from WordPress.org, and the update prompt was no longer displayed in the WordPress admin.

For those users who opened support tickets with us, we asked that they downgrade to Sensei 1.12.3.

How Will We Prevent This From Happening Again?

We have had some communication with the WordPress.org plugin team to determine why this happened.

It would seem that WordPress.org used a combination of Sensei’s name and author fields to identify it. This meant that when your site checked in with WordPress.org for plugin updates, WordPress.org compared the name and author fields of the version of Sensei that was installed on your site to the version that it had on its servers, found them to be the same, and pushed out a notice to update.

We were expecting WordPress.org to use the plugin slug for identification purposes. The plugin slug on WooCommerce.com (woothemes-sensei) was different from the plugin slug on WordPress.org (sensei). Had the slug been used to identify Sensei, this entire incident would have been avoided.

We are currently planning to resubmit Sensei to WordPress.org. However, we will be submitting it with a different plugin name – Sensei LMS. This will be enough to ensure that WordPress.org does not identify existing versions of Sensei as something that it is responsible for updating.

Questions?

Should you have any questions or comments, please feel free to leave them here. If you need help downgrading, please open a Support ticket and our Happiness Engineers will take good care of you.

We sincerely apologize for the inconvenience this has caused some of our users.

Posted on

Media Attachments 1.0.2 Fixes Issue with File Visibility

We’ve put out a small release to fix an issue with the visibility of media attachments. In 1.0.2, media attachments are only visible to people who are enrolled in the course.

We’ve also added a new sensei_media_attachments_show_media_links filter that can be used to override the display of media attachments.

Should you find any issues, please report them in the comments or on Github. Thank you!

Posted on

Sensei 1.12.3 is Available Now

We’ve just released Sensei 1.12.3, which fixes a few troublesome bugs and does some preliminary work that will make the transition to Sensei 2.0 easier. Given this, we recommend that you upgrade to 1.12.3 as soon as possible ahead of the upcoming Sensei 2.0 release.

It’s important to note that the upcoming 2.0 versions of Sensei and our official extensions will not work on sites running older versions of PHP. If you are running a version of PHP that is older than 5.6, we strongly encourage you to update to 5.6 or higher.

If you’re not sure which version of PHP your site is running, you may find the How to Check Your WordPress Site’s PHP Version section of this article helpful.

You can also read more about updating PHP on WordPress.org.

What’s in this Release?

Here’s the rundown of what’s in this release:

Please report any issues you find in the comments or on Github. Thank you!

Posted on

Sensei Content Drip 2.0

Sensei Content Drip 2.0 is now available! 🥳

Please note that Sensei Content Drip 2.0 requires a minimum Sensei version of 1.11.0 and a minimum PHP version of 5.6. If you are not running Sensei 1.11.0+ and PHP 5.6+, please update to more recent versions of both before updating Content Drip.

If you’re not sure which version of PHP your site is running, you may find the How to Check Your WordPress Site’s PHP Version section of this article helpful. You can also read more about updating PHP on WordPress.org.

What’s in this Release?

Here are the highlights of the Sensei Content Drip 2.0 release:

See what else is in this release.

Head over to DashboardUpdates to update Sensei Content Drip from within WordPress.

As usual, if you spot any issues, please log them in detail on Github.

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

Posted on

Sensei 2.0 Beta 3

We’ve just released another beta for the open source version of Sensei that will be listed on WordPress.org.

The most noteworthy change since the last beta is a fix we made to flush the permalink/rewrite rules when Sensei is activated. Now when you deactivate and reactivate Sensei, your existing Sensei pages will still be viewable without requiring you to re-save your lessons or click the Install Sensei Pages button.

Here’s what else is new since the last beta:

Download the beta or view the full Sensei 2.0 milestone.

We will be applying these changes to Sensei with WooCommerce Paid Courses, and sending out Beta 3 to our testers next week.

As always, since this is a beta release, please test 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.

Posted on

Beta Releases for Media Attachments, Share Your Grade & Course Participants

The beta releases for the remaining Sensei extensions are now available for testing.

These betas are a continuation of the work being done for Sensei 2.0. In particular, they add compatibility with the version of Sensei that will soon be available on WordPress.org. The existing extensions are already compatible with the soon-to-be-released Sensei with WooCommerce Paid Courses plugin.

Please note that Sensei Media Attachments 2.0, Sensei Share Your Grade 2.0 and Sensei Course Participants 2.0 all require a minimum Sensei version of 1.11.0 and a minimum PHP version of 5.6.

Sensei Media Attachments

Here’s what you’ll find in the Sensei Media Attachments release:

New Hooks

  • sensei_media_attachments_show_media_links – Whether or not to display the media attachments.
  • sensei_media_attachments_get_attachment_title – Customize the title that is displayed for a particular media attachment.
  • sensei_media_attachments_media_heading – Customize the media heading.

See what else is in this release or download the beta.

Sensei Share Your Grade

Google+ for personal accounts will be shut down on April 2, 2019. Given this, we’ve removed the Google+ sharing button in Sensei Share Your Grade.

See what else is in this release or download the beta.

Sensei Course Participants

Here are the most notable improvements in Sensei Course Participants:

New Hooks

  • sensei_course_participants_exclude_completed_participants – Whether or not to include learners in the learner count and widget, who have already completed the course.
  • sensei_course_participants_profile_url – Customize the learner profile URL in the widget.

See what else is in this release or download the beta.

What should I do if I find a problem?

If you find a bug, please open a new issue for Media Attachments, Share Your Grade or Course Participants as appropriate. You are also welcome to leave a comment here.

As always, please test 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.

The extensions will remain in beta for about a week.

Posted on

Sensei Certificates and Sensei Course Progress 2.0 Betas

We’ve just released new betas for Sensei Certificates and Sensei Course Progress, two of our most popular extensions.

These betas are a continuation of the work being done for Sensei 2.0. In particular, they add compatibility with the version of Sensei that will soon be available on WordPress.org. The existing extensions are already compatible with the soon-to-be-released Sensei with WooCommerce Paid Courses plugin.

Please note that both Sensei Certificates 2.0 and Sensei Course Progress 2.0 require a minimum Sensei version of 1.11.0 and a minimum PHP version of 5.6.

Sensei Certificates

Here’s what else you’ll find in the Sensei Certificates release:

New Hook

  • sensei_certificates_run_installer – Run install-related tasks after checking that required dependencies have been met.

See what else is in this release or download the beta.

Sensei Course Progress

For Sensei Course Progress, we’ve fixed a bothersome bug that was affecting some themes like Divi and OceanWP. If your course progress widget didn’t look quite right before, it should look just fine with Sensei Course Progress 2.0.

See what else is in this release or download the beta.

If you find a bug, please submit a new issue for Certificates or for Course Progress. You are also welcome to leave a comment here.

As always, please test 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.

What about the other extensions?

We have a beta ready now for Sensei Content Drip. If you’d like to test that extension, and have an active license for it, please drop a comment here to express your interest. We’ll be releasing betas for the remaining extensions over the coming days. UPDATE: We now have betas for all of our extensions.

Posted on

Sensei 2.0 Beta is Here!

Today we’re pleased to announce that Sensei 2.0 is available for beta testing!

There are some important changes in this release:

  • We’ve split Sensei into two plugins – Sensei (free) and WooCommerce Paid Courses (paid). After upgrading Sensei, those with a valid license will have Sensei renamed to Sensei with WooCommerce Paid Courses, which is a bundle of Sensei and WooCommerce Paid Courses. You can read more about this change here.
  • The new minimum required version of PHP is 5.6.
  • The new minimum required version of WooCommerce is 3.0.
  • The Access Permissions setting now only controls lesson content, not lesson and course content.

Everything else . . .

  • We fixed a conflict between the Jetpack shortcodes module and Sensei that caused Sensei videos not to display.
  • We fixed the lesson order changing when a lesson was updated in the classic editor.
  • We fixed completed modules being displayed as “In Progress”.
  • We’ve changed the text domain from woothemes-sensei to sensei.
  • When Sensei is first activated, a pop-up appears asking you to join our mailing list. This pop-up will only appear on sites that have never had Sensei installed before.
  • We added a new Sensei extensions page available from the Sensei > Extensions menu.

There are also a variety of minor tweaks, new hooks, and fixes. We won’t go into detail here, but you can see the full list of changes if you’re interested!

Template File Changes

  • All templates – Changed text domain from woothemes-sensei to sensei
  • content-course.php – Call Sensei_Course::get_course_loop_content_class instead of WooThemes_Sensei_Course::get_course_loop_content_class
  • single-quiz/question-type-*.php – Call Sensei_Question::get_template_data instead of WooThemes_Sensei_Question::get_template_data

Deprecated Functions and Methods

Sensei_Main

  • Sensei_Main::sensei_woocommerce_email_course_details has been deprecated in favour of Sensei_WC::email_course_details
  • Sensei_Main::sensei_woocommerce_reactivate_subscription has been deprecated in favour of Sensei_WC::reactivate_subscription
  • Sensei_Main::sensei_woocommerce_subscription_ended has been deprecated in favour of Sensei_WC::end_subscription
  • Sensei_Main::sensei_woocommerce_complete_order has been deprecated in favour of Sensei_WC::complete_order
  • Sensei_Main::sensei_woocommerce_cancel_order has been deprecated in favour of Sensei_WC::cancel_order
  • Sensei_Main::sensei_activate_subscription has been deprecated in favour of Sensei_WC::activate_subscription
  • Sensei_Main::woocommerce_course_update has been deprecated in favour of Sensei_WC::course_update
  • Sensei_Main::sensei_get_woocommerce_product_object has been deprecated in favour of Sensei_WC::get_product_object
  • Sensei_Main::disable_guest_checkout has been deprecated in favour of Sensei_WC::disable_guest_checkout
  • Sensei_Main::virtual_order_payment_complete has been deprecated in favour of Sensei_WC::virtual_order_payment_complete
  • Sensei_Main::check_user_permissions has been deprecated with no replacement

Sensei_Utils

  • Sensei_Utils::sensei_is_woocommerce_present has been deprecated in favour of Sensei_WC::is_woocommerce_present
  • Sensei_Utils::sensei_is_woocommerce_activated has been deprecated in favour of Sensei_WC::is_woocommerce_active
  • Sensei_Utils::sensei_customer_bought_product has been deprecated in favour of Sensei_WC::has_customer_bought_product

Sensei_Frontend

  • Sensei_Frontend::activate_purchased_courses has been deprecated in favour of \Sensei_WC_Paid_Courses\Courses::activate_purchased_courses
  • Sensei_Frontend::activate_purchased_single_course has been deprecated in favour of \Sensei_WC_Paid_Courses\Courses::activate_purchased_single_course
  • Sensei_Frontend::sensei_woocommerce_in_cart_message has been deprecated in favour of Sensei_WC::course_in_cart_message

Sensei_Course

  • Sensei_Course::get_product_courses has been deprecated in favour of Sensei_WC_Paid_Courses\Courses::get_product_courses
  • Sensei_Course::get_product_courses_query_args has been deprecated in favour of Sensei_WC_Paid_Courses\Courses::get_product_courses_query_args

Sensei_WC_Utils

  • Sensei_WC_Utils::wc_version_less_than has been deprecated in favour of version_compare( WC()->version, $str, '<' )
  • Sensei_WC_Utils::is_product_variation has been deprecated in favour of $product->is_type( 'variation' )
  • Sensei_WC_Utils::get_order_id has been deprecated in favour of $order->get_id()
  • Sensei_WC_Utils::get_product has been deprecated in favour of wc_get_product
  • Sensei_WC_Utils::get_parent_product has been deprecated in favour of wc_get_product
  • Sensei_WC_Utils::get_formatted_variation has been deprecated in favour of wc_get_formatted_variation
  • Sensei_WC_Utils::get_product_variation_data has been deprecated in favour of \Sensei_WC_Utils::get_variation_data
  • Sensei_WC_Utils::get_product_from_item has been deprecated in favour of $item->get_product()
  • Sensei_WC_Utils::get_checkout_url has been deprecated in favour of wc_get_checkout_url

Other

  • sensei_wc_add_to_cart has been deprecated in favour of Sensei_WC::the_add_to_cart_button_html
  • sensei_check_if_product_is_in_cart has been deprecated in favour of Sensei_WC::is_product_in_cart
  • sensei_simple_course_price has been deprecated in favour of Sensei_WC_Paid_Courses\Frontend\Courses::output_course_price
  • is_woocommerce_active has been deprecated with no replacement
  • sensei_check_woocommerce_version has been deprecated with no replacement

Deprecated Shortcodes

Additionally, the following legacy shortcodes will now log deprecation warnings. A notice will also be displayed on the front-end that is only visible to users with the edit_posts capability (i.e. it won’t be visible to students or guests):

  • newcourses
  • featuredcourses
  • freecourses
  • paidcourses
  • usercourses
  • allcourses

Deprecated Hooks

  • sensei_show_delete_course_button (the Delete Course button that may appear on the My Courses page will be removed in Sensei 4.0)
  • sensei_merge_courses_with_parent_product has been deprecated in favour of sensei_wc_paid_courses_merge_courses_with_parent_product
  • sensei_wc_subscriptions_get_subscription_types has been deprecated in favour of sensei_wc_paid_courses_subscriptions_get_subscription_types
  • sensei_wc_memberships_auto_start_course has been deprecated in favour of sensei_wc_paid_courses_memberships_auto_start_course
  • sensei_wc_memberships_auto_start_courses has been deprecated in favour of sensei_wc_paid_courses_memberships_auto_start_courses
  • sensei_wc_single_add_to_cart_button_text has been deprecated in favour of sensei_wc_paid_courses_add_to_cart_button_text
  • sensei_wc_order_statuses has been deprecated in favour of sensei_wc_paid_courses_order_statuses

Release Testing

We’d like to keep Sensei 2.0 in beta for the next 3 weeks.

If you’d like to help us test Sensei with WooCommerce Paid Courses, please fill out this form. The beta will be sent to those users who have an active Sensei license, so please be sure to enter the email address you used to purchase Sensei. UPDATE: Beta tester signups are now closed. Thank you to all those who signed up!

If you do not have an active Sensei license but are still interested in testing, you can download the free beta version of Sensei here.

To test translations, you will need to rename the .po and .mo files inside the /wp-content/languages/plugins folder from woothemes-sensei-{$locale}.{$ext} to sensei-{$locale}.{$ext}. This step is required because we still need to migrate Sensei translations from Transifex to GlotPress and have them use the new text domain. Unfortunately, we are unable to complete this step until after Sensei is listed on WordPress.org.

Also, we have not yet updated our extensions to work with Sensei 2.0. We will be working on that next while the beta is in testing. UPDATE: We now have betas for Certificates, Course Progress and Content Drip.

During testing, if you come across a bug, please submit an issue on Github or leave a comment here.

As this is a beta release, please test it 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.

Thanks to all of our testers and contributors!

Posted on

Upcoming changes in Sensei 2.0

There are some updates coming to Sensei! Nothing changes for you immediately, but we wanted to let you know what’s new — and why.

When Sensei 2.0 launches, it will be available as two separate plugins – a free version available on WordPress.org for anyone who wants to offer online courses on their website, and a WooCommerce Paid Courses extension for those who’d like to sell courses through WooCommerce.

Why are we doing this?

We want to make it possible for anyone who wants to create online courses to be able to do so with Sensei. By creating a free version, we draw closer to realizing our vision of democratizing online learning.

What does this mean for me?

If you currently have a valid Sensei license for your site, nothing changes in Sensei 2.0. Your existing Sensei plugin will continue to function as before, and you’ll continue to get updates and support.

(Eventually, there will be a migration process to seamlessly transition your site from Sensei to Sensei + WooCommerce Paid Courses, but that won’t happen until after the release of Sensei 2.0.)

I have a question.

Ask it! We invite you to add a comment to this post with any questions you have.

Posted on

Sensei Certificates 1.1.1 Beta

A beta release of Sensei Certificates has just been released. This release contains two new translations and some bug fixes. You can download it here.

Here’s what’s in this beta release:

If you find any problems with this beta, please leave a comment or open an issue. Thanks!