In late 2014 I built a WordPress Learning Management System (LMS) website for a client using the LearnDash LMS plugin. Two months later I rebuilt the site using the Sensei LMS plugin from WooThemes.
Read on to find out why…
A little background to this project
The client in this story is a creative agency that designs and manages projects for, among others, nonprofits who are funded by a foundation. In early 2014 they redesigned and I developed a site that we had originally built a few years earlier for one of those nonprofits. This time, however, we also built a matching Moodle site to go along with the WordPress site, which the nonprofit uses to educate its members.
This post isn’t about Moodle, but let me say this: My experience building and working with Moodle leaves me convinced that whatever Moodle can do, WordPress can do it better and more efficiently. That’s a strong statement, and I know people are going to disagree with me, but I’ve worked with both and that is where I stand. (Interesting tidbit: I just now noticed that our local high school is using Moodle.)
Fast forward a few months and my client asked me to research and find the best WordPress LMS plugin to use for an upcoming project – the project I described in the opening paragraph of this post.
Research
As I researched what was available for WordPress LMS plugins it became obvious that there are (were?) three major players in this field: LearnDash, Sensei, and WP Courseware.
During this process I leaned heavily on Chris Lema and his LMS research. Chris has written a number of posts on the topic, including eLearning on WordPress: Comparing WP Courseware and LearnDash. In that post he explained how he had observed that these three LMS plugin providers had different approaches to creating their plugins.
According to Chris, WooThemes are, “WordPress guys first, plugin guys second, and eLearning guys last,” while LearnDash are, “eLearning first, plugin second, and WordPress third.” Then he said, and this is important: “And that will have an impact on how you see, experience and value what they’ve done.” Looking back, I wish I had read between those lines a little harder. But if I had, I wouldn’t be writing this post. 🙂
Research conclusions
For a variety of reasons, LearnDash is the LMS I decided to go with for this project. It had a more mature feature set, they were actively developing and releasing new features, they have an active user community and forum, and their client list is impressive. On top of that, the license is good for life. (At least it was then, if I’m remembering correctly. I see now that their license is good for one year – that’s a smart move!)
Sensei at that time was having some performance issues with its analyzing and reporting, its feature set wasn’t quite up to LearnDash, and they were still relatively new.
Looking back, I’m not sure why I didn’t pick WP Courseware. I think the guys at Fly Plugins are working hard to produce a good product, but for a reason that escapes me now, I didn’t pick them.
Unique project requirements and custom coding
One unique requirement for this project was that they wanted and needed to use the LMS for both online and in-person courses, and they had to be able to track their users’ progress through different custom stages as they completed various courses. I have yet to build a WordPress project that didn’t involve some custom coding, and it seems that my client projects are becoming more complex, with more custom coding to go with that trend. This doesn’t bother me at all…in fact, I enjoy challenging projects and the learning that comes with them.
The WordPress long-standing motto is “Code is poetry.” I like this motto, and I like to think that the code I write contributes to the global body of WordPress code poetry. This is going to sound harsh, and I think this may be what Chris was hinting at between the lines that he couldn’t just come out and say: the LearnDash code is not poetry. It’s effective, mostly, which I’ll get to later, but it’s not poetry. My impression of the LearnDash code is that it was written in a hurry, probably by more than one person, and they weren’t overly concerned with clean or consistent code.
I’m speculating here, but I think one reason for that style is that they aren’t weren’t charging enough for LearnDash. I may be wrong, but a lifetime plugin license doesn’t bode well for sustainability. Sure, it’s more affordable for the end user, but I’d rather pay for something that’s making enough of a profit to ensure that it will be supported and available for as long as I or my client is going to need it.
Project: Phase 2
A couple months after we launched this project, the number of users was over 600, and my client’s client wanted to make some enhancements and improvements. They wanted:
- better and more reporting options,
- a way for their site admins to mark courses complete for users in the WordPress admin,
- and emails sent to users upon course registration and a reminder email sent one week before a course starts.
LearnDash has the ProPanel add-on which has a cool UI (user interface), but it also has some problems. As I was moving data for all those users from LearnDash into Sensei, I realized that the ProPanel reports were not accurate. I was comparing each course’s list of user IDs, the ProPanel dashboard report, and a database export, and what I found was that there were users listed in the reports who were not in the courses, and there were users in the courses who weren’t listed in the reports. That’s a problem that no amount of fancy UI can compensate for.
A feature that had been requested more than once in the LearnDash forums was being able to mark courses complete in the admin. Each time it was requested LearnDash stated that this was not available, and it wasn’t on their feature calendar.
Emails were limited also, and I knew that I’d be doing a lot of custom coding to make all of these requests a reality.
Which leads me (back) to WooThemes. Six years ago when I started building websites I used Joomla!. WordPress was still largely a blogging platform then, but it was beginning to mature into the CMS it is now. After a year or so of Joomla! I switched over to WordPress and have never, ever regretted that move.
I discovered WooThemes at that time and modifying their themes is how I got started in PHP. I eventually switched to the Genesis framework, and again, I have no regrets about that move. Having said that, I know that the guys at WooThemes do write good code, and after my experience with the LearnDash code I decided to purchase Sensei and give that a try for this project – even if it meant rebuilding part of the site and moving a lot of data from one LMS to another.
The Sensei knows
I set up a staging site using a copy of the project’s live site, installed Sensei, and got started. What a relief when I dived into the code and realized what I already suspected: the Sensei code is clean, well-written, well-organized, and developer-friendly. Yes!
Working with clean code made my job easier, and I finished the custom requirements for this phase of the project and had a good time doing it.
Apples to apples
This won’t be as thorough as it could be, but for the rest of this post, I’ll make some side-by-side comparisons of LearnDash and Sensei in key areas so you can see how they compare. These are areas that involved this project directly, and they may or may not matter for your project.
Creating Courses, Lessons, and Quizzes
LearnDash
Creating your course content (lessons, quizzes, questions) in LearnDash is going to take some clicking around. Especially the quizzes and questions. Creating a quiz is going to involve scrolling through a long page of options. LearnDash does have more types of questions available than Sensei does, but they also utilize WP Pro Quiz, a third-party vendor, to handle the quizzes.
Sensei
Creating a course with lessons and quizzes in Sensei is easy. Each course admin page has a list of its lessons at the bottom of the page, and each lesson has its quiz, if there is one, on that lesson’s admin page. Sensei does utilize a question bank that, in theory, lets you re-use questions on different quizzes. In my experience, re-using questions leads to question answers showing up in other quizzes that also use those questions. I’ve filed a bug report with Woo, but haven’t heard back yet that this has been fixed.
Reporting
LearnDash
Without the ProPanel add-on, LearnDash reports are limited. In fact, there’s very little data available in your browser, and you’ll need to use their export feature to see and work with your data.
With the ProPanel add-on, you have more reporting options. The UI looks good, but as I mentioned earlier, the reports are not accurate. I did not go into the code to understand why, because by this time I had already decided to switch to Sensei.
Sensei
Sensei uses (extends) the WP List Table class, which was a good move, in my opinion. Using a WordPress core class for something like this means that end-users and/or developers can build on what they have done. As my client requested, I was able to build custom reports by extending Sensei’s extension of WP List Table, and add a custom jQuery date filter as well.
Users and their courses
LearnDash
One thing we noticed right away was that Editors and Administrators are automatically registered for every course on a LearnDash site. Our project had, at that time, 95 courses. Every course a user is registered for shows up in their profile, which makes for some long, awkward profile pages for the Editors and Admins. This also skews the ProPanel course reports, since those Editors and Admins are included in the data for each report.
I have no idea why they decided to work it this way, but they explain on the LearnDash forums that this is how it is. Maybe a work-around for course viewing permissions?
Sensei
No issues here. If you haven’t registered for a course, it does not appear on your profile, no matter what user role you have.
Documentation
LearnDash
There is documentation, but it could be more complete. I noticed that there are some questions asked by users on the LearnDash forums over and over, and I wondered why they didn’t just address those questions in the documentation. Maybe they’re too busy? Very possible – I know how that can be!
Sensei
Sensei’s docs are thorough, and probably cover more topics than most end-users will need. Still, I did find some areas that need updating to match the current version of the plugin.
Support
LearnDash
LearnDash uses a combination of FAQs, forums, and a ticket system. The link to the ticket system can be hard to find – maybe so user’s utilize the forum first? Justin, one of the the co-founders, is making a heroic effort to keep forum questions answered, but as LearnDash grows into the future, they may not be able to sustain this support model.
Sensei
If you want true WooThemes support, you’ll need to use their ticket system. There is a community forum, and the Sensei devs and product lead do venture in occasionally, but they don’t guarantee that your forum question will be answered by them, or anyone else for that matter.
My conclusion
Both LearnDash and Sensei are heavy hitters in the WordPress LMS arena. If you’re okay with using a plugin “out of the box” and you know you won’t need or want to do any customizing, then either one will probably work for you – but do your homework regarding the specific features offered by each plugin, and take their demos for a spin.
Even though I ended up doing a lot more work than I originally intended, I am glad that I used LearnDash first, as exposure to different ways of solving a problem can only have good results in the long term. Adding future features on their current code base is going to be a challenge, and I wouldn’t be surprised if at some point in their development progress they do a complete rewrite of the LearnDash code. I would if I were them.
Sensei is the relative newcomer, but from what I’ve seen so far, and knowing what WooThemes is capable of, I think this plugin is going to go far in an industry that is growing by leaps and bounds.
So what should you take away from this? When you’re choosing a plugin that plays a fundamental part in your website’s functionality, do your homework, and make sure you look under the hood!
Justin says
Hi John-
I can tell you put a lot of thought into this write-up. These things aren’t easy to do, so you should certainly be pleased with the end result. Well done! I appreciate you taking the time to share your thoughts and experience with our product.
I hope you don’t mind me providing a little feedback to some of the items mentioned.
1. better and more reporting options,
As a general note, reporting is an area that we have ear-marked for expanding. I’ll also note that I recently had the opportunity to play around with a reporting extension another firm is creating as an add-on for LearnDash; it provides more insight into quizzing analytics.
The one item that jumped out to me in your write-up was your comment around ProPanel’s accuracy. It’s something I would have personally liked to look into with regards to your setup. We have seen the reports impacted on rare occurrences, usually the result of a plugin conflict. When we get the chance to investigate, it allows us to further improve upon our own products.
If you happen to have an old dev environment with ProPanel still installed, I’d really like to take a closer look into the behavior you saw on your site.
2. a way for their site admins to mark courses complete for users in the WordPress admin,
You are correct in that this has come up in the forums, and in the use-cases described it does make sense. During some of our internal roadmap discussions we have discussed it briefly, but perhaps (and I’ll admit) it didn’t make its way to the forefront as it seemed to be mentioned sparingly.
We will revisit this one more seriously.
3. and emails sent to users upon course registration and a reminder email sent one week before a course starts.
I hear you on this one. Currently we point people to a free third party plugin (LearnDash Notifier) that allows for additional system emails to be kicked-out. We are looking into this a bit further and will be doing additional testing so as to possible include it in the official add-ons list that we have.
Communication in online learning is important, I agree. At the time of my writing this reply, we are about 75% complete with an add-on that will enable automated emails for nearly any event that can occur in a LearnDash course. Consider the feedback on this one heard loud and clear. 🙂
Again, great write-up John and I appreciate the candid feedback. We are constantly looking for areas to improve (features, our code, etc.), which makes me grateful for reviews such as this.
We’ll continue on the path of improvement, and it’s my sincere hope that along the way we see you using LearnDash again.
Kindly,
Justin
John Sundberg says
Hi Justin,
I consider it an honor to have you here, and I’m glad that you were able to be the first to comment on this post and set the tone of this conversation.
As reviews tend to be, this is a ‘snapshot view’ at a certain point in time of where you and LearnDash are at, and as you mentioned, and I expected, there will come a point when you’ve dealt with the issues at hand while also making continual improvements.
I do have an archive of the project site with LearnDash still installed, but I can set up another one for you to investigate into the ProPanel results issue. I’ll let you know when I have that ready.
Thanks again for taking the time to stop by and respond.
John
Todd says
John – great review!
Justin – the link to the LearnDash Notifier goes to a 404 page. Any updated link available? Our client would probably be interested in this plugin.
Justin says
Hi Todd-
You actually have a few options now. Submit a help desk ticket and we can determine which one would be best for your client.
Nat Finn says
Hi, guys,
Did LearnDash ever get back to you on the reports glitch issue?
I’m currently updating and overhauling my site (If you go to find it, don’t, until Feb ’15. Moving it to, probably, WP Engine and will fix the affiliate-hacked template then).
I was thinking of going with LearnDash because of the academic nature of how I’ll use the site, but the reporting accuracy has me concerned.
Any word?
Also, did they address video tracking?
John Sundberg says
Hi Nat,
I never did get around to setting up a test site for LearnDash to investigate the reports bug(s) that I found. Life is busy and that one kept getting pushed further down the to-do list.
I can say from experience that Sensei’s reporting feature is really good, viewable in the admin without needing to export, and customizable.
John
Nat Finn says
Thank you, John,
Understand that issue. Live only goes in one direction.
I’ll look at Sensei more.
Impshum says
Thanks for your thoughts. Onwards.
Chris Lema says
Hey John,
I’m glad you finally found a solution that works for you. As you can imagine, every different situation requires something different.
To clarify, I wasn’t hinting that LearnDash wrote crappy code. I was simply stating that if you were a developer looking to hook into it, it’s not written like other WP code. Because their background is different.
WooThemes are WP guys first and foremost. So if you were building an LMS requiring certain features they don’t have, you’d be in a good spot, as a WordPress developer, to create it.
On the other hand, LearnDash is powerful and if you’re not a developer, just looking for features, they may have everything you need.
Hopefully that makes sense.
John Sundberg says
Hi Chris,
Thanks for commenting and clarifying, and yes, that makes perfect sense. If I overstepped my bounds and gave more meaning to your words than you intended, I do apologize.
In my case, had my client not wanted all the custom work done, LearnDash could have been a good solution. But they did, and like you just clarified, Sensei is more easily extensible overall.
Either way, both plugins are making steady improvements and adding features which is good for everyone involved, and the LMS field in general.
John
jonathan hall says
I am looking for a LM for a fairly specific implementation and I was wondering if you could help me understand if either/both LMS’s have this feature
FEATURE – The ability to add an “Instructor/Teacher” for each course. They would be responsible for making sure that all the attendees complete the course but not for course content?
IMPLEMENTATION – We are a school camp provider and we have teachers bring parents and kids to camps. We would like to be able to set up a courses with lessons that provide the training for the parents and teachers in the adventure activities that we provide eg a video with how to put on a wall climbing harness with questions and reporting. It would be great if we could offer the teacher the ability to see all the parents progress through the lessons and chase up any that have not complete the entire course before arriving at camp.
John Sundberg says
Hi Jonathan,
Both LearnDash and Sensei have that feature, though what you can do with it probably varies a bit between the two. LearnDash calls that role a “Group Leader,” and Sensei calls it “Teacher.”
If I remember correctly, in LearnDash you need to assign the students to a group, even if they’re in the same course. Then you can assign a Group Leader. In Sensei the Teacher is assigned to a course, so no need to group students again.
Either way, you or a developer can tweak how those work if the “out of the box” solution doesn’t quite fit your needs.
Regarding your implementation question, Sensei has four different options for sending emails to the Teacher at various trigger events, such as a student finishing a course, starting a course, completing a quiz, and sending a private message to the Teacher.
In LearnDash the Group Leader can view group member statistics, but I don’t think they have emails sent at trigger events. Though this may have changed since I used it last.
Hope that helps,
John
emmanuel says
Hello
i ve question :
Which is capable of creating cursus?
For, it is dificult to put someone any course for a trade for example.
I 400 internal users and I have to prepare the topics to learn.
The administrator must register users with the courses to follow.
And I wish I could say Cursus 1 and it automatically adds all the courses I need, in order.
thank you
Emmanuel
John Sundberg says
Hi Emmanuel,
Sorry for the delay in getting to your comment. If I understand your question correctly, I think either Sensei or LearnDash would do what you’re needing. And if not, some customization might be needed.
John
Jonathan Hsu says
Hey thanks for this article. I bought Sensei on a whim when Woo was having a sale and was considering an LD license but for now it sounds like they’re close enough it isn’t worth re-investing. I was wondering if you’ve integrated GrassBlade and Tin Can with either of the LMS plug-ins. Thanks!
John Sundberg says
Hey Jonathan,
I haven’t integrated either GrassBlade or Tin Can, though I did look into them when my client requested all the custom reports. I ended up rolling my own reports in Sensei so didn’t need to go that route.
John
Jonathan Hsu says
thanks for such a quick answer! Have you been happy w/ the baked in reporting or do you think having tin can would be a big boost?
John Sundberg says
Jonathan,
That’s a tough question since I added 6 or 8 custom reports at the client’s request. The default Sensei reports would probably give a good idea about how your students are doing and other relevant data about the courses, lessons, etc.
As I understand it, the value of the Tin Can API is that your reporting data gets moved off your website and into an LRS (Learning Record Store), and from there you’re able to do many different things with it.
However, I could be mistaken about Tin Can and it’s use and/or value.
John
Florence says
I think the advantage of having Tin Can compatibility is that e-learning modules created in platforms such as Captivate and Articulate Storyline would then be reportable (in an LRS).
From my understanding Sensi is not able do this? But I’m not sure if additional plug-in would make this possible. Would love to find out tho.
Cheers
John Sundberg says
Florence,
Thanks for the additional Tin Can information!
Without putting too much thought into this next statement, the fact that Woo says they’re working on a Tin Can API add-on might make it worth it to go with Sensei, since I’m assuming your existing data could be integrated with Tin Can once that add-on is available. Yes? No?
John
William B says
We are working on a project to implement a mobile learning platform for delivery of course content to learners’ devices for offline mode use. We will be developing multidevice crossplatform apps to connect with either plugin and WP installation. Please advise which of the two LearnDash and Sensei would be most appropriate to custom development and extension for this task.
John Sundberg says
Hi William,
In my experience with these two plugins, and I wrote more about this in the blog post, I have found Sensei to be better suited to custom development.
John
Rosa says
what do you think about lms plug in solutions vs something like usefedora.com
John Sundberg says
Hi Rosa,
I’m probably a little biased as a web developer and builder, but I’m going to vouch for the plugin option for an LMS. I like knowing that the website and its content, including the LMS portion, is in my hands and not under the control of a third-party provider like Fedora. Not saying they’re going to disappear any time soon, but you just never know.
Another reason is being able to customize the LMS for a client’s specific needs. That’s not going to happen with a SasS provider like Fedora.
John
Patrick Kihara says
Hi John,
I bought Sensei a few weeks ago for use on a project. I was however disappointed to learn that it is incompatible with most themes out there. It throws the sidebars off. And if one is not a good coder, LearnDash seems like a more better preference. Or alternatively buying Sensei and one of their compatible themes.
John Sundberg says
Hi Patrick,
I guess I wouldn’t call that incompatible from my perspective, but I just assume that I’ll have to do some CSS work to integrate something as big as Sensei or LearnDash into a website no matter what theme I’m using.
Do you have a link to the website you mentioned? I might be able to help you out with a CSS fix if you haven’t done that already.
John
Sharon says
Hey John,
Great Comparison! I personally think LearnDash is more refined plugin as compared to others. We have developed many extensions on LearnDash for our clients because of its vast repository of features.
Tin-Cap API integration alone would keep LearnDash ahead of the crowd. Even features like drip-feeding, creating multiple tutors, creating groups are not what many of the LMSs provide. If you need a full-fledged e-learning centre then Learndash is your best choice.
John Sundberg says
Thanks for adding to the conversation, Sharon!
cfc says
As far as I’ve been able to tell from perusing their website, demos, and a few reviews, aside from the Tin-Can API, the features in Sensei, LearnDash, and WP Courseware are currently nearly identical if you include the free extensions (e.g., Sensei is the only one without built-in content drip, but you just install their free extension to add it).
William says
I have a client that wants to offer primarily video-based courses. Do either of these handle that better than the other in your experience? I’m really trying to find out if I have to host the videos myself or if I can use videos from my client’s YouTube channel. The problem there, of course, is that I don’t want the videos available without going through the website and purchasing them. I appreciate any input you might have.
John Sundberg says
Hey William,
In my experience there’s no difference in how either Sensei or LearnDash handles videos in a post (lesson).
I think YouTube now allows private videos, but I don’t have experience with those and how well that works. I do use, and recommend, Vimeo Pro for hosting videos and allowing certain videos to only be shown on certain domains, such as your client’s website. It’s $199/year but worth it, in my opinion.
John
William says
Thanks, John. I was looking into suggesting Vimeo Pro. Think I’ll do that.
patrick says
Hi John
We started web-development of a series of courses in later 2014 using Sensei + Content Drip – so it is a relief to have stumbled across your comparative LMS post at this juncture because we are in a battle with our developer over a few key functionalities – your insights would be massively appreciated.
Obviously we can track our students Progress and determine Content Drip but does Sensei direct students upon login to their current Lesson? Our developers are adamant that no such functionality is available. We are a bit perplexed at how then a student navigates their way to their current Lesson. Are we to simply rely on clunky Course/Module/Lesson indexes? Do you rely on Content Drip emails to direct students to their current Lesson?
Cheers
Patrick
John Sundberg says
Hey Patrick,
I’m pretty sure that Sensei doesn’t do that redirect out of the box, and your developers are probably right that Sensei doesn’t have that functionality built-in…but, I think it could be done using one or more of the Sensei utility functions found in class-woothemes-sensei-utils.php along with several WordPress functions/filters such as get_current_user (or global $user) and login_redirect.
So the logic could be a user logs in, your function checks to see who it is, what their most recent lesson activity was in Sensei, get that post ID, then redirect them to that lesson (post).
John
Florence says
Ohhhh such a great post.
So sad Sensi does not support TinCan or Scorm!! I’m sooo surprised!! Would love to keep up on when this changes. I saw they posted on their FAQs that they were working on it but with no ETA….
I’ve emailed and asked for an ETA. Otherwise LearnDash is really how I have to go for the type of learning I need to host.
🙁
Dean C says
Hi John,
Nice post and I am sure that there must be new version for both plugins. Which plugins do you suggest for website like udemy? I’ve heard that in learn dash there is 2 hrs learning curve for new instructors to create course. I don’t think its possible to use any plugin out of the box which can fit in wordpress theme, so in terms of customization which plugin is flexible? But most wanted thing is multiple instructors.
Thanks…Dean
John Sundberg says
Hi Dean,
My vote is still for Sensei. I just today finished some custom work in a LearnDash site for a client and I still think that Sensei is easier to work with and customize overall. When it comes to fitting into a WordPress theme, that’s largely a matter of CSS and not the underlying code, so for that you could go either way.
John
Jonas says
Hi John,
First and foremost thank you for your great summery and all the answers below. Its a very good resource.
I am working on a platform to teach thai kids from unfortunate backgrounds. we are looking for a platform that allows students to submit homework with images (say the homework was to take a picture of a cat) and then allow for peer to peer feedback. Do you think sensi or learndash with buddy press social learner is the right set up and if so, which of the two (sensi or learndash) would you pick. It would be great to get ideas on this.
Have a nice day!
jonas
John Sundberg says
Hi Jonas,
From what you’re describing Social Learner is probably what you’re looking for with this project, though I need to say that I haven’t tried it out yet…I’ve only viewed their site. (They did send me a copy to demo but I haven’t had time yet.)
I do believe both Sensei and LearnDash will support file uploads, so you could go either way for your LMS. My personal choice is still Sensei, but that’s just my opinion.
If you think of it, come back and let us know which way you end up going, and any feedback you might have.
John
Jonas says
Thanks for the fast feedback John!
I will try social learner then. And sure, I’ll keep you posted. Have a lovely day!
#theinternetisawesome
Jonas
Johann Savalle says
Hey,
First I must say this is probably the best article on the net on the topic, comparing the two leading LMS solution for WP.
I still have a question, concerning the report and user customisation. First, you said that ProPanel Report were not accurate, does this mean they are wrong? How “not accurate” are they?
Second, if you would need to choose a system with heavy customisation and user statistics, would you choose sensei or Learndash?
John Sundberg says
Hi Johann,
Thank you for your kind words!
To answer your question about the accuracy of the ProPanel reports, this is what I wrote in the article:
“As I was moving data for all those users from LearnDash into Sensei, I realized that the ProPanel reports were not accurate. I was comparing each course’s list of user IDs, the ProPanel dashboard report, and a database export, and what I found was that there were users listed in the reports who were not in the courses, and there were users in the courses who weren’t listed in the reports.”
LearnDash may have fixed this bug by now, but I don’t know that for sure.
Regarding “heavy customization and user statistics,” I would still personally go with Sensei. Here’s why:
About a month ago (October 2015) I completed a custom development project for a client who is using Sensei. For continuing education credit this client needed to be able to track, record, and verify that each student had watched all the Vimeo videos used in the courses, and then generate custom reports with this data that were also exportable as CSVs.
Doing that project in LearnDash would have been difficult, and the reporting would have been more so. Sensei, in my opinion, is built with developers in mind with many hooks and filters. And Sensei 1.9, which should be coming very soon, promises to be even more so.
I have another client using LearnDash in conjunction with the foreign language college textbooks they’ve written. This site has dozens of lessons and quizzes and sees constant use during school season. I didn’t build the site but they hired me to do some customizations to the site, and also some database repairs related to the quizzes. While working on this site I couldn’t help but think that this would have been easier if it had been built with Sensei instead.
On the other hand, if you think you’re going to be needing support from either Sensei or LearnDash, and I’ve used both on a few occasions, LearnDash support does seem to be quicker to respond, in either their forums or via support tickets.
John
JERRY KAMINSKY says
I am really new to this. I am having a content only WP site developed by a highly rated (PC Mag) hosting company. They will design and build the WP site with Sensei to handle the content management. I have another company that is subscription based to do all the heavy (membership, events, CEU admin) lifting. This company provides links to their website. All the data regarding members events and CEU’s will be stored on the other site. I assume that not only is Sensei a LMS but, also a CMS. I need someone to write a authentication script to send data to the WP site about what access should the person have based on their membership level. Would Sensei be a good choice for this or should I look elsewhere?
John Sundberg says
Hi Jerry,
I’m not sure I totally understand your question, but I may be able to help with a few things.
WordPress is the CMS, not Sensei. Sensei works within WordPress as the LMS, as a tool to help you manage the learning-specific part of your content, within the CMS framework that WordPress provides.
I would suggest that WordPress, with the addition of a few other plugins besides Sensei, can handle your membership needs without this other company that you referred to, and without the custom authentication script to bridge the gap between the two sites.
There are also events plugins for WordPress that handle that aspect very well.
I’m guessing CEU refers to Continuing Education? If so, and if that is related to your members’ progress in Sensei, I would suggest having custom Sensei reports developed so you can track that from within the WordPress admin, and export as needed for the CE credits.
WordPress can do almost anything, and in my opinion it could easily handle the needs you’ve described without resorting to a two-site approach.
John
Chavi says
I’ve gotten myself confused- between LearnDash, Sensei, Zippy Courses and the new Rainmaker Platform. Have you looked into Zippy Courses?
I’m a major Genesis user so am wondering what will integrate best and easiest.
It’s for a fairly simple 90 individual video course for a client.
Thanks!
John Sundberg says
Hey Chavi,
I haven’t heard of or looked at Zippy Courses until just now. Based on their website they sure are optimistic about their product, though I’m guessing it’s not as full-featured (yet) as LearnDash or Sensei are.
Personally, and as a Genesis user myself, my vote is still for Sensei based on the reasons I gave in this blog post.
If you end up trying Zippy Courses though, I and the other readers here would appreciate it if you added another comment here about your experience with that.
John
Brett Golding says
Thanks for the in-depth post.
John Sundberg says
You’re welcome, Brett!
Jeff Sauer says
Thanks for this review. I’m still torn, even after reading. Seems like both have a lot of the same features, but I feel the LearnDash website does a better job of describing what you will get. Your review fills in some blanks with Sensei, but it still just seems like it’s missing something (and I can’t define what).
For example, how does it integrate with my mail provider to send lesson emails? Or does it do that in the platform?
I have a course with 28 videos that get sent out daily. I want to be able to sell the course and to be able to protect the content for the users. Assessments are a nice bonus, but not overly important.
Last, I would like to be able to report on how many pages a student viewed? I offer a 30 day money back guarantee and want to understand if someone watched many videos and downloaded materials then quit?
Do either analytics packages answer that question?
Do either integrate with Zapier?
John Sundberg says
Hi Jeff,
Sensei has five or six (maybe more?) default emails that you can turn on or off in the plugin’s settings. And being Sensei, it’s not too difficult to add more emails or customize the default emails if you know your way around PHP.
The emails are sent out by WordPress and your server, or your mail provider if you’re using something other than your server. For example, I’m using Amazon SES to send those emails.
RE selling your course and protecting content, both Sensei and LearnDash integrate with WooCommerce, and you can probably use another method as well. Though you won’t go wrong with WC, especially if you go with Sensei.
The report you’re describing could be built much easier in Sensei than it could in LearnDash, for the reasons I gave in the article. In fact, that sounds similar to a custom project I did for a client to enable them to track whether or not a student watched (played) each Vimeo video in the course, and then that data is compiled into a custom report.
RE Zapier, I think there is at least one plugin that connects LearnDash with Zapier, though I don’t remember the purpose. And again, Sensei is so customizable that I’m certain that could be done also.
Hope that helps your decision process!
John
Martin Brossman says
Just a big heads up. We made the serious mistake of using “WooThemes Sensei”. It is clunky and we can not get any help even on the paid product. It looks to me like WooThemes just is abandoning this product. That is fine if it were free but it was not. We spent so much time building the site we hate to give it up and have to start over. If anyone knows how to get WooThemes Sensei help please let me know!
John Sundberg says
Hi Martin,
In my experience, LearnDash nearly always has a faster response time to support requests, although the Sensei team will eventually respond.
I’ve had no indication to think that WooThemes is abandoning Sensei, especially as they are still releasing new versions, and they’ve just rewritten much of the code base for the newest version that is due any time now.
If you don’t mind my asking, what are you needing help with in regards to Sensei?
John
Martin Brossman says
John, big thanks for answering and here is the biggest problem:
We set up Woo Commerce to sell products we built on Woo Sensei
More than half of the people that complete the check out don’t know where to go to get the course. Because the link that shows up on the checkout page goes to the course distribution page and not to my course page. We need help in solving this.
See this video
https://youtu.be/_6jpggBFO-M
Also, do you know of any good forum for Woo Sensei users?
We may need to stay with Sensei for now.
John Sundberg says
Martin,
I watched your video, and that’s actually a WooCommerce issue rather than a Sensei issue, from what I can tell. Here’s a code snippet from Woo that will let you determine where a customer is directed to after the checkout is complete:
https://support.woothemes.com/hc/en-us/articles/203604065-Custom-Redirect-after-purchase
I do know of one Sensei group, but I think they’re by referral only. I’ll let the group admin know you may be interested.
John
Martin Brossman says
John, thanks so much we have worked so hard and we will try this out. Will update you. Thanks so much for responding!
kyler boudreau says
For what it’s worth, I started my online education site with Sensei. Have now switched to LearnDash and love it. Much better LMS.
John Sundberg says
Hey Kyler,
Thanks for sharing some of your LMS experiences with the readers here. Care to let us know why LearnDash is better for you?
John
Geraldine says
Hi John, Thank you for the in-depth comparison. Wanted to find out, have you had any experience using Namaste LMS? How does it compare with Moodle and the other 3 e-learning plugin you mentioned – LearnDash, Sensei, and WP Courseware?
We are currently looking to implement an LMS. On one hand, we are considering Moodle. And on the other, we are looking to use wordpress – Namaste LMS since it has most of the features we are looking for.
John Sundberg says
Hi Geraldine,
I’ve had no experience with Namaste! LMS, and hadn’t even heard of it until you mentioned it here. I guess I’d be a little hesitant to use a free WordPress plugin from a company that consistently misspells WordPress, but that’s just my opinion. 🙂
Regarding Moodle, if you’ve never used it before, I’d stay as far away from it as possible. Having built and worked with both Moodle and WordPress, I’m confident I’ll never willingly use Moodle again, especially with the LMS choices that are available in the WordPress ecosystem.
And I’m curious – what does Namaste! LMS have going for it that Sensei, LearnDash, or WP Courseware do not?
John
ِAmr says
I was nearly done searching and comparing most of WordPress LMS plugins and also themes to decide whats better for my client demands and best interest. My plugin list was already filtered and cut down to Learndash & Sensei as a final destination.
Your review is ethically neutral but saved me a lot of time and further reading regarding this matter, Nothing is set in stone yet and I guess I will have to try both in order to make a final decision.
Thank you John for this brilliant set of information.
John Sundberg says
Amr,
Glad you found it helpful!
John
Ted says
Thanks for the excellent post, and the discussion is great. We are looking at these two LMS’s and wondering how the two compare in the following areas.
– The ability to setup and track users through a series of predefined courses. For example: A person learning to become excellent at learning how to fix bicycles has 3 mandatory, and 5 elective courses to reach completion(or a certain achievement level). And we want to see their overall progress.
– Did you find one system applies gamification to learning better than the other? Leaderboards, Custom acheivements etc…
– For an organization that would have many courses and logical divisions of those courses, does one provide a better interface to students for finding courses. e.g: a Coursebook like interface using search and logical division/prereqs, versus a single long list of courses.
Thanks so much,
Ted
Benjamin Button says
Hello.
I have been using Learndash for a few years. It was good except that when my students would go to print out a certificate after passing the exam, it would not let them do it, and it would not save it. So the students would always write me and I would have to send them one through email manually. It got to be very annoying. Such a simple thing, and learndash could never figure out how to fix it. So i am switching to Sensei. But I want to know if you know the best way to transition current students over to Sensei? How would I do it so my old or current students who are now using learndash, would be transitioned into Sensei within my wordpress? Any ideas would be appreciated. Thanks a lot
Justin says
Benjamin-
I’m surprised to hear that certificate printing isn’t working. That’s certainly an anomaly that would only occur if coding changes have been made to LearnDash outside of our core code (I recall one time where that was the case).
If you’re using a non-modified version and still unable to print, open a ticket and we’ll get everything squared-away.
Kindly,
Justin
John Sundberg says
Justin,
Thanks for responding to his certificate issue.
Benjamin,
I don’t know of any simple or easy way to transition your users from one LMS to another. When I made the switch I spent a lot of time directly editing the database with corresponding values for course start times, completion times, and other details.
It’s probably possible to write a script that could handle that, but I don’t know if it’s been done yet.
John
Prashant says
A very nice comparision ! I used and find Learndash quite impressive for courseware and its evolving.
What is enhancing its use is new extensions being developed. For example newest is a simple plugin that lets you create questions including image type questions in excel or google spreadsheet and import directly to LearnDash . Sold at https://www.fiverr.com/fastjobber/sell-excel-to-learndash-plugin-for-importing-quizzes-text-and-image-mcqs
Prashant says
Now . even Sensei users can have the benefit of creating and importing quizzes from excel spreadsheet to sensei question bank directly https://www.fiverr.com/fastjobber/sell-excel-to-sensei-plugin-for-importing-quiz-from-spreadsheet
Forrest says
I think it is important to note that Justin (LearnDash) is actively participating in this conversation, offering useful comments and expressing his desire and willingness to help others.
I used LD for a project about 2 years ago. Liked it. Looking at the market again in preparation for another learning project. I appreciate everyone’s comments. Very useful. Thanks 🙂
John Sundberg says
Forrest,
I agree completely about Justin’s participation!
John
Zoe Ross says
Thank you so much for this – I’m just setting an LMS up and was struggling to choose between these two, so this has helped tremendously!
John Sundberg says
You’re welcome, Zoe!
Karen Hodges says
Move ahead several months from your review, I am thinking of moving from Sensei to Learndash because of some failing and lost functionality. Since the last big WP updates, Sensei had a huge issue with its testing process. We utilize question banks and pulling together an exam of 100 questions out of a bank of 110 or so would result in a random exam, but when it was graded, the questions NOT chosen were graded and marked as “unanswered” and thus the students failed. We had to delete all extra questions in the banks for each lesson. That solution was what we came to ourselves after multiple tickets over 4-5 weeks. All seemed ok, but now here we are weeks later and the now the correct number of questions for an exam may or may not be served to the students. In the last week I have had an exam of 4 questions instead of 100, 23 instead of 25, 98 instead of 100 for various students in different courses. This is unacceptable. I am having to email a quiz to each student and have them mark and return. NOT acceptable!
Another loss of functionality is you used to be able to reset a quiz when someone failed. We give our students 2 attempts to pass certain quizzes. Now the reset function is not working and you must drop the person from the course and then re-add them. This blows up your analytics. The tickets on this have come back “delete the User from the course and re-add” which again, is a work around we discovered ourselves, and an unacceptable solution.
The final straw is that we had customized redirects that are no longer working and seemingly unfixable. Upon passing a quiz, we want them directed to a Survey for course feed back and to gather their information for facilitating issuing a numbered certificate. Now we have to manually direct each student to the correct Survey, and from there to the correct PayPal link to purchase their Certification Packets. Impossible to manage manually now that our sales force is meeting with success in placing our products in schools.
Just be aware that some things that used to work now no longer do. Sorry, Sensei…you were great….for a time….
John Sundberg says
Hi Karen,
Thanks for taking the time to document the issues you’re having with Sensei and sharing them here with other users and/or potential users. Definitely something for the rest of us to be aware of and watching out for.
John
Mark says
I have used sensei in one of our biggest clients and it was a disappointment. I can list a few issues here:
-the content drip is buggy some can’t receive the emails or not in time.
-content drip email content had to be hard coded to edit.(but now i think they have added new fields)
-files uploaded by users are uploaded in a public folder and there’s no hook to change the folder.
I spent much time in debugging and adding custom code because it lacks features. e.g. form integration, event tickets(had to buy another plugin wootickets which is another buggy plugin and the events calendar plugin is worse). I was just too late to learn about the Learndash plugin which already has the features that i needed when i was developing using sensei, e.g. gravity form integration, event espresso. Overall i think sensei’s features not worth the price.
John Sundberg says
Hey Mark,
Thanks for your feedback on Sensei, and the struggles you’ve had getting it to work, or not(?), for you and your client.
John
Lucinda says
Hi Mark,
I am interested in the fact you have had a lot of issues…
I am tossing up between LearnDash and Sensei at present.
Have the issues been resolved? Or is it still clunky and full of bugs?
Thanks
Lucinda
Luka says
Hello guys,
John – wonderful post! I thinking about developing LMS with DIVI theme (only because I’m familiar with) and I would like to know how the battle between both LMS plugins is progressing. What I need is very basic so I guess both plugins would do fine. However, the thing that after a purchase a huge coding needs to be made in order to direct people to their purchased sours is really unacceptable. Here are my exact questions:
1. can either plugin direct directly from “purchased” page to the course itself. BTW: does the trick mentioned above work?
2. let say I have 4 different courses. Can I bundle them as I like?
3. can I track which are purchased and which are not so I can market one that hasn’t been purchased let say in sidebar?
Reading this post was really an eye opener, but before I dive into the project I would like to get some more insights. Especially because as I will need developers to satisfy my needs, and deciding now what is better solution to use less hours in the future seams to me wise.
John, keep on the good work. I like fast evolving industries and I believe this one is not stoping soon.
John Sundberg says
Hey Luka,
I haven’t used either Sensei or LearnDash with an ecommerce plugin yet, but I have built some WooCommerce sites, so I’ll take a crack at your questions. I’m going to assume you’ll be using WooCommerce, but you could probably use another ecommerce option as well.
1. I believe this redirect would be up to WooCommerce and not the LMS.
2. You may need an additional add-on to bundle courses, but yes, you should be able to bundle them as you like.
3. WooCommerce gives you lots of statistics in its admin reporting feature, so yes, you should be able to do this.
John
Michael Starks says
Hello John,
I agree with the others that your post is very helpful. I also really appreciate the civil and helpful discussions taking place. I was curious: now that the LearnDash code has been refactored, would you still consider Sensei easier to develop or has the gap narrowed?
-Michael
John Sundberg says
Hi Michael,
I’ve done a little client work on existing LearnDash sites since they refactored, but I haven’t built a LearnDash site from the ground up with the new codebase, so I can’t be completely objective about this.
I will say that since I’m familiar with both Sensei and WooCommerce and how they are coded, my vote is still for Sensei if you have to do any significant modifications.
John
Tony says
Hi John,
I think I finally found the man who might be able to answer my question. I am creating a wine education platform. As of right now, I foresee that 99% of the courses and individual classes will be in the real world and not online. As far as online, we will probably only be looking at a handful of video/audio lectures. I doubt that we will have any need for multiple-lesson online courses, quizzes, etc. Not sure if this is relevant, but we will also have an event section for upcoming wine tastings and similar events (these are non-educational events).
I will be adding a network of independent instructors to the site, they will each have the ability to upload there own classes, courses and events. We will then take a commission on their sales.
I will be integrating woocommerce so that we sell the courses, classes and events. As well as woocommerce product vendors so that we can have individual sales reports and the ability to pay commissions to the independent instructors.
I have been debating between Learndash and Sensei and your post has really helped me with which one I should go with. Having said that, after re-reading your post just now and all of the comments, I am wondering if I even need either? Thoughts? Do I even need an LMS plugin at all??? And if I don’t need one, how easy will it be for me to sell those online video/audio lectures without it?
Thanks!
John Sundberg says
Hi Tony,
You could build what you’re describing without using an LMS, but, in my opinion, you’d be reinventing a wheel that already exists. Using an LMS like Sensei or LearnDash will allow you to scale up in size in the future with fewer growing pains, and the integration with WooCommerce is already built in.
If you have plenty of free time and the drive to do it, it could be fun to put all the pieces together yourself. On the other hand, considering what an LMS license costs, and how short life really is, I’d go with the LMS myself.
I’ll be curious to hear which way you end up going…
John
Tony says
Thanks for the feedback!
I will keep you posted as the project continues. I have only ever built one website before and did so using wordpress. But it was simple with no major plug-ins like this. So, we shall see how it turns outs.
Thanks again!
Crystal says
Hello John,
Thank you for your post. I was wondering though, you said that Learndash didn’t have a way for their site admins to mark courses complete for users. Did you find such a thing for Sensei? I’ve had my system up for a year or so now and still haven’t found that. Maybe I’m just not looking in the right places, or my developers hid it or something, but as an admin, it’d be a very useful thing to be able to do.
Thanks!
John Sundberg says
Hi Crystal,
As of June 14, 2016, LearnDash now has the ability for admins to mark courses/lessons/topics complete, from each user’s profile page.
For the project I described in this blog post I wrote my own code to handle that task within Sensei, by adding a “Mark course (or lesson) complete” button to each enrolled user’s entry in the admin lists of courses or lessons.
I thought I remembered reading that Sensei now included that feature, but I searched the changelog and wasn’t able to find it.
Here’s a slightly outdated screencast of how my solution looks and works: https://www.dropbox.com/s/n47rfmtlwry3oke/removing%20and%20adding%20users%20to%20a%20course.mov?dl=0
John
Lucinda says
Hi John,
Thank you so much for the effort you have put into this post.
I am writing with two questions…
1) Since this was written a while ago, overall, do you still feel that that Sensei is a better choice? (Given the rewriting of better code in LearnDash…)
2) Do either/both protect the sources of the videos (ie students cannot right-click and download the video and/or copy the URL)?
Many thanks!
Derek Peterson says
Hi Lucinda,
I just stumbled upon this thread as I have been trying to find some others who are struggling with 404’s (page not found) while using learndash. Hopefully, my experience can save you some time and frustration. In the course of an 80 email thread trying to explain my prob and have them identify it and fix it I became incredibly frustrated. I honestly have never seen anything like it. I still can’t tell if they just don’t know about wordpress or are trying to cover up something major in their code. I spent 30 minutes showing Justin the prob, he finally understood it, I thought. (the prob was that whenever anyone make any ajax request on front end (eg. buddypress avatar, buddypress status activity update it will flush all permalinks and show 404s on all pages so you have to back in and reset your permalinks). Pretty major but they continually just write it off as unique to my site and no big deal and said they see some probs with nothing that will 404’s (see below) and said they would fix some time in future but couldn’t give an eta.
Let me give you my conclusion before I paste a bunch of code. If you are just making a simple e-learning site with only learndash then it should be fine. They have a nice layout and features but if you are going to have a bunch of plugins running as well use sensei…sensei’s code is much much better. I have loaded about 100 courses and will probably scrap learndash and move to sensei because I am very nervous about how their code interacts with others and the lack of support.
BTW – if anyone wants to reproduce this error simply set up a test install and activate buddypress, learndash and 2016 theme. go to front end and:
1.) under “activity” post status update
2.) click on “sample page”
3.) see 404
4.) resave permalinks under settings in dash
Here is what I got from their dev after 80 emails. he also sent me a video to prove he couldn’t reproduce the error but the video appeared to be doctored (i noticed that the posted times status updates went went from “5 minutes ago” to “seconds ago”. Very strange…
#################################################################
I have dug around a bit both within our code and on the customer test site.
First there are 3 places within LD core where the WordPress function flush_rewrite_rules().
1. When the LD plugin is activated.
2. When the custom labels are changed.
3. When registering the many custom post types used by LD core.
The first two items are understandable. The third item is where I found some issue and I’ve added to our ‘to-dos’.
I’ve added some debug output code in includes/class-ld-cpt.php within the function add_post_type() lines 109-145
https://dl.dropbox.com/s/38c9lrzvf7jzs6l/20161024-193625-xfg35.png?dl=0
First let me say this function is part of a base class an for each custom post type needed this function will be called for each.
Line 120 : This is where the custom post type is registered.
Line 122 : This is where some questionable logic is found. If we are within the admin AND the post_type is certificate then we set the $flush to true.
Line 136 : Here we allow externals like the one-line function created by the customer. The filter returns a true/false value into $learndash_flush_rewrite_rules
Line 139 : If the filter returned TRUE then we call flush_rewrite_rules() at line 142.
So with the debug code in place I load the front-end Activity page. The debug code writes to a file ld_debug.log in the site root. Viewing this file produced the following. As you can see at no point do we call the flush_rewrite_rules();
——————————————————-
in add_post_type post_type[sfwd-courses]
admin[] URI[/activity/]
flush[] learndash_flush_rewrite_rules[]
——————————————————-
in add_post_type post_type[sfwd-lessons]
admin[] URI[/activity/]
flush[] learndash_flush_rewrite_rules[]
——————————————————-
in add_post_type post_type[sfwd-quiz]
admin[] URI[/activity/]
flush[] learndash_flush_rewrite_rules[]
——————————————————-
in add_post_type post_type[sfwd-topic]
admin[] URI[/activity/]
flush[] learndash_flush_rewrite_rules[]
——————————————————-
in add_post_type post_type[sfwd-certificates]
admin[] URI[/activity/]
flush[] learndash_flush_rewrite_rules[]
——————————————————-
in add_post_type post_type[sfwd-transactions]
admin[] URI[/activity/]
flush[] learndash_flush_rewrite_rules[]
The above was the test on the front-end. This should still not cause a 404 error. You have more a risk causing a 404 when you register a new post type than causing it when you flush. The issue with flushing too often is it is expensive and can cause severe server load because it forces WP and other plugins, themes to re-attached their custom rewrite rules back into the system. On a large site with thousands of posts this can load the server.
That said, there is an opportunity area. when loading any admin URL is does appear we flush the rewrite rules a number of times. Consider the above ld_debug.log output we would basically flush the rules once for each post_type. I will likely be updating it so that we most flush once at most, but will research first our best way forward.
For what it’s worth (and not sure it really matters at this point given the customer found something that seems to work for them in the interim) I’m still unable to reproduce the issue. I started the site with just BP active. Send a test message via the Activity screen. Then go into wp-admin, activate LD. Then back to the front-end Activity screen. Post a second message. Then click the Sample Page link in the sidebar. No 404.
http://screencast.com/t/9DcLxk7gS
I’ve tried this in three different browsers and not able to reproduce the 404 seen in the video.
#############################################################
#####################Here was our response#################################
The ‘flush_rewrite_rules’ called in case 3
3. When registering the many custom post types used by LD core.
is problematic.
You are right when you say that it doesn’t happen for front-end requests.
But it DOES HAPPEN FOR AJAX request, which is what’s causing all the trouble.
To verify, here’s what you can do:
1. plugins/sfwd-lms/includes/class-ld-cpt.php – at around line #134 where flush_rewrite_rules is called, add the following code just below flush_rewrite_rules line:
update_option( ‘ld_rwrules_updated_at’, microtime() );
2. In the same file( or functions.php of active theme ) add the following code:
add_action( ‘wp_footer’, ‘print_ld_rwrules_updated_at’ );
function print_ld_rwrules_updated_at(){
echo “————-rwrules updated at ” . get_option( ‘ld_rwrules_updated_at’ ) . “———-“;
}
Go to front end of the site and trigger any ajax request. e.g:
1. go to buddypress acitivities page and ‘favorite’ an activity
2. upload your profile picture.
Reload the page, you can see, at the bottom of page, the time when flush rewrite rules was called.
Eveytime you trigger any ajax request and then reload the page, you’ll see this value change.
That is what’s problematic.
Lucinda says
Thank you so much, Derek.
That is all too complex for me as I don’t know coding. It makes me very nervous.
I’m scarred by recent use of IM… And just want something to work smoothly and simply… And since my html is limited I need to know that there is support.
I’m really troubled that their Dev team was not helpful…
I wrote to both sensei and learndash the same day i wrote here… Have had two responses from LD and none from Sensei.
Actually, you will likely know the answer: does Sensei protect source urls on videos? As in, people can’t right-click and save or copy URL? How do I protect my content from being copied?
Derek, what did your client find in the interim? And what would you recommend?
Thanks.
John Sundberg says
Hi Lucinda,
Personally I’d still opt for Sensei if I were starting a new LMS project. LearnDash support is probably more responsive than Sensei, but that doesn’t mean Sensei will leave you hanging for a legitimate support issue.
Neither LearnDash nor Sensei is going to protect your videos for you. What I do with clients who need or want their videos only available on their website is use VimeoPRO, and set the restrictions for each video as to where it can be played or viewed.
John
Lucinda says
Thank you, John! I appreciate your advice. 🙂
Derek Peterson says
BTW – here is the fix if anyone out there with learndash 404’s page not founds:
<?php
/**
* Plugin Name: Learndash-BP permalinks fix
* Description: Fixes the issue with permalinks reset by learndash whenever any bp activity( like uploading avatar image ) happens.
* Author: ckchaudhary
* Version: 1.0
*/
// Exit if accessed directly
defined( 'ABSPATH' ) || exit;
//Yep. Its's just one line of code!
//Make sure that when you activiate/deactivate learndash, just reset the permalinks once.
add_filter( 'learndash_flush_rewrite_rules', '__return_false' );
dot says
Derek,
I spent a lot of time debugging this issue a few months back, and finally gave up on LearnDash because after reading the documentation on their support page (https://support.learndash.com/frequently-asked-questions/#how-do-i-fix-404-errors-on-learndash-custom-post-types) I could not figure out exactly what was going on under the covers, so I couldn’t evaluate how safe (stable and performant) this fix would be. Their code fixes seem to simply be “try returning true. Doesn’t work? OK, try returning false!”
Can you give the 2 minute explanation of what’s happening here? It seems like each BuddyPress AJAX request is triggering the rewrite rules to be flushed, and that can’t be right. (Can it? And even if so, aside from grinding your system to a halt, why does flushing the rewrite rules cause a 404?) I ended up not implementing this fix in part because I couldn’t confirm that it was a safe/stable/performant fix. It seems like a weird and dangerous hack, but I might not be understanding what’s happening.