LifterLMS REST API Version 1.0.0-beta.8

  • Return links to those taxonomies which have an accessible rest route.
  • Initialize $prepared_item array before adding values to it. Thanks @pondermatic!
  • Fixed sales_page_type not returned as none if course’s sales_page_content_type property is empty.
  • Load webhook actions a little bit later, to avoid PHP warnings on first plugin activation.
  • Renamed sales_page_page_type and sales_page_page_url properties, respectively to sales_page_type and sales_page_url according to the specs.
  • Add missing quotes in enrollment/access default messages shortcodes.
  • Call set_bulk() llms post method passing true as second parameter, so to instruct it to return a WP_Error on failure.
  • Add missing quotes in enrollment/access default messages shortcodes.
  • sales_page_page_id and sales_page_url always returned in edit context.
  • Call set_bulk() llms post method passing true as second parameter, so to instruct it to return a WP_Error on failure.

LifterLMS Version 3.37.0-beta.1

Form Management Improvments
  • Forms (registration, checkout, account) are now managed via a block editor interface.
  • Customize field labels, description, and placeholders in a simple WYSIWYG interface.
  • Mark fields as required with a toggle.
  • Reorder fields with drag and drop.
  • Customize layout using block editor columns
  • Use LifterLMS block-level visibility to conditionally display fields based on enrollment or logged in status.
Form Localization
  • Added default country and state/region lists (see the “languages” directory).
  • Country and state forms are now searchable dropdowns that adjusted based on the currently selected country.
  • Each country’s locale information (such as what a “post code” is called and whether or not the country has states or post codes) will update automatically based on the selected country.
  • Enqueue select2 on account and checkout pages for searchable dropdowns for country & state.
Updates
  • New shortcode [user] which is used to output user information in a merge code interface.
  • Improved form field generation via LLMS_Form_Field class.
  • LifterLMS Settings: renamed “User Information Options” to “User Privacy Options”.
  • Reorganized open registration setting.
  • Use LLMS.wait_for() for dependency waiting.
  • Moved checkout template variable declarations to the checkout shortcode controller.
  • Removed field display settings in favor of form customization using the form editors.
  • Organized function files. Some functions have been moved.
  • Function llms_get_minimum_password_strength_name() now accepts a parameter to retrieve strength name by key.
  • Use LLMS.wait_for() for dependency waiting.
LifterLMS Blocks v1.6.0
  • Feature: Added form field blocks for use on the Forms manager.
  • Feature: Add logic for logged_in and logged_out block visibility options.
  • Update: Added isDisabled property to Search component.
  • Update: Adjusted priority of render_block filter to 20.
  • Bug fix: Import InspectorControls from wp.blockEditor in favor of deprecated wp.editor
  • Bug fix: Automatically store course/membership instructor with post_author data when the post is created.
  • Bug fix: Pass style rules as camelCase.
Removed unused Javascript assets
  • Remove unused bootstrap transiton and collapse scripts.
  • Remove topModal vendor dependency.
  • Remove password strength inline enqueues.
Bug fixes
  • Only attempt to add a nonce to the datastore when a nonce exists in the settings object.
Deprecations
  • Deprecated LLMS_Person_Handler::register() method, use llms_register_user() instead.
  • Deprecated llms_get_minimum_password_strength() with no replacement.
Template Updates
  • templates/checkout/form-checkout.php
  • templates/checkout/form-gateways.php
  • templates/global/form-registration.php

LifterLMS Blocks Version 1.6.0

  • Feature: Added form field blocks for use on the Forms manager.
  • Feature: Add logic for logged_in and logged_out block visibility options.
  • Update: Added isDisabled property to Search component.
  • Update: Adjusted priority of render_block filter to 20.
  • Bug fix: Import InspectorControls from wp.blockEditor in favor of deprecated wp.editor
  • Bug fix: Automatically store course/membership instructor with post_author data when the post is created.
  • Bug fix: Pass style rules as camelCase.

LifterLMS Version 3.36.2

Updates
  • Tested to WordPress 5.3.0-beta.2
  • Upgrade UI on student course reporting screens.
  • Added logic to physically remove from the membership level and remove enrollments data on related products, when deleting a membership enrollment.
  • Lesson metabox “start” drip method made available only if the parent course has a start date set.
Bugfixes
  • Fixed JS error when client-side event tracking settings aren’t loaded, thanks @wenchen!
  • Fixed PHP warning resulting from drip the “Course Start” lesson drip settings when no course start date exists.
  • Fixed fatal error encountered when reviewing an order placed with a payment gateway that’s been deactivated.
Files Updated
  • assets/js/app/llms-tracking.js
  • includes/admin/post-types/meta-boxes/class.llms.meta.box.lesson.php
  • includes/models/model.llms.lesson.php
  • includes/models/model.llms.student.php
  • lifterlms.php
Templates Updated
  • templates/admin/post-types/order-details.php
  • templates/admin/reporting/tabs/students/courses-course.php
