How to Measure What Your Students Are Actually Learning

PressPrimer brings robust quizzing and assignment grading to WordPress. Two plugins suites, grounded in learning science, with enterprise-grade features.


How to Measure What Your Students Are Actually Learning in WordPress

In this webinar, Ryan Moore of PressPrimer shows WordPress educators how to measure what students actually learn, not just what they finish. He walks through quiz analytics, question quality reports, pre-test and post-test comparison, rubric-based assignment grading, exam integrity tools, and certificates, and he shows how the PressPrimer plugins run alongside LifterLMS courses, lessons, and quizzes.

What You’ll Learn

  • Why completion rates and raw scores do not tell you whether a course is working
  • How to set a baseline with a pre-test and prove improvement with a post-test
  • How to spot quiz questions that are too hard, too easy, or badly written
  • How rubrics and performance levels make subjective assignment grading consistent
  • Where AI genuinely helps with assessment and where it should stay out of the way

Key Takeaways

  • Map a pre-test to a final exam drawing from the same question pool, then report the score change as evidence the course works
  • Build question banks first, then generate quizzes dynamically by category, tag, and difficulty instead of hand-picking questions
  • Run the question quality report and rewrite any question nearly everyone passes or nearly everyone fails
  • Publish your rubric to students before they submit so they know how the score breaks down
  • Start with the three free PressPrimer plugins on WordPress.org before deciding which paid tier you need

Frequently Asked Questions

Can I randomize a 100-question final exam drawn from a pool of 150 questions?

Yes. PressPrimer randomizes quiz question order, answer option order, and how many questions each student sees from a bank. With a large enough pool, students see meaningfully different tests. Ryan notes that sample size matters for drawing valid conclusions from the data, and the plugin surfaces tooltips recommending the sample sizes you need for each report.

What is a question bank and why do I need one?

A question bank is a container that holds many questions on a topic, potentially thousands. Instead of assigning individual questions to a quiz, you write rules that pull questions dynamically from banks by category, tag, and difficulty level. That is what makes randomization and repeat testing possible, so banks are the foundation everything else in the quiz system builds on.

What is a distractor?

A distractor is an incorrect answer on a quiz question. Its job is to draw a student away from the correct answer. Ryan points out that instructors usually find the correct answers easy to write and the plausible wrong answers hard, so PressPrimer includes an AI tool that generates additional distractors for a question when you need them.

What does proctoring mean here?

Proctoring is oversight of a student while they take an exam. In person it is an invigilator watching the room, and in full virtual proctoring a person signs the student in, stays connected by webcam, and asks them to show the room. PressPrimer offers assisted proctoring, which uses the browser to monitor behavior such as tab switching rather than a live human observer.

Does PressPrimer support math notation?

Yes, through LaTeX. Turn on math notation under the general settings page first, because the library only loads when you enable it. Once it is on, quiz questions and answers show an insert math icon where you enter formulas in LaTeX format. The library ships inside the plugin and renders locally, so your content is not sent anywhere else for formatting.

Is AI question generation included, or do I bring my own API key?

The free PressPrimer Quiz plugin includes AI question and distractor generation, and you supply your own API key. You choose the provider and the model on the integrations settings screen, and throttling is built in so you do not hit unexpected costs. The more advanced AI tools, including AI-assisted assignment grading feedback, are in the premium versions.

Can I import the quizzes I already have in LifterLMS?

Yes. Under settings, PressPrimer detects which supported LMS plugins are active. The import quizzes tab then lists your existing LifterLMS quizzes and shows you which question types are importable and which are not supported before you run the import. Questions come across as fixed questions with whatever settings could be carried over.

Do I have to replace my LifterLMS quizzes?

No, and Ryan recommends running both. Use PressPrimer quizzes where you need measurement, such as pre-test and post-test pairs or anything requiring analytics. Use LifterLMS quizzes for reflective checks and knowledge reinforcement inside lessons, especially where you want question types PressPrimer does not offer, since it deliberately supports only three types to keep its analysis consistent.

Full Webinar Transcript

Welcome and Why Assessment Is Worth an Hour

Chris Badgett: Hello and welcome to another complimentary webinar. I’m Chris Badgett from LifterLMS. I’ve got Ryan Moore from PressPrimer. This is gonna be an interactive session. So feel free to drop comments, ask questions wherever you’re watching this.

Ryan is the founder of PressPrimer and previously founded the Uncanny suite of tools. He’s been in the e-learning space for a long time. We’re going to dig into PressPrimer and how to use it for assessments across quizzes, assignments. He’s got some new certificate stuff. It’s very cool for the e-learning entrepreneur.

If you haven’t heard of PressPrimer, you can pull that up right now. That’s at pressprimer.com. Also keep in mind that there are free versions on the WordPress repository as well. You can find all that through Ryan’s website at pressprimer.com.

We’re going to dive deep on assessment tools for WordPress educators today. Ryan’s an awesome entrepreneur, technologist, and has been in the e-learning space for a long time. Welcome to the webinar, Ryan. I’m going to hand it over to you. Let’s get it started. Tell us where PressPrimer came from, what it is, and let’s see it in action.

