How to ask for WordPress plugin support (the right way)

Uncanny Owl recently passed a big milestone for our Help Desk: Ticket #10,000. We started using a Help Desk system in 2016, before we started selling plugins, and it’s perhaps our most valuable tool. It’s the first thing we check in the morning, the last thing we check at night, and using it ensures that the thousands of customers that depend on us stay happy.

After a few years of providing support to over 3,500 different people, we know all too well what makes a WordPress support ticket easy to resolve and what types of inquiries are going to drag on for some time. Everyone wants a quick fix to their question or problem, and while we as plugin vendors do our best, there’s a lot you can do as a plugin customer to make the process more efficient. In this article, we’ll outline the best ways for making sure that your problem is resolved quickly and accurately.

Help Desk Stats

Be specific

Last Thursday I took a call from a plugin customer who wasn’t very happy with our product. Despite us having a 10 minute call about it, I still don’t know why he was unhappy. The best answer he could give me was that “nothing worked”. I tried to dig deeper, to find out what functionality he was using and even why he bought the plugin, but he could only tell me he bought it to make his site “better”. I know he was frustrated, but he couldn’t articulate specifically what he was expecting that the plugin wasn’t doing.

Receiving a ticket that tells us that a “plugin isn’t working” makes it difficult for us to help and means that we have to follow up asking for more details, which in turn delays resolution. Tell us what you’re expecting to happen that isn’t happening; let us know what you are experiencing now. If you see an error message, include the error message.

Be kind and stay calm

We know that you’re reaching out to us because you’re experiencing a problem that’s causing anxiety and asking us may be your last resort. We do our best to empathize with the situation and we approach tickets as if they were about our own site. When we receive a ticket that starts off with an introduction like, “Hey guys, love your plugins, but I’m running into an issue right now with XYZ and I’m hoping you can point me in the right direction”, it’s going to set the right tone for the conversation and put everyone at ease. We’re also going to stay focused on resolving the issue.

While it is (fortunately) very uncommon, taking the opposite approach slows things down and adds tension to the relationship. Early last week, a customer reached out to point out a small error in a line of code that we shipped out (that had negligible impact on functionality). It could have been a simple interaction: “Hi Uncanny Owl team, I noticed a small issue in this file on line 123, it should be ABC instead of XYZ, can you confirm the fix and include it in the next release?” That would have been fantastic, we would have investigated and confirmed it immediately, and the ticket would have been closed. Instead, the user led with, “Do you guys even test anything before you push updates?”—and then we’re automatically on the defensive. We then have to be more careful about planning our reply and approach to a resolution.

Provide a test case

Last week we had a ticket that effectively said, “Some of our users report that they can’t complete a course, please fix it ASAP.” I didn’t know what plugin they were using of ours, what was supposed to trigger course completion, etc. It took about 4 emails back and forth to put together enough detail to understand what users were doing and what was expected but didn’t happen.

Here’s an example of a great test case related to a real (and recent) issue with one of our plugins:

Hi, I’m using the Uncanny LearnDash Toolkit Pro plugin with the Autocomplete Lessons & Topics module turned on. I have autocompletion enabled globally, but for the first topic of a course I have it disabled at the topic level. When I visit the topic as a user, I’m able to click forward to the next topic and the first is marked as completed. It shouldn’t be marked complete because of the topic-level override. Any idea what I’m doing wrong? Here are some screenshots so you can validate my settings.

That is a fantastically helpful ticket to us because we know exactly what the customer is using, we know how things are configured, we know the steps they’re taking and we know the expected vs. actual result. This kind of example makes it really easy for us to validate the issue in our test environment to assess if there is a problem in our plugin or if it’s a unique behaviour to their site. Be very descriptive, outline the steps someone could take to reproduce the issue, and include additional details like screenshots whenever it’s appropriate.

WordPress plugin support

Outline what you’ve done so far

Once again, the more we know the better. Using the ticket above as an example, it would absolutely help us to know if the user tested with different module settings or with the plugin disabled entirely to see if the results were different.

Let’s take an example with one of our plugins.  Perhaps the site admin wants LearnDash Group Leaders to see the admin bar, but for some reason it’s not showing up.  In our Hide Admin Bar Toolkit Module, they have the Group Leaders unchecked (so those users should see it).  This suggests another plugin is conflicting with the settings in the Toolkit.  Before reaching out to us, maybe the customer already disabled all plugins (except our Toolkit) and changed the theme temporarily to confirm the issue still happens. Knowing that would save everyone time, because that’s the very first thing we would suggest if we suspected a conflict.