LifterLMS and Hacktoberfest

Hacktoberfest and the Second Annual LifterLMS Contributor Month

During the month of October, LifterLMS will be celebrating open source with our second annual Hacktoberfest event: LifterLMS Contributor Month.

Hacktoberfest is a month-long open source community event organized by DigitalOcean and Dev.

LifterLMS will be participating in Hacktoberfest as a project maintainer. We encourage anyone to submit pull requests to any of the LifterLMS codebases found on GitHub.

Why Contribute

Contributing to open source projects is a great way to learn, practice your skills, meet new people, have your voice heard within a community, and build a public reputation you can take with you outside the project.

Who can Contribute

Anyone with a GitHub account can submit a pull request. If you don’t have one, you can sign up for free.

You don’t have to be a developer or coder to contribute. LifterLMS will accept contributions from QA testers, user experience and interface designers, documenters, and more! If you’re interested in participating but you don’t know how, you can get in touch us with us and we’ll be happy to get you pointed in the right direction based on your unique set of skills and talents.

How to Contribute

Whether you’re a designer, developer, want to help with documentation, or something else entirely we have a task for you!

If you’re looking to write or improve new code, tests, or documentation, head over to our the LifterLMS GitHub repo and start looking through our existing issues. We’re using the special hacktoberfest tag for issues we feel would be ideal for first-time or new contributors to tackle during this event. You can view all these issues here. You could also check out our good first time contributor issues here.

If you plan to work on an issue please comment and let us know. This will help prevent collisions or duplicate efforts with other contributors.

Please review our contributor’s guidelines and ensure you’re adhering to our coding and documentation standards before submitting a PR!

You may also want to familiarize yourself with how to write and submit pull requests, and DigitalOcean has a great guide you can review here.

Finally, make sure you sign up for the official Hacktoberfest event so your eligible to win an official limited edition event shirt.

Rewards for Contributions

In addition to the satisfaction inherent in contributing to an open source project, we’ll be awarding prizes to anyone who contributes to LifterLMS during the month of October.

Submit at least one pull request and win a LifterLMS Contributor Month sticker package.

Submit three or more pull requests and get the sticker pack and a LifterLMS t-shirt, baseball cap, or mug (your choice).

Additionally, every accepted pull request will provide you with an entry into a drawing for a free LifterLMS add-on license of your choice valued up to $199.00.

All pull requests will be reviewed by the LifterLMS team by November 30, 2019. Only accepted pull requests count towards your contribution count.

Resources for Contributors

During the month of October we have several events to help support anyone looking to contribute:

October 1, 2019: Monthly Bug Scrub

Our monthly bug scrub is an open public meeting held on Zoom with notes recorded in Slack on the #developers channel.

Check out our contributor’s calendar for specifics in your timezone.

October 2, 2019: LifterLMS Contributor Month Kickoff Webinar

Join Thomas Patrick Levy, our technical co-founder and lead developer, for “Contributing to LifterLMS: A guide to open source projects for new contributors.”

The webinar will outline how to get started as a new contributor. If you have any questions, you can bring them to the Q&A section of the webinar. This webinar will be available as a replay if you miss the live session!

Register here if you’re interested in attending.

Office Hours

In addition to our weekly Wednesday Developer Office Hours held in Slack in the #developers channel, we’ll also be hosting short dev chats on Mondays and Fridays.

These informal chats are a great opportunity to interact with LifterLMS core developers and other contributors.

If you have any questions about any contributions you want to make, if you’re just getting started, or if you want to just say hello and keep Thomas company, these dev chats are for you (and you don’t have to be a developer to join).

Check out our contributor’s calendar for more details on these events.

LifterLMS REST API Version 1.0.0-beta.7

Updates
  • Added the following properties to the lesson schema and response object: drip_date, drip_days, drip_method, public, quiz.
  • Added the following links to lesson objects: prerequisite and quiz.
  • Use WP_Error::$errors in place of WP_Error::has_errors() to support WordPress version prior to 5.1.
  • Added llms_rest_lesson_item_schema, llms_rest_pre_insert_lesson, llms_rest_prepare_lesson_object_response, llms_rest_lesson_links filter hooks.
  • Course properties access_opens_date, access_closes_date, enrollment_opens_date, enrollment_closes_date are now nullable.
  • Course properties prerequisite and prerequisite_track can be be cleared (set to 0 to signify no prerequisite exists).
  • Added prerequisite validation for courses, if prerequisite is not a valid course the course prerequisite will be set to 0 and if prerequisite_track is not a valid course track, the course prerequisite_track will be set to 0.
Bug Fixes
  • Fixed lesson siblings link that was using the parent course’s id instead of the parent section’s id.
  • Fixed lesson parent link href, replacing ‘section’ with ‘sections’.
  • Fixed lesson progression callback name when defining the filters to be removed while preparing the item for response.
  • Fixed description of the post_id path parameter for student enrollments resources. Thanks @pondermatic.
  • Fixed section parent course object retrieval method when building the resource links.