From Uncanny Owl to PressPrimer

Ryan Moore: Sure, sounds good. Welcome everyone, thanks Chris for having me on. So just to extend Chris’s introduction, I’ve been in WordPress e-learning since when I co-founded Uncanny Owl with my partner Ken. So we built a lot of add-ons for LearnDash particularly, but also I did a lot in the automation space with Uncanny Automator.

So I left Uncanny about a year ago, and since then I’ve been focused on PressPrimer. And really what I’m trying to tackle there is how to better handle assessing students with WordPress. So building tools that allow deeper insight into how students are performing, how they learn, how to improve their performance as a result of going through courses inside WordPress.

Three Plugins for Knowledge, Skills, and Proof

Ryan Moore: So in the last year, basically, I’ve been releasing a series of plugins that help in that space. So helping to measure knowledge through quizzes, looking at skills development through assessment, and also how do we then prove and demonstrate the learning through certification. So that’s kind of what we’re looking at right now.

And if anyone has comments at any time, I’ll try to keep an eye on the comments and answer any questions you have. So in this session, I know we’re mostly focused on how do you measure student performance and what they’re actually learning in a course. So I’ll talk through kind of what we offer, maybe how it’s different than LifterLMS and why you might want to use both tools.

Chris Badgett: Yeah, let’s dive in and take a look. And for those of you watching, PressPrimer’s in the chat so you can check that out, the website as well. But yeah, take us to school, Ryan. Let me pull up your screen if you’re ready.

What Most WordPress Educators Measure Today

Ryan Moore: Yeah, yeah, go ahead. And just, if anyone can’t read anything or you need more details, just add the comment and I’ll try to improve that.

So let’s start off with quizzes first. And for most educators, what they’re doing in WordPress in terms of measuring learning is looking at what students have done. So maybe what lessons they’ve completed, what courses they’ve completed, scores they’ve earned, and that’s kind of it. But they don’t really look beyond that at whether the course is working and effective, how to improve the assessment, whether students are actually demonstrating performance improvements after the course and things like that.

A Look at Native LifterLMS Quiz Reporting

Ryan Moore: So I’ll give you an example. Let’s say with this, because this is common with a lot of WordPress LMS plugins, I’ll go into LifterLMS and let’s take a look at the reporting. And there is really solid reporting. So if you’re interested in looking at student performance, then you’d go in here and you can see how a student is progressing in the course, what they’ve completed, their scores, things like that.

So if I went into a quiz, for example, I can see that this particular quiz has been attempted five times. And I can drill down into it and get good data about who’s done what, when, pass/fail results, things like that. And I can go even further and I can get a detailed breakdown of this student’s performance for a quiz, which is very useful. So you can measure their performance from the quiz in this course.

Going Deeper Than Completions and Scores

Ryan Moore: What we do, just an example, is we go deeper into the reporting side of things. So in our quiz system, for example, here are some of the reports that are available. So it’s not just about completions or scores, we’re looking at other things that go into the quiz.

So let’s say just at the quiz level, we wanna look at detailed analysis of that quiz and how students are performing in it. So I’m gonna open that up. Let me choose just one example.

Quiz Analysis, Score Distribution, and Category Performance

Ryan Moore: And it’s going to show me some high level stats at a glance. So things like average score, pass rate. This is a lot of data that you find in LifterLMS and other quiz plugins, but then we’re going down further.

Like, okay, what’s the distribution of scores? How many people are passing and failing within the quiz? We can have questions in different banks and categories. So how are people performing in those categories? And we can go down deeper and see what’s working and what’s not in those categories. And for students too, we can see how they’re progressing through a mastery process.

Spotting Questions That Are Too Hard or Too Easy

Ryan Moore: If we want to know, are the quizzes working? Are some questions too hard or too easy? Should we adjust how we’re writing that? Again, so that we can properly measure learning in a course.

We can look at this like maybe this is too hard because only 5% of people are scoring that question correctly. Maybe some questions are too easy. So if something’s too hard or too easy and nobody’s getting it or everyone’s getting it, then maybe it’s not doing a good job of actually assessing someone’s learning because it’s not testing them properly. It’s too hard or too easy.

So we can look at things like that, if people are taking too long on a question. Maybe again, they’re struggling. There’s something going on with that that someone should investigate. So we can take a look at that performance over time too. Are we seeing changes in trends? So even at that level, we’re looking a lot deeper at the quiz analytics just to get a better idea of what’s working and what’s not, how we can make better our students’ learning.

Setting a Baseline With a Pre-Test and Post-Test

Ryan Moore: So that’s one example. And then I want to go into how we demonstrate learning in a course. So again, if you’re starting a course, how do you set a baseline of a student’s knowledge? How do you know what they know going into a course? And then how do you know if they’ve improved performance or learned something as a result of completing that course?