That leads us to a related and very important recommendation.

Get a Staging site ready

With elearning sites in particular, testing updates and issues on a site that’s independent of your live site is critically important. Having a Staging site available for that purpose is a must, and if it can be used for resolving issues as well, all the better.

Sometimes we simply can’t trace a plugin issue through descriptions and screenshots alone. We do need access to see what’s going on and to test things. I can absolutely confirm that we do not want access to your site unless there’s no alternative, and if we need it, we don’t want to test things on your live site. If an issue seems like it’s going to need troubleshooting directly in your environment, it’s going to be easier and safer for everyone if that testing can be done on a clone of the live site rather than the real site. If you suspect the plugin vendor will need to see what’s going on in the environment or the conversation is heading in that direction, get a Staging site up and running.

Do some initial troubleshooting

If you’re new to WordPress this guidance is going to be hard to action, but as you get more experienced you’ll start to understand what’s likely to be causing certain errors and where to look to trace them.

If you see a white screen, a page in /wp-admin/ only partially loads, or you actually see a “500” error message, there’s likely a fatal PHP error on the site. Typically there’s going to be an associated message in the web server error log, so you’ll want to check there first for a “Fatal Error” and pass that on to the plugin developer. The WordPress debug tool can also provide really important clues about system-level errors.

If something on a site just looks wrong or unlike screenshots on a plugin developer’s website, or interactive elements on your site aren’t working properly, it’s likely a javascript or CSS conflict. Check the browser console (View > Developer > JavaScript Console in Chrome) for more information, and if you find any errors, they will be immensely helpful to the plugin developer.

Include one issue per ticket only

This one is really important when you want a quick resolution for your ticket. Our team has multiple developers, each of whom has different areas of expertise. We have 3 customer-facing staff handling support tickets and 4 developers behind the scenes providing assistance. Tickets that include several issues slow things down by an order of magnitude, because now we have to split tickets up behind the scenes, assign them to different developers and staff, then wait for an update on all of them before we can reply to the customer. After all, we don’t want to send pieces of updates and end up in situations where only part of the ticket ends up getting answered.

A few weeks ago we had a customer submit a 3-page PDF file outlining 5 completely unrelated issues they were having. None of the 5 had a simple answer, all required testing and validation, and we had to address all of them before we could properly reply (beyond sending an initial confirmation warning the user that it would take longer to investigate all 5 questions). Turnaround time would have been improved for the customer, and things would have been more efficient for us, to have received 5 separate tickets instead.

We want to help

When something goes wrong with a WordPress plugin, it’s absolutely a scary moment and you just want it fixed as quickly as possible. We as plugin developers want the same. By helping us to understand the problem, making it easy for us to test it ourselves and by giving us all relevant information, your tickets will be turned around faster and your issues resolved more quickly.

Give the tips above a try the next time you need to send in a support ticket and let us know in the comments if they helped!

How We Made LearnDash 75 Times Faster

Important: This article examines how we modified certain parts of LearnDash to improve performance on high volume/enterprise sites. LearnDash itself is not slow, but some parts of it are designed for convenience rather than performance. For the vast majority of LearnDash sites, the optimizations discussed below are unnecessary and could be dangerous. This article is intended for very large sites where scalability and performance are critical. 

LearnDash Performance TuningWe see a lot of projects that really push LearnDash to its limits, and for a sub-$200 WordPress plugin, those limits are surprisingly high. LearnDash is generally an efficient plugin that serves the vast majority of its customers very well, but every so often, an organization wants to see how well it can really perform at scale.

The typical LearnDash site we see might expect up to 15 simultaneous learners (even on sites with upwards of 1,000 users) and perhaps 200 LearnDash posts. We  support several, however, that have hundreds of simultaneous learners and thousands of LearnDash posts (courses, lessons, topics and quizzes). At that level, everything gets harder and keeping everything running smoothly requires tuning performance wherever we can.

What we observed on extremely large sites, especially after total courses crossed the 100 level, total quizzes exceeded 1,000 and we started going over the 100 simultaneous user mark, was that performance significantly deteriorated in 3 main areas: user profile pages in /wp-admin/, quiz listing pages, and quiz submissions. In some cases users and admins were even seeing 503 errors, which is catastrophic for any live LearnDash site, but especially ones with hundreds of people online at the same time.

