I'm working on a project to create a LMS site (like moodle but lite).

There will be courses with files, videos, quizz, etc. : i think it's possible to use book for that ?

I want to sell some of the courses so users must pay to have access (with paypal).

Do you think something like this is possible with Backdrop ?



This is such a broad question. I guess it all depends on the details. Backdrop and Drupal both have extensive access permissions and roles, so theoretically it's possible. As for quizzes, there is a pretty popular module in D7 called Quiz. It's not ported yet, but that may not be too difficult to port (though I see it uses CTools, which makes it a bit trickier). 

As for levels of access and payments, see Ubercart. There is a submodule called uc_roles that allows for payments for access. See this article.

Thank you for bringing up the topic of LMSs! It is a subject near and dear to my heart. As one of the people currently porting the Quiz module to Backdrop CMS, I can state that yes, the use of CTools by the Drupal version of Quiz is one of the largest challenges during this port so far. It is currently located in my Github repo at https://github.com/rositis/quiz if you want to join the effort!

I might be interested in trying to help out.  Additionally I'm looking at the Course and Certificate modules.  Just starting.  I want to see what they do in D7.  I use Opigno but I find it unwieldy.  There's a lot of stuff that I don't think I need.

Backdrop CMS does not have a LMS distribution or any modules that have been specifically ported for a LMS to my knowledge. 

But, I think you could probably build a "lite" LMS with Backdrop core and available contributed modules, depending upon your requirements (and assuming that you keep it basic). 

If you would like a little free consulting on this, I recommend that you create a more detailed list of your minimum viable product requirements and do one or more of the following:

  1. Simply post there here for feedback on what will be easy and what might be problematic.
  2. Bring the list to Backdrop office hours, where some of us would enjoy chatting with you about possible strategies. This would be a fun problem to talk about.  https://backdropcms.org/news/events
  3. Register for Backdrop LIVE and facilitate a discussion on "Building an LMS in Backdrop CMS" - show up with your list of requirements and some questions and use the time to get input and ideas from other members of the community. I am pretty confident that others in our community would be very interested in this discussion. You might even find some folks interested in collaborating on a Backdrop CMS LMS distribution or module. https://events.backdropcms.org/


Hello and thank you very much for your answers. I'll start by saying that I'm French so I have a little trouble sometimes with English. :-)

I do think that having an LMS based on Backdrop would be a very good idea. Something "simple" and lite. I do not have the technical development skills to embark on such a project unfortunately (php is not a real friend).

The other products I look at are moodle (very complete) and Wordpress/Leanrpress (probably what it would take for backdrop).

I know that with Backdrop, the basic bricks are almost all there: Rules, Ubercart, H5P, OG

What is an LMS lite for me? - Courses: several lessons (web page, pdf, video, audio, quiz), sequence of lessons - Student management: enrollment to a course (paid or free) - e-commerce

I know it's not that "simple".


> What is an LMS lite for me?

For us to be helpful, we need more details than "Courses: several lessons (web page, pdf, video, audio, quiz), sequence of lessons." 

Here is a very lite version of LMS that I think you could build with Backdrop without any custom code - although it might take some advanced site building skills and some time.

1) A student is able to register for and pay for a class. Upon payment, the user is assigned and role and has access to course materials. 

2) The student is able to work their way through a variety of lessons that they only have access to, because they registered in step 1. 

3) The student is able to complete a basic quiz for review by a third party or submit assignments for review. 

4) As the student has a dashboard, where they access to a list of items that they need to complete the course.

This is a very simple LMS and possible to build in Backdrop. If you tell us specifically, how much more complicated you want it to be, we might be able to give you an idea of just how difficult it would be or what kind of strategy you might need. 

Managing lots of classes as opposed to just one or a few, would increase the difficulty quite a bit. More advanced quizes or student to student interactions, increases complexity. Making it really easy to use increases complexity.

Whether you build this yourself or hire someone to work on it, creating a detailed list of technical requirements will serve you well down the road. Consider this an opportunity to start thinking more about the details and you will be much better prepared to decide whether Backdrop might work for you and if not, what the right tool might be.  


First I really wants to thank you again for this help. It's very very cool.

The site i'm working on will have more than one module (class or course : i don't know the good word to describe it in english).