So then we can look at something like pre-post analysis. So you can have a pretest and a post test and they could potentially draw from the same pool of questions so that it’s an effective way of measuring learning through the course. And again, it can be randomized by students so that it is neutral and reflective of the actual learning in the course.

Ryan Moore: So in this case, I’ve gone ahead and I’ve mapped a pretest to a post test. So if I look at the pretest performance to the final exam, then I can take a look here and I can say, okay, 13 people have completed both. What was the average pre-test score? What was the average post-test score? So how have they then been measured to change their performance as a result of completing this LifterLMS course?

Reading Score Change by Category and by Student

Ryan Moore: So we can show that and we can see it by category too. Here’s how performance has changed through the course. And then for individual students, we can take a look and see, okay, here’s how individual performance has changed. So this person started off with a 70%. At the end of the course, they scored 85%. So it suggests that the course has improved their performance. So that’s another example of how we’re looking at measuring student performance through a course.

Comparing Repeat Attempts Year Over Year

Ryan Moore: Another thing that we can do is comparing attempts. So there are some programs where maybe people are doing a test every year and going through a compliance program and you want to see, well, if they’ve been doing this year after year after year, has their performance improved? How has it changed year to year?

So you can look at the attempt. So I don’t have any set up, but if there had been multiple attempts, here’s one. So I could say, okay, for the people who’ve completed it multiple times, how do we track progress over time? So you can do that kind of thing and see again, well, they’ve improved or it stayed the same or this is what’s happened. So we can see that individual scores have changed. This person maybe needs some remedial assistance, so we can jump in there and see why has this changed over time.

Randomizing a Final Exam From a Larger Pool

Chris Badgett: So we’ve got a question, Ryan, if you don’t mind me bringing it up. I’ll put it on the screen and read it to you too, just to give you a sec. So, I have a final exam of 100 questions, but I have about 150 questions to draw from. Can we randomize it enough in which students can sufficiently look like they have a completely different test and it measures that?

Ryan Moore: Yeah. So large sample sizes are pretty important to draw meaningful, complete conclusions. In the plugin too, you’ll see in a lot of spots, there are tooltips just to explain, because I know some of the data might not be clear. So it’ll give recommendations around sample size and what you need there. And yes, there’s a lot that you can randomize.

Randomizing Question Order, Options, and Distractors

Ryan Moore: I’m just gonna show a quick example too, because this is useful. A recent addition was being able to both randomize, because you can do a lot around randomization of quiz order, the quiz question order, the option order, and then also how many questions people see.

So pulling from a pool and also if you have multiple distractors, let’s say that a multiple choice question had eight distractors, then maybe you only show four at a time again to kind of reduce the likelihood of cheating. We’re going to show the correct answers always, but the distractors would be randomized so that people can’t cheat and the attempts are pretty varied. So there’s a lot of randomization that happens. And yes, if the sample size is big enough, then it would give you data that supports measuring what you need to measure.

What a Question Bank Is

Chris Badgett: Could you do a demo or explanation of how to set up a question bank, what a question bank is, how to think about that?

Ryan Moore: Yeah, those are pretty big, but I’ll walk through it. And again, there is help throughout the plugin to make it a bit easier. So the general concept is that you’re starting with questions and question banks. So a question bank has multiple questions in it.

Why PressPrimer Offers Only Three Question Types

Ryan Moore: Maybe I should just start off with what a question is. So let’s take a look there. So, question, we only offer three question types. A very strong reason for using LifterLMS and the advanced quiz plugins is if you need different question types. We offer a very narrow selection just because we need it in a specific format to do all the analysis that we do. So it’s more for testing and analytics and it’s only the three question types.

Chris Badgett: And just, I want to throw in there too, LifterLMS doesn’t have the multiple answer question type at all. So that’s like an interesting type that we don’t even have.

Categories, Tags, and Difficulty on Every Question

Ryan Moore: Okay. Yeah. So when you’re setting these up, there’s a lot of meta that you can use to describe the questions. So you can assign categories, tags, and then also put questions in banks, right? And the banks allow you to collect potentially hundreds or thousands of questions in particular topic areas.

And the reason these are important when you’re setting up the banks, if I go into a bank now, you can see the questions. This one just has three that I added to it. You can do a lot of generation from source documents. So those are the three questions that are part of the bank. They can be different types, different difficulties, different categories, have different tags, et cetera.

Building Quizzes Dynamically From Rules

Ryan Moore: And where that comes into play then is when you’re building quizzes. With a lot of quiz tools, you’re choosing which questions you want to be in the quiz. And that’s not necessarily what we’re doing. So the traditional way you’d look at quiz generation would be with a fixed list of questions. But what we can do, if you set up the question banks, is we can set up dynamic rules to make sure that there is enough randomization and that you’re testing the right things for your course.

So let’s say I’m just going to add a quick title so I can do that. And then I’ll switch over to the rules tab. So then what I can do is if you set up. Oh, okay. That is a conflict. And I will take a look at that after. Let me just see if I can pull up an example. It’s not staying, so I’ve got an issue and I will take a look at why. Let me just check in a development environment quickly, because I should have been testing that.