In user profiles we found that database operations could often exceed 150 seconds of processing times and require 10s of thousands of SQL queries to render (perhaps 200 queries is typical on most pages). What we found was that the “Course Progress Details” section of the profile page was looping through all courses to retrieve records for the user and the courses for every course the user was enrolled in. It was pulling everything down on page load too, so even if an admin were just going in to change a password or something else unrelated to LearnDash, the site would be affected by severe load.

Loading all of this data does make things a lot more convenient for admins, and in most cases this section wouldn’t be an issue. But when loading tens of thousands of records on a site with lots of courses, it’s a problem. Fortunately, our developers were able to override this section completely with an alternative solution that combines queries and reduces loops when the admin drills down into that specific course. The approach means we only load data when it’s needed and only as much as is needed. We also removed the edit links to LearnDash posts from the profile page, which are generally rarely used, and we added some transients to speed things up further.

The net effect of these changes?

We took profile page load time for admins from 150 seconds to 2 seconds. 

The difference was night and day. It made profile pages usable again.

The list of quizzes inside LearnDash was another interesting performance challenge. With well over 1,000 quizzes (and thousands of lessons and topics) on a site, just listing the quizzes was a 120 second exercise that adversely affected learners on the site at the same time. Why so slow? Well, LearnDash adds filters to quizzes to make it easy to choose a course (or something else) and only see quizzes under it. But to populate that list of filters, it needs to look up all the associations between quizzes, courses, lessons and topics—which takes a long time on a big site.

This was a case where we really gave up convenience for performance. We didn’t care about only showing objects with quizzes in the filters. So instead we just loaded all courses, then on course selection in a filter we showed all lessons and topics. If the administrator filtered and there were quizzes, great. And if not, we just showed a message that there were no quizzes. That change took loading the quiz listing from 120 seconds to 2 seconds. It was well worth the slight inconvenience.

LearnDash Quiz Performance

Next we looked at quiz submission performance. On sites with a lot of content, saving quiz answers that include essay questions can be extremely slow—in the case of a site with 120,000 rows in the wp_posts table, it was taking 35 seconds to save quizzes with essay questions. Obviously that was trying learner patience and slowing down the site. To address this one we took a shortcut, and instead of looking for a matching post title or name to avoid duplicates when saving an essay answer, we skipped the check and just forced a unique post name.

That new approach took quiz saving time from 35 seconds to 3 seconds.

As you can see from our results, it is possible to significantly increase LearnDash performance on big sites. What’s especially nice is that LearnDash allows us to make 2 out of the 3 overrides above without changes to LearnDash code (and we’re hoping the third can be handled outside of LearnDash in a future LearnDash release if additional filters are added). This means it’s easy to bundle our performance improvements into a portable plugin and the optimizations will survive updates.

Another factor that did help us really push LearnDash performance on these sites was assistance from Pressidium, who are hosting the sites. They went out of their way to help us look at opportunities for performance enhancements and they applied some database changes to their environment to improve performance further.

Are you trying to improve LearnDash performance on a big site? We can help.

Where to Find LearnDash Training, Tutorials and Documentation

Building a robust and polished LearnDash site can be quite difficult. We’ve been doing it for over 4 years now and we’re still discovering new and better ways to build sites. We definitely have an edge with a team of skilled developers and LearnDash experts at our disposal, but we’re all too aware of some of the challenges faced by for new WordPress users and even experienced developers.

This article came about because we still get countless inquiries from people who recognize that LearnDash is a powerful tool that can probably help them—but that’s really as much as they know. They don’t know how to get started and don’t know where to turn to find more information, guidance, and support. We unfortunately find, time and again, that people simply aren’t aware of some of the great LearnDash resources (including tutorials, screencasts and documentation) that are available. We’re hoping that this article saves those users some confusion and frustration.

Start with the Source

The LearnDash Support Site is an invaluable resource that not all LearnDash users seem to know about. If you haven’t bought a license yet, you might not even know it exists! It’s easily as valuable as the plugin itself though. There are countless screencasts, Knowledge Base articles, FAQs, and more. Perhaps the most valuable tools are the forums (which are very active and full of useful information to solve common LearnDash problems and share best practices) and access to the LearnDash support team, who we routinely see go out of their way to help LearnDash customers.

Go to the Experts

Outside of the LearnDash support site there are still lots of great resources. On YouTube there are hundreds of videos from many different authors (including ours; our popular How to Make a LearnDash Site video has helped thousands of LearnDash users). Agencies and developers that work with LearnDash often have great tutorials and articles covering best practices (the LearnDash blog, this blog, WisdmLabs, and others are examples), though it can sometimes be difficult to find the right articles among so much information. Google can be your friend to narrow things down to specific subjects.