A module is :

- A description

- One or more pages of text and images

- One or more videos

- Maybe some pdf files

- Some quizzes

- The idea is you can see the next lesson only if you have finished the current one or if the quiz is perfect.

- Maybe a certificate at the end or not


A user (anonymous) will see all available modules and the price of each. To participate, the user must register and buy one or more mules. After that he will see all available modules he registered on.


I never worked on an e-commerce site before so i don't know what can be done with ubercart (but it's just a question of work).

I saw that OG was ported to backdrop and it's very cool

I'm not sure it's possible to do this with backdrop today but i'm quite sure it's a good idea for futur.


And again i wan't to thank you.

I try to convert with coder_upgrade the module course

And the result is not very very good ;-)

Fatal error: Uncaught Error: Class 'EntityAPIController' not found in /var/www/html/backdrop/modules/course/includes/CourseObjectFulfillmentController.inc:3 Stack trace: #0 /var/www/html/backdrop/core/includes/bootstrap.inc(4045): require_once() #1 [internal function]: backdrop_autoload() #2 [internal function]: spl_autoload_call() #3 /var/www/html/backdrop/modules/entity_plus/entity_plus.module(981): class_implements() #4 /var/www/html/backdrop/core/includes/theme.inc(545): entity_plus_theme() #5 /var/www/html/backdrop/core/includes/theme.inc(701): _theme_process_registry() #6 /var/www/html/backdrop/core/includes/theme.maintenance.inc(104): _theme_build_registry() #7 /var/www/html/backdrop/core/includes/theme.inc(291): _theme_load_offline_registry() #8 /var/www/html/backdrop/core/includes/theme.inc(1010): theme_get_registry() #9 /var/www/html/backdrop/core/includes/errors.inc(256): theme() #10 /var/www/html/backdrop/core/includes/bootstrap.inc(2979): _backdrop_log_error() #11 [internal function]: _backdrop_exception_hand in /var/www/html/backdrop/modules/course/includes/CourseObjectFulfillmentController.inc on line 3

My skill in php, well, is not very very high :D

First, what module are you trying to port?

Whichever this is, it is one of those modules that are more difficult to port with coder upgrade, because it uses classes like EntityAPIController that are not present in Backdrop. There is some manual tweaking needed. I could take a look over the weekend. But in the meantime you may want to try manually changing to DefaultEntityController or EntityDatabaseStorageController.

If you tell me the module name I can take a quick look. 

[EDIT: I see you are trying to convert course - sorry, I missed that]

OK I see it's the module Course. You'll run into a similar issue with EntityAPIControllerExportable.


So, this is what I suggest:

  • Be sure the module Entity Plus is in the modules folder before you run coder_upgrade
  • in course.module, manually change EntityAPIController for EntityPlusController
  • in course.module manually change EntityAPIControllerExport for EntityPlusControllerExportable

Then try running coder_upgrade.


And you also want to have the module Entity UI in the modules folder too

And one more thing: you'll need to modify course.info to add:

dependencies[] = entity_plus

dependencies[] = entity_ui

Thank you for your help.

But I'm definitively not a php programmer :-(

I can't make it work. When i try to enable the course module i have an error 500


Hello all,

I'm going to try something with Ubercart, content access and h5p...

I will let you know.

In Info Veritas's picture

Hello all,

After many changes to the project, I'm happy to say that it's finally here!

If you are French-speaking and want to learn more about writing, don't hesitate to take a look at https://lesprosdelecrit.fr

Thank you all for your valuable help here and to the module contributors.



Si vous êtes francophone et que vous voulez en apprendre plus sur l'écrit, n'hésitez pas à aller faire un tour du côté de https://lesprosdelecrit.fr

What modules did you port? Quiz?


I've been working on Quiz from time to time.   If these modules are ported could they be added to backdrop-contrib?

In Info Veritas's picture

Nothing like this, i just worked with existing one and many things changed in the objectives of this site.

I'm not a good dev so it was to hard for me top port.

I'm using h5p, Ubercart, Rules, and all (well a part of) the possibilities of backdrop.

It's not a complete lms but a kind of...

Sorry if I made a false joy or an announcement that was a little too triumphant. I promised to keep you informed and I'm happy to have managed to do without Wordpress on this one.