Ryan Moore: Okay, I’m just gonna pull up here a rules test. Okay, here we go. So here’s an example where you’re generating what people are shown as questions dynamically based on certain rules.

So you can choose, like I’ve got two rules here saying, okay, pull from this bank. Let’s say it’s, I don’t know, again, these are just examples that I have locally. So I’m using this bank, these categories, these tags, these levels. And then it’s saying pull approximately this number of questions from the bank based on whatever matches this criteria. And it’s gonna show you what matches up there. So it’s not getting anything. I’m just gonna remove some rules. And here you can see, okay, now we’ve got more questions that match.

So instead of assigning individual questions to quizzes, this is a way of pulling them in dynamically and why question banks are so important.

How Big Should a Question Bank Be

Chris Badgett: Are there any general rules of thumb about how big a bank should be? I’m sure it depends, but.

Ryan Moore: Yeah, the intent when I built this too was to make it really suitable for test prep programs, which we’ve worked with in the past when I was at Uncanny, where there would be thousands. So bigger is potentially better. And for that, that’s some of their biggest assets, is their question banks. So they want to make sure that they can handle thousands of questions in a bank. And then the quiz itself would only show a small subset of that.

In Development, Student-Built Practice Quizzes

Ryan Moore: Question banks, though, are really important for organizing the questions, and something that we’re working on, this isn’t in the release version, it’s not public yet, but a big thing that I want to be able to do that we’re working on is giving control to students to kind of build their own repetitive quizzes so that they can say, okay, I want to pull questions with these difficulties, these topics.

And this is like for language learning as an example, where the student wants to keep testing themselves. So they’ve got a big test coming up in a month. They want to prep for it. So they want to see a random set of 20 questions a day for the next month. They want to see ones that they’re struggling with more frequently.

So it’s again, you can set how that’s going to work. This isn’t released or anything, but it’s more what we’re working towards. So it’s not just instructor assessment of students, but also student assessment of themselves and an opportunity to grow and push their performance. So we can do things like this and then measure their mastery over time, so we can see how students are progressing and what they need to work on. And then they have it drilled into them, here’s what I need to practice, here’s my weak area, so that they can continue building.

So that was starting off with dynamic quiz generation, how we build the quizzes, and why you need question banks. So that’s why you need question banks, so that you can build dynamic quizzes for students based on criteria that the administrator or teacher or students themselves define.

The Question Quality Report

Ryan Moore: Just kind of while I’m in that area and talking about question assessments, another report that’s pretty important in looking at, are your quizzes working, are students responding appropriately to the quizzes, is this question quality report, where we can go in and take a look at, okay, for this particular quiz, is it too hard, is it too easy, should we review specific questions.

Some of them are all green. Again, I know this is technical, so for all this stuff it is explained through our tooltips. But you can drill down in and say, okay, for this particular question, too many people are getting it correct, so maybe it should be a bit harder. And then one of the distractors nobody’s ever picking, because maybe it’s too obvious. So maybe you want a distractor in there that seems plausible that some people might then choose. So it’s gonna give you analysis on that kind of thing too, just so you understand what’s working in the quizzes and what’s not working, and is it appropriately measuring the learning in the course.

What a Distractor Is

Chris Badgett: Sorry, can you explain distractor? I’m not familiar with the term.

Ryan Moore: Sorry, sorry. So when you’ve got a quiz question, and you’ve got one or more answers that are correct, the answers that are not correct are distractors. So it’s trying to distract the user away from the correct answer.

So if I give you an example, let me just go into a question. So, this is a correct answer. This is a correct answer. This one here is a distractor.

Generating Distractors With AI

Ryan Moore: And I know a challenge that a lot of instructors have too, is that it’s easy to come up with the correct answers. They know what the correct answers are, but the distractors can be harder to come up with. So one of the tools we offer is, well, if you want more distractors, then let’s generate them with AI.

So I can just click that. If we need more distractors that are plausible, then the AI will look at the question, look at other answers. That one failed. Okay. So normally it would not fail. Let me just go into a different one. And I’ll generate two distractors, but the option is available, and I forget what I set up as the AI before this. But anyway, this can be used then to generate whatever is missing.

That should not fail. So I’m going to still show that example, but let me go into a question bank and just populate it that way. Here I’m just going to generate. We’re going to say they should have at least seven answers. Anyway, the tools are there and I’ll take a look at that issue after the call just to make sure it’s working. But this is how it would work. I’m going to have to check on that because I think there’s an issue with how I set up my API key.

Bring Your Own AI Key and Model

Chris Badgett: Is there, just related to using AI generation, is this something that’s included in the product, or the user here plugs in their own API key to Anthropic or ChatGPT or whatever?

Ryan Moore: Yeah, so the free plugin includes AI question generation, just enter your own key. So if I just go in here then, for the integrations, you can choose who the provider is, and then you can choose which model you want to use as well, just based on what you have access to. So that’s what my API key has access to, and then you can set it up and then there is throttling just so the limits don’t get exceeded and there aren’t surprise costs.