The LearnDash Facebook group is very active and has hundreds of members ready to jump in and provide advice on everything from the basics to complex code solutions. You’ll even find some of the Uncanny Owl team on there!

There is also our introductory LearnDash course for our Uncanny LP hosted LearnDash platform. Although it is targeted at a modified WordPress platform, it does still cover all of the WordPress and LearnDash basics someone would need to get started—it just demonstrates everything with a streamlined interface that could be confusing if you’re not using LP. It is free and anyone is welcome to use it, or you can skip the course and jump right into the hours of useful LearnDash useful LearnDash screencasts.

LearnDash can seem overwhelming at first, but there really are many helpful resources available and a large community of users eager to help.

If you have other sources of useful LearnDash training and documentation, add them to the comments below!

How to Choose a LearnDash Developer

As LearnDash developers with some visibility in the WordPress LMS community, we get a lot of requests to fix bad projects. It’s so easy for things to go wrong, and selecting the wrong partner can often mean the project is doomed before you even start. In this post we’ll explore the most important things to consider when choosing a developer for any WordPress elearning project. Our expertise is in LearnDash, but all of this applies equally to LifterLMS, Sensei, and any other WordPress LMS plugin that you’re building your platform around.

This post isn’t about selling our services; we’re already at capacity and have unfortunately had to stop accepting new clients several times recently. What we want to do with this blog post is raise awareness so that when you are looking for a partner to help build your LearnDash site you better understand how to choose an organization that is competent and will be able to deliver a robust platform that meets your needs.

If you’re starting out on your first LearnDash development project, here are some things to consider as you look for a partner:

Start with a conversation. We really find that emails don’t work well enough to ensure all parties are on the same page and to ask questions easily. It’s great if you can come to that conversation with clear goals and questions. The vendor should have questions too. Relationships are absolutely critical to successful projects and this is where they start. Take notes and be thorough. If you’re comparing vendors, make sure you have a consistent way to assess them and document everything immediately after the conversation. Also be prepared for several conversations; it’s rare that initial discovery and planning can be completed in a single session, unless it’s a very small project.

learndash discussion

Ask if you can see some of the company’s other projects. Do keep in mind that for LearnDash projects most of the development work tends to be behind registration or a paywall, so the access developers can provide is limited. Again, this is where a call (or preferably web conference) can be very helpful, as on a call the developers can actually sign into sites and show how things are set up or created. Experienced LearnDash experts should have easy access to a variety of representative samples. Ask for some walkthroughs and get more information about what specifically the developers did. Give consideration to what works and what doesn’t, and how similar previous projects might be to your own. Experience is extremely important when setting up intuitive, effective elearning platforms with WordPress.

learndash testimonialsCheck out community feedback. This can be really hard to find in the LearnDash space, but it’s still important to make an effort and solicit experiences about working with the vendor. Maybe there’s feedback on social media, plugin reviews for things they may have developed, the LearnDash support forums, even reaching out to previous customers. Also look for negative feedback, which can often be more telling than positive comments.

Don’t just look locally. There are very few WordPress agencies and developers that have a significant amount of LearnDash experience. We’ve seen a lot of projects where businesses chose someone they know who’s done other work for them (LearnDash is just one plugin, right?) but couldn’t transition to considerations like the signed-in experience, student workflow, making things work together, etc. To get the best partner, expand your search range, potentially even to other countries. We’re in Toronto but we have many clients in Australia; it’s not as hard as you might think to make projects like that work.

Get to know who you’ll be working with. Without question, the #1 reason we’ve taken over several projects from experienced LearnDash developers hasn’t been bad code quality or poor implementation—it’s been a communication breakdown. Communication issues are painfully common with these projects and site owners come to us because they have a site they don’t know how to use, isn’t what they expected or they’re tired of saying the same thing over and over.  Whoever is setting up your site is someone you’ll be working with for over at least several weeks, perhaps even several years. There has to be a rapport. There must be trust. And it has to be really easy to communicate and make sure everyone is always working towards the same goals and scope. You don’t want to be talking to 5 different people and for discussions to only happen by email with week-long gaps between them.