But yeah, so that’s in the free plugin. Some of the other advanced AI tools in the plugins are in the premium versions. For the assignment suite of plugins, it’s all in the premium versions because we’re doing a lot more advanced things that I’ll show you after the quiz assessment side of things.

Protecting Exam Integrity

Ryan Moore: Another thing too, just in terms of assessment and how we’re protecting the integrity and measuring performance, we do want to make sure too that people aren’t cheating potentially. So there are tools like the integrity review, which is measuring things like, are people completing quizzes too quickly or answering questions too quickly? For a quiz where somebody got a lot of answers incorrect, does it match someone else’s? Does it look too similar? Is the timing a little suspect? Are people running concurrent sessions and doing things at the same time?

And then also too, we can enforce things like full screen mode or monitoring tab switching, things like that, that people shouldn’t be doing necessarily in quizzes. And if it is something that people are maybe completing at once and it has to be proctored, then there are some tools available just to preserve the integrity and make sure people are doing what they’re supposed to, so that we make sure that the data is accurate and valid.

Adding PressPrimer Quizzes and Assignments to a LifterLMS Lesson

Chris Badgett: This is super cool.

Ryan Moore: Yep. Okay. I’m going to talk about assessments then. I think I’ll switch over to that because then it gets more interesting in terms of what we can actually measure.

So again, there’s full integration with LifterLMS. So I’m just going to go into a lesson edit page. You can add assignments, you can add quizzes just the way you would with a regular LifterLMS assignment or quiz. And then it would just populate on screen. And I’ve had that open for too long. Okay, so it’s warning me. I’m not going to go into it because this one’s proctored. But anyway, it can show within the context of the LifterLMS lesson.

What Proctoring Means

Chris Badgett: Can you explain the concept of proctoring?

Ryan Moore: Yeah, it’s really just having oversight. So someone having oversight over someone doing a quiz. So making sure that they’re basically being watched in what they’re doing. So we’re monitoring their behavior. In person it would be like a regular exam, you’re sitting at a desk, there’s a teacher there kind of watching you. Or more recently, if it’s virtual proctoring, then there’d be someone who walks you through signing in, stays connected to you. You’re on a webcam. They make you show the room just to make sure that there’s not cheating. So this is more like an assisted proctoring where it’s just doing basic things with the browser to monitor what the user is doing.

The Problem With Grading Assignments Consistently

Ryan Moore: So, assignments. LifterLMS and a lot of plugins do support an assignment system where basically you’re uploading documents, you’re typing things in, and then the instructor can review it, they download it, they review it, and then they’re able to provide a score.

But there are questions like, how do you assess people consistently between attempts? If one instructor or grader is looking at an assignment, how do you make sure that the next grader is doing it consistently? Because it’s pretty subjective. And then two, what are you grading? How do you decide if something’s worth 100? How do you break it down to decide how you get to that score of potentially 100?

Grading With Rubrics and Performance Levels

Ryan Moore: So what we’re doing is we’re using things like rubrics. So basically defining, here’s how the score breakdown works. So you can see this is in the front end. The student can see, okay, for this assignment, policy understanding is worth 25 points. Implications analysis is worth 10 points, et cetera. You can get up to 65 points.

Ryan Moore: And then within rubrics, we can do things with performance levels. So we can basically define, okay, for policy understanding, what does a grade of 25 points look like? What does a grade of 20 points look like?

And so when students submit that, it’s also good for student transparency and helping them understand how to be assessed. They have this context in the front end and they can go through it. And then when they submit it, in this example I’m going to show, we’re using AI-assisted feedback to give the instructor some context first about what the AI thinks. And these are just an input to the grading process.

Grading Inside WordPress Without Downloading Files

Ryan Moore: So if I go into what’s available to be graded and I take a look at this last one, so this is a test I uploaded. So first we’ve got a grading interface where everything sits inside WordPress. So instead of having to download files, you’ve got a viewer here for PDF, for PowerPoint files, Word documents, text documents, kind of whatever people are uploading. And you see it, the assignment submission, right next to everything you need for grading it.

Inline Comments and AI-Assisted Feedback

Ryan Moore: So if an instructor is going through this and they want to add comments, then they can add a comment. And then the student would see it as well, so that there’s a comment here and they can add it inline.

And then when it was submitted, the AI in the background took a look at the assignment, the rubric, so the grading criteria, the performance levels, and then the assignment itself, what was expected, and it can provide feedback. So based on, again, we’re providing performance levels. So this is a performance level. It says, here’s what a student needs to do to earn 25 points. Here’s what they need to do to earn 20 points. And the AI can make recommendations based on that. So you can apply it and then make your updates, anything you want to do here. And then you can send it back to the user if you want.

Plagiarism Checking and Proofreading

Ryan Moore: And there’s a plagiarism checker that runs against third party APIs. There is a proofreading tool. So you can add comments that way just to check things that maybe aren’t the best use of an instructor’s time. And then provide feedback and a score, then return it to the students.

So this stuff is just an input. But again, having the rubrics and the performance levels helps grading become more consistent, and then the student performance more accurate, and also just more transparent to them in terms of how they’ll be graded and what’s expected. So that’s the whole grading system and how assignments work.

Assignment Reporting by Rubric Criteria

Chris Badgett: You’ve been busy, Ryan. This is so cool. As somebody who knows quiz systems a little bit, I see you taking this to a whole new level and it’s amazing.

Ryan Moore: Yeah, so there’s a lot there, trying to make it as helpful as possible. And then we’ve got the reporting tools too to help with the analysis. So again, we want to look at how groups are performing. If we want to see a breakdown of, by individual assignment, how students are doing, how students are doing by each rubric criteria, then we can see all that. So it’s just a different way of looking at it.

And we can see within that, okay, which criteria are people doing well in? Which are they not? So that the instructor can shift their focus and understand what’s needed for the course and what’s working and what’s not.

xAPI Support and the Audit Log

Ryan Moore: A lot of assignment and quiz plugins aren’t doing a lot with xAPI data. So if you are centralizing your learning reporting, then there is support for xAPI output.

Everything gets logged, so that you can see exactly what’s happening in your system in case that’s important. If people are deleting questions, changing questions, there’s a record of all that.

Chris Badgett: So is this like the xAPI data feed?

Ryan Moore: This one’s not, sorry. They’re independent. So xAPI data would all be stored externally, and I don’t have an LRS set up where I could demo that, but it’s collecting all the statements and the actors and the activities, and it’s doing that somewhere else.

This is more a system where it’s just monitoring exactly what’s happening in the quiz system. So if there needed to be an audit, there’d be a record of every change that takes place. Again, not for most users, but just a way to make sure that the system has integrity and we know what’s happening, because it’s all read-only and you can’t get rid of these records. So it’s more of an enterprise feature, but again, how do we ensure that we can trust the system and that people can’t make changes to it, things like that.

LaTeX Math Notation for Technical Quizzes

Chris Badgett: So there’s a question around mathematics.

Ryan Moore: Yeah. So if we’re talking about how to structure math tests, there is support. I think it started in 2.2, maybe, I don’t know, for LaTeX notation.

So you have to turn it on. You can try this in the free plugin if that’s what you’re interested in. Just make sure on the settings page under general, there’s a math notation option, just because it has to load a library. So we only want to load that library if you’re actually using it. And then it would check inside the quizzes to see if there are math notation questions.

But anyway, when you turn that on and then you go into a quiz question, then for the questions and answers, you’ll see this icon for insert math. And then that’s when you can put in your formulas in LaTeX format. And it’s all local, the library ships in the plugin. So it’s not sending it somewhere else and reformatting it.

Using PressPrimer and LifterLMS Quizzes Together

Chris Badgett: There was another question earlier about dropping it in, like maybe show us the front end, how to insert a quiz or assessment, and how does it integrate with LifterLMS. For example, could you use both? Could you use a LifterLMS quiz for one thing, a PressPrimer quiz for another thing, or just go all PressPrimer?

Ryan Moore: Yeah, so generally what I might suggest there is, if you need to measure pre-post test performance, then maybe for those two quiz types you’re using PressPrimer. And then for anything reflective, or just to build knowledge in the course, then you’re using LifterLMS quizzes with the other question types, just to reinforce things in a way that resonates with the student.

Adding a Quiz to a Lesson and Gating Completion

Ryan Moore: So in terms of actual integration, if it was a regular page, we’ve got shortcodes, we’ve got blocks, you just drop them in. I’m going to go into a LifterLMS course though. So I put one of our quizzes in, oh, I forget where I put it now. So let’s start a new example.

So you’re just going to edit a lesson. So you’ve got a course, you’ve got a bunch of lessons within the course. Oh, here, this one has it. You can see we populated it here. So let me show you the process. So you edit the lesson, so it’s going to the post editor and here’s the lesson. And then over here, you just choose, okay, which assignment you want. It’s showing me recent ones right now, or you could search within that. And then I could say, okay, I want this one and we require a passing score to complete the lesson. And then I’ll do that.

And if I view that, then I now have this. So depending on your settings and if you’re an admin or not, it should hide the mark complete button if you’re a student when it is set up to control completion of the lesson.

So anyway, you can go through it, complete the quiz. And then on completion, it would mark the lesson itself as complete. I’m not even sure of these answers now, I’m just going through it quickly. Okay. So I reload, I’ve got all my results, and it showed in LifterLMS that I just completed that, so it triggered the lesson completion by me passing the quiz.

Chris Badgett: Very cool. So that is how that integration works.

The New PressPrimer Certificate Plugin

Chris Badgett: You have a quiz, assignment, and certificate.

Ryan Moore: Yeah. So certificate, it’s just in 1.0. It just got approved on WordPress.org on Monday. So it’s very, very new. The idea with that, this one has probably the most overlap between how certificates work in LifterLMS and how we built them. But again, this is the free release, so it’s pretty basic, but it handles everything from certificate design to linking it to different integrations.