Try to assess technical competence and workflow. While communication issues abound, there are still a lot of developers out there that simply bite off more than they can handle with LearnDash and don’t really know what they’re doing. They might be great people that really want to help, but that doesn’t mean they should be building LearnDash sites. Just last month we took on a site where the developers had made changes to LearnDash core and even WordPress core—and that should never, ever happen.  The client, of course, wondered if it was normal for everything to break and have to be fixed on updates (it’s not). So ask LearnDash partners how they work and look out for red flags. How do they implement changes? How do they test updates? How do they work collaboratively? Who’s responsible for testing and validation? How does a project actually come together? If they have public plugins, what are the reviews like and what issues are people having? We have also seen individuals take on projects that were just too big for one person and then, when they’re overwhelmed, they’ve walked away. Try to get a sense of whether or not the developer or development team has the right skill set and/or the right people in place to handle everything that’s needed.

Ask about training and maintenance. Building a LearnDash site means a lot more than setting up a site and installing some random plugins—yet we see that happen a lot. Your goal also shouldn’t just be to have a site that seems functional at the end; it should be to have a LearnDash site that you understand how to use and leverage to improve your business. When we’re investigating a new site, we almost always have a conversation that goes like this: “Do you know why this is set up this way?” “No.” “Do you have any documentation that might explain it?” “No.” “Is there any way you could find out?” “No.” As a site owner, we understand how scary it can be for you when we ask those questions and you realize you don’t really understand your site. From the beginning you need to make every effort to ensure you’re working with a partner that won’t leave you in that situation. Training and communication throughout a project are absolutely essential. We average creating maybe 4 screencasts per project so that clients always have a point of reference for how things work and why. Find out what your partner’s process is to make sure you’ll be left in a place where you’re comfortable. Also confirm what’s typically required following projects in terms of maintenance and who will be taking care of that. For most projects we are able to hand things off in a way that clients can safely make updates themselves and we’re only needed for answering questions on an ongoing basis—not to keep things up and running.

Don’t be driven just by price. You will inevitably get what you pay for. We’ve taken on a few projects that we scoped out months or even years previously; the business decided to go with a different vendor that was a lot less expensive, and then they came back to us to fix them, often at a higher price than they would have paid if we’d just done the project originally. Budget is a huge consideration, of course, but it should be carefully balanced against other factors like the competence of the developer, your relationship with them, the developer’s experience in similar projects, etc.

Understand exactly what will happen during the project. If you start a project, then leave it in the developer’s hands for 2 months and suddenly get an email at the end saying it’s all done, you’re going to end up with a bad site. Take some time to understand what’s going to happen during the project and how collaboration will work. What do you need to provide? What are your responsibilities and what are the developer’s? What are the milestones? To meet the timelines, how do reviews work and how quickly do things need to be turned around from both parties? Are there any dependencies or bigger risks that everyone should be aware of? How will you and the developers keep each other updated and make sure things are progressing as expected?

The tips above should go a long way in helping you select and retain a vendor that’s the right fit for your LearnDash project. Sometimes, however, it’s still not enough, and due to unforeseen circumstances projects can still go off track. While this is just a quick list, here are some things you should be doing during the project to encourage positive outcomes:

Be involved. Some of our worst projects (and yes, we’ve had a few that disappointed both parties) were when clients just dropped communication. They got too busy or had other priorities, or just stopped caring about the site. We’ve had projects delayed 6-12 months because of client delays, and when that happens it inevitably leads to bad outcomes. Objectives get lost, people stop caring as much, the results just aren’t there. The best projects are when everyone is on the same page and working collaboratively at the same time. We’re adding features and testing while the client is adding content and providing feedback. We’re having discussions to address scope creep or new problems. Being active and engaged is one of the best ways to see good results.

Test continuously. Very recently we took over a project where testing on the site by the client didn’t begin until the day before launch. The site was extremely complex and, of course, everything was broken. That’s when the developer realized they were in over their heads and the client realized they were in an unimaginable amount of trouble. It’s an avoidable situation though. With WordPress LMS sites it’s not like everything is suddenly ready one day; pieces will be finished throughout the project that can be tested independently. Be involved and testing often not only helps identify issues early but it’s a chance to understand your site better and work collaboratively.

Maintain a good relationship. Yes, even if your developer is doing a terrible job and you’re miserable, try not to throw the entire relationship away if you’re in the middle of development. We’ve seen angry developers lock companies out of their sites. Like it or not, and the legal side can be messy when you’re working with partners in other states or countries, your developer can make things very difficult for you if they host and/or have admin access to your WordPress site. If you need to sever a relationship with a WordPress developer try to gain control of the site before things sour too much.

The goal of your LearnDash development project is to always end up with win/win situations for you and your developer. They are possible, and by following some of the guidance in this article we hope you’re able to partner with a great LearnDash development team for your WordPress LMS project.