So it integrates with our plugins plus LifterLMS, plus some other LMS plugins. And it handles verification, QR code generation, just a bunch of things around that that are kind of the essentials for a certificate.

Designing a Certificate and Setting Its Trigger

Ryan Moore: So let me just give you an example. So I’ll go in. There are no templates right now. And it’s got its own builder and build system. So I’m just going to say, okay, let’s start with formal. And I want to use letter size. So I’m going to click that. And here’s the template populated with data.

So certificates are going to have some static text and some dynamic text. So it’s a nice system where you can switch between them, have a preview of data and also switch to the tokens. So everything’s customizable. On the left here you can see all the elements that you can add, and you can define a lot of these as defaults, like the signature and the logo. So if you have those defined in your settings, they auto-populate when you create a new one.

Ryan Moore: Anyway, let’s say I want to award this based on completion of a LifterLMS course. So I can say based on course completed, it’s going to be this one. So we’ll do that. And then if it’s a compliance course for people, and you want to reissue certificates, you can say, okay, issue it again if somebody completes the course twice. So go ahead and add that trigger.

And then for merge fields, these are the tokens, then it’ll populate the course info. So this is all dynamic. So if I wanted to put in, again, this is just sample data, the introduction to botany, it would use the real course name when it generates, but for the sample then it’s going to show just a sample value.

So I can go in, I can click this and then I can just say, okay, I want it a lot bigger. And you can just drag it to where you want it. It’s got guides that you can snap to, and I want it centered. And then I save it and publish it. And then that course is ready. And now every time somebody completes that course, then they’ll get a certificate.

QR Verification, Revoking, and Automatic Emails

Ryan Moore: So this QR code, it’s automatically added. It links, if somebody scans it, to a public page that gives you information about the certificate. If it’s valid, when it expires, if it’s been revoked, if it’s been reinstated, all that kind of stuff, it’s all there. So someone can confirm it.

And then we get a list of certificates here. You can issue them manually. So let’s, oh, I forgot to name it. Anyway, so you’d want an actual name for the template. And then I can say, okay, issue it to this demo admin user. This is when they earned it. And then it generates it.

And then when it generates it, you can see this is the verification page. Very basic site, just an example, it’s Kadence right out of the box. But this is how it verifies, it shows you that info. You can download the PDF. You can revoke it if you want. What’s the reason for it? You can go ahead and do that. We send the email automatically that includes the certificate. So you can resend the email if somebody says, hey, I didn’t get it, then just resend it. So it’s all there.

Oh yeah, just when you’re creating it too, you can always instantly preview the PDF. So it’s gonna be pretty close to a pixel to pixel match of what you see on screen versus what you get as a PDF. So that’s it right now, but in 2.0 and some of the premium add-ons in future, then it’ll get into a lot more advanced features around certificates and certification.

Bulk Importing and Exporting Questions

Chris Badgett: There’s another question, basically asking how to bulk import questions and then search them for correctness.

Ryan Moore: Yeah, good question. What you can do there is when you’re setting up the question banks, there’s this option to import questions. We have sample files for the CSV, JSON, and XML. You can just download the sample and make sure your data is in that format. And then once it is, you can drag it in. It’ll give you feedback like, this question’s invalid, or we see an issue on this row. And then you can import it that way.

Exporting is supported too. So if you need to move questions from one site to another, you can do that as well. So if I go back to, let’s say one of the bigger question banks, I can choose which format, and JSON’s best for preserving everything, including if you have media in there. And then just click on Export, and it’ll generate that file for you.

The Educator, School, and Enterprise Tiers

Chris Badgett: Did you pull up a tab, Ryan, on your browser with pressprimer.com on it and walk us through just the dropdowns from your main menu, like educator add-on, school add-on, enterprise add-on, and just kind of explain?

Ryan Moore: Yeah, so there are different tiers at this level. I’ll just go to the pricing page because it does the best job of differentiating the bullet points. So each one has three tiers. Educator, for this is the quiz plugin, starts adding things like the front end teacher dashboard, which I didn’t show, but we’re doing more on the front end in the current releases.

Actually, let me just show that again. So here, group management, managing assignments, teachers can assign assignments and also quizzes to students. So you can manage that here. And then also there’s front end reporting. So things like that get added in the educator tier.

Dropping the Teacher Dashboard Into the LifterLMS Student Dashboard

Chris Badgett: And I just want to add on there, if you’re using LifterLMS and you have the student dashboard, you can just insert. Is that a shortcode or block?

Ryan Moore: Yeah, exactly. You can just add that to your existing student dashboard. And it’s like it just extends what you already have. So it’s this dashboard shortcode or dashboard block. But there is a shortcode too that you can use for that.

So anyway, it does have group support, so it’s meant more for instructors that are assigning things, need to track students in a group. Also things like the import export that I showed, pre-post-test analysis, some of the reports are included in educator.

Spaced Repetition, Audit Logging, and Branching Logic

Ryan Moore: And then as you get up into school, it’s more advanced features like CRM integration, the question analysis that I showed, the xAPI, which is a more advanced feature.

Spaced repetition is what we use for people that are completing questions over time, where we show them questions again that they’re likely to forget the information for. So if they’ve shown that maybe they’re not comfortable in an area based on quiz performance, then this system would show an assigned quiz, they go through it, it would show them questions that they might be struggling with that we need to reinforce. So it’s another way of helping people perform better. So that’s in the school plugin.

And then the enterprise gets into the advanced stuff, like the audit logging, which a lot of sites wouldn’t need, the proctoring, integrity analysis, full question history, and then branching logic. So branching logic is like, if somebody answered this answer on a quiz question, then skip the next two questions and jump them ahead to question seven or something. So it does that.

Importing Existing LifterLMS Quizzes

Chris Badgett: Could you explain the LifterLMS quiz import? I’m assuming it’s kind of like, you’re using LifterLMS basic multiple choice questions and you’re watching this video and you’re like, I want all that stuff. You can move them over.

Ryan Moore: Yeah, yeah. So for that, if you go into settings, it’ll pick up what is connected that we support. So, okay, LearnDash is there. The integration just confirms you have it. And then import quizzes, one tab down, is where I actually get a list of, okay, here’s the quizzes that you’ve got in LifterLMS. And then it shows you, okay, of the questions, what’s importable, what’s not supported.

So I’m just using, this is just an empty site, Chris, with your demo. So I think your demo had the one quiz for one of the sample courses, so I’m just going to import that. And it says okay, it imported. And then if I wanted to go in, then I can go into it, it shows that it was imported and then it was just fixed questions. So it grabbed whatever settings it could and then it added this question. So we brought that over from the LifterLMS quiz.

Who PressPrimer Is Built For

Chris Badgett: Maybe you could speak to, at LifterLMS we have all different types of users, but when you’re presenting this, I’m looking and I’m seeing like, oh yeah, the people that are doing license quizzes, or they’re already in a situation where proctoring is super important. Who is the ideal type of user for this technology?

Ryan Moore: It’s tricky because I don’t want to pigeonhole it too much. Certainly, my background is in education. That’s where I’ve been working for 25 years and have a graduate degree in. I’m looking at, okay, what do educators need if they’re doing this at an enterprise level, if they’re doing it in schools, that kind of thing.

But I like regular users. So again, at Uncanny, it was twelve years of working with people not in that situation, but looking at what are the gaps right now with assessment in WordPress. So I wouldn’t say it’s strictly for professional educators and people with a background in instructional design. There are a lot of features there that just give people more insights.

Ryan Moore: I know I worked with a lot of customers that just wanted to be able to say, as a result of completing this course, your students will perform 40% better on the job.

Chris Badgett: Yeah, the pre-test post-test thing is really interesting.

Ryan Moore: Yeah. And it’s important. So it’ll give people the metrics they need, even if there’s not much. So even for casual users, the information is there if they want it and would benefit from it. And at least we’re measuring it. So if it gets to a point where maybe they don’t need it right away, but in future they want that information, then it’s there. And if they really want to understand how their course is doing, then the info is there when they want it. So it’s hard to define a specific user. I’d say any WordPress educator who wants more out of their assessment suite.

Focusing on One Piece of the LMS and Doing It Well

Chris Badgett: I’m looking at this and I’m sitting here after twelve years of doing LifterLMS and all the niche edge cases around quizzing and assessments and assignments and certificates, and I’m just blown away. I think it’s super cool how your technology is not focused on building an entire LMS, but really zeroed in on this aspect of it. So it’s like, let’s supercharge this aspect.

Ryan Moore: Yeah, it’s an area that I knew well from Uncanny and I felt like I understood the gaps and wanted to focus to do one thing really well. So I don’t want to reinvent the LMS. It’s too big. But for e-learning assessment, then we can do something interesting with it in that area.

Where to Start With PressPrimer

Chris Badgett: Ryan, thank you for the great presentation and the tour. That was super cool. I’m excited. I can’t wait to take this for a spin and play around with it more myself too. And I would encourage all of you out there, at least go get the free version and start playing with it. You can easily find that at pressprimer.com. Ryan, any final words, or any other ways people can connect with you if they have questions or feature requests or requirements they’re trying to figure out?

Ryan Moore: No, just reach out on the website. So pressprimer.com, happy to help, or on wordpress.org you’ll find the three free plugins there. And they’re not limited. Try the free plugins out first, get to know them, ask questions, and then you can decide where you want to go with it. And especially with certificate being so new, if you have feedback or things you want to see, let me know and I’ll see what I can do about including some of the features. And Chris, thanks for having me on today. It was really helpful.

Chris Badgett: Yeah. Awesome. Well, thank you, Ryan. Thank you everyone for coming, and go check out pressprimer.com and we hope you have a great rest of your day. Take care.