To Quiz or Not to Quiz?

Having gone through years of schooling, most of us are used to taking and passing tests during or at the end of our learning process. Some of these tests are major milestones and others may determine whether our learning is deemed ‘completed’ or ‘successful’. Some teachers may find constructing and administering tests more straight forward than developing other types of assessment. Often these tests get created at the end of a course development process, driven by the subject matter rather than by expected performance outcomes.

For workplace learning or soft skills training in which application is more important than memorizing facts, tests may not be the most appropriate assessment method. Most test questions are not designed to allow students to engage in critical thinking and reflection or a deeper analysis of the learning material.

There are alternatives to tests, such as writing assignments, collaborative projects, and case studies, that can avoid the problems often associated with tests and quizzes. The key is to design authentic assessments that simulate real-life situations so students can actually learn from the process (Palloff & Pratt, 2013)1. Although group projects can be harder to manage online, they allow your learners to create and be part of a community of practice. After all, if the application of skills doesn’t occur in isolation, why should learning of such skills take place in a vacuum?

There are, of course, benefits to tests. Here are some of the occasions when tests are not only appropriate but good strategies to enhance learning:

  • Use pre-tests to introduce new material: A quiz, when used as a pre-test, can provide your learners with a preview of what they are about to learn. The intention of the test is to get your learners to realize what they don’t know and make them want to know more. These questions can also help students focus on the most important knowledge and skills addressed by your course.
  • Use post-tests to reinforce main points and check understanding: After a lesson is concluded, consider using a self-assessment to review the material covered. A well designed post-test provides learners with personalized feedback tied to what they just completed. It helps them self-evaluate whether they have a good grasp of the material. These frequent, low-stakes assessments can also help students gain proficiency before they attempt the final assessment2.
  • Use formal tests to validate competency: At a logical break point, use a formal test to help learners synthesize their learning. Align test questions to the learning objectives. As much as possible, include application questions (e.g., case scenarios) in this type of tests to help learners apply what they learned in simulated situations.

To quiz or not to quiz? Perhaps there isn’t a straight-forward answer, but ask yourself what the intended learning outcome is before you make it the primary choice for assessment.

Palloff, R. M., & Pratt, K. (2013). Lessons from the virtual classroom: The realities of online teaching (2nd ed.). San Francisco: Jossey-Bass.

Weise, M. R., & Christensen, C. M. (2014). Hired education: Mastery, modularization, and the workforce revolution. Redwood City, CA: Clayton Christensen Institute.

Introducing the Uncanny LearnDash Toolkit Pro Modules

Earlier this year we released our first public plugin to the WordPress Repository. The Uncanny LearnDash Toolkit has developed a huge following since its release, with over 1,000 active installs and over 4,000 downloads, and we wanted to take that foundation and add a number of new capabilities that would help LearnDash site owners really take their learner experience to the next level.

The Pro set of modules for the Uncanny LearnDash Toolkit is our first paid plugin and represents the culmination of hundreds of hours of internal development time. The new modules are considerably more complex than what’s in the current plugin, but they’re also very powerful and fundamentally change what’s possible with LearnDash sites.

Here are the modules included in the initial release of the Pro plugin (usage instructions are left to our Knowledge Base articles in the links because of module complexity):

Autocomplete Lessons and Topics: As simple as it sounds, this module marks lessons and topics as completed when the page is visited so learners no longer have to click Mark Complete on lessons and topics.

Simple Course Timer: Adds time tracking to LearnDash courses. Both total course time (across course, lesson, topic and quiz post types) and course completion time are recorded as learners complete learning activities. Results are added to LearnDash reports and can be displayed to users via shortcodes.

LearnDash Group Expiration: Expire course access for LearnDash Groups by calendar date. On a specific date, all courses can be removed from a LearnDash Group (revoking access for associated users), making it easier to sell courses to organizations and remove access automatically.

Enhanced Course Grid: This module provides an alternative way to display courses in a grid-based system that’s particularly useful to signed-in users. It’s extremely flexible.

Course Dashboard: We took the basics of the ld_profile shortcode but modified the design (and content) to fit seamlessly into typical landing pages for learners.

Learner Transcript: This report shortcode generates a printable view of user progress across all LearnDash courses. It’s a better way for learners to share their accomplishments offline and with other parties.

Duplicate Pages and Posts: A simple module that clones LearnDash post types, but with proper support for quizzes and quiz questions. With this module you can skip the export/import quiz steps normally recommended.

Days Until Course Expiry: Show learners the number of days until access expires (rather than the calendar date available with LearnDash).

Drip Lessons by LearnDash Group: Set specific drip dates for every LearnDash group instead of every group being bound to the same dates.

LearnDash Table Colors: Adds a simple way to restyle LearnDash course, lesson, quiz and dashboard tables by changing the colors of the header background and text.

LearnDash Group Registration: Adds a front-end registration function for adding users to both WordPress and LearnDash Groups at the same time. It even supports users switching groups or adding additional groups to a user from the front end. Gravity Forms or Theme My Login are recommended for this module but not required.

The Pro plugin requires PHP 5.3 or higher, LearnDash 2.1 or higher, and the Uncanny LearnDash Toolkit version 1.3 or higher. These 3 things are really important, so please make sure your site is updated before you purchase and install the Pro modules!

Some of the new modules are reasonably complex, and it’s very important that you read the Knowledge Base articles and watch the screencasts before you start using the plugin. If you do run into any problems or questions, send us a note!

We hope you like the new Pro modules and that they help to improve your LearnDash sites!


Who Reads Learning Outcomes?

If you do a search online, you’ll find plenty of resources on how to write good learning outcomes, and how not to confuse learning outcomes with learning objectives. “Outcomes” or “objectives”, the reality is your learners seldom pay attention to them. They skip this screen. They fast forward. So for whom are learning outcomes really written?

Don’t get me wrong. Learning outcomes are written for the learners. But they seem to be there as a reminder to the instructor and instructional designer of what the focus of the training should be, like how PowerPoint is often misused as the presenter’s teleprompter.

So should you skip learning outcomes all together? Not at all. There are ways you can state learning outcomes that are informative and actually get your learners’ attention. Here are some strategies.

1. Pose learning outcomes as questions

Rather than telling your learners what they should be able to do at the end of the lesson, consider asking them a series of open-ended questions for which they don’t yet have answers until they complete the lesson. These questions are intended to raise the learners’ curiosity and get them to want to learn more.

2. Use a pre-test to frame learning outcomes

An alternative to the first strategy is using a pre-test. The test should be short and fun. In fact, it should not look like a test. As with the first strategy, the intention of the test is to get your learners to realize what they don’t know from the cues to the key points of your lesson.

WordPress Tip: If you’re not grading pre-tests to support Level 2 evaluation, LearnDash and other LMS quizzes can be heavy for this type of pre-test. Consider an H5P element or simple text questions instead.

3. Use a case scenario to model learning outcomes

Learning outcomes are meant to describe desired behaviour. So, why not present a case scenario that models the intended outcomes? The learners get to see what they will be able to do at the end of the lesson. Have them buy into what they can achieve will increase their motivation to learn.

4. Use a short introductory video to tell a story

Contrary to the previous strategy, a story that makes personal connections will warm up the learner. On the other hand, a story that describes a problem causes tension; it will make the learner want to resolve it. Either way, your introduction will engage the learner and make the content more relatable.

Learning outcomes don’t have to be boring. If you take care of the presentation of your learning outcomes, your learners will be less inclined to skip them.

7 Principles of Good Feedback in eLearning

elearning-feedbackEvery  teacher knows that it’s important to provide students with regular feedback during their learning process. Without feedback, your learners simply don’t know how well they are doing. In self-paced online learning, how do you gauge the learners’ progress when there is no instructor to provide feedback and guide their learning?

Nicol and Macfarlane‐Dick (2006)1 identified seven principles of good feedback practice. In this post, we’ll discuss how you can incorporate feedback—in particular, how to apply these principles—in self-paced online learning.

  1. Good feedback helps clarify what good performance is

    What’s been done: An approach that has proved particularly effective in clarifying performance goals and standards is to model exemplary performance. Without concrete, worked examples, concepts are just abstract ideas. In self-paced online learning, this can be achieved with case studies in which learners can identify good performance in the presented scenario.
    What you can do: When designing a case scenario, consider breaking it into multiple parts. After presenting a case, ask the learner what they would do in that scenario—this could be done with a multiple-choice question with possible reactions. Reveal the answer only after the learner has given it some thought. Your answer will be more meaningful if they interact with the material first.
    WordPress Tips: Quiz tools in LearnDash and other LMS plugins can be disruptive to learning for short reflective assessments; try an H5P module instead, which can be embedded directly into the lesson page.

  1. Good feedback facilitates the development of self-reflection in learning

    What’s been done: Provide opportunities for learners to ask “where am I now?” In self-paced online learning, this is especially important if your course is broken down into many lessons, and the learner has the option to take them in any order.
    What you can do: At the end of each lesson, consider providing the learner with a concept map showing them where they are in the course. If possible, tie it with the lessons that the learner has completed to show connections. This gives them an opportunity to do a self-check before they move on to a new lesson.

  1. Good feedback delivers high quality information to students about their learning

    What’s been done: Good feedback is personalized, specific to the individual learners. This can be done with a self-assessment, which may include multiple-choice, true/false, or short-answer questions with feedback tied to the lesson or topic that the learner just completed. This helps the learner self-evaluate whether they have a good grasp of the material.
    What you can do: Consider including customized feedback that helps the learner adjust their learning. For example, you may suggest that they review the lesson (or certain sections of it) if they answer most of the self-assessment questions wrong. You may provide more feedback if a key question that is directly linked to a performance goal is answered incorrectly.
    WordPress Tips: Conditional feedback can be difficult in WordPress, but most quiz tools support feedback or graduation text that can be used to provide insight and recommendations based on learner answers (or use something that supports conditional feedback, like Gravity Forms). For personalized feedback, we like using the shortcode on LearnDash platforms to address the learner by name wherever possible.

  1. Good feedback encourages teacher and peer dialogue around learning

    What’s been done: One way of increasing the likelihood that your feedback will be taken in by the learners is to frame it more as dialogue rather than as instruction. This can be done with a few follow-up questions at the end of a lesson that ask the learner how they might apply what they learned in a context that’s directly relevant to them.
    What you can do: In self-paced online learning, if there is a blog or forum associated with your course, consider encouraging the learner to discuss your follow-up questions with their peers. This can be very effective when the feedback is highly contextual. Using feedback to generate discussions also encourages communities of practice in which learners who share common interests can learn from and support one another.
    WordPress Tips: bbPress is a great way to incorporate a simple forum and you can link to specific threads inside LearnDash lessons and topics. Be aware that taking users to a forum removes them from the course context, so make sure it’s easy for users to navigate back to where they were (like with the Resume button in our Toolkit, or easy access to a dashboard page).

  1. Good feedback increases students’ motivation to learn

    What’s been done: As mentioned above, feedback can be embedded in a series of “check your understanding” review questions. The bite-size evaluation allows your learners to grasp concepts in smaller, manageable chunks, leveraging each step of their learning as building blocks.
    What you can do: “Drop-out” caused by low motivation is often considered the biggest challenge in online learning. Bite-size learning with self-assessment allows your learner to celebrate their progress. Success breeds success—the gradual approach helps to build up the learner’s confidence and increase their motivation to learn. You may also consider using badges to reward the learner’s milestone achievements.
    WordPress Tips: For next-level automated engagement, one intervention we really like is hooking LearnDash activities into Active Campaign, a powerful but inexpensive Marketing Automation tool. It’s not just for marketing—it’s a very effective way of keeping learners engaged by sending communications based on their learning activities. (At the time of writing, our Active Campaign integration for LearnDash isn’t available to the public but can be added to client sites.)

  1. Good feedback provides opportunities to close the gap between current and desired performance

    What’s been done: The end goal of providing feedback is to help learners achieve mastery and improve performance. Self-assessment at the end of a lesson can mimic the same ‘task-feedback-performance’ cycle.
    What you can do: Your feedback should help the learner recognize the next steps in learning and how to take them. It can also show how the gap between their current and desired performance is shortened each step of the way.

  1. Good feedback provides information to teachers that can be used to help shape teaching

    What’s been done: Self-assessment is often not evaluated. However, there is significant learning data that can be extracted from these assessments to guide the student’s learning path. Their learning becomes more relevant and meaningful which, in turn, will further increase their motivation to learn.
    What you can do: Take advantage of the user progress reports that your LMS generates to better understand where your learners are. The data can help you assess the average performance of the class, and identify who may need more attention. It can also help you make improvements to your course that will benefit future learners.
    WordPress Tips: We know that progress over time can be difficult to track with WordPress LMS plugins. Running reports at defined periods and then comparing them can help; report customization is also an option.

In self-paced online learning, students are already assessing their own work and generating their own feedback. Well-designed feedback creates individualized learning experience that will result in more satisfied learners.

Nicol, D. J., & Macfarlane-Dick, D. (2006). Formative assessment and self‐regulated learning: A model and seven principles of good feedback practice. Studies in Higher Education, 31(2), 199-218.