Horrible way to add custom plugins/xblock

Why it have horrible way of adding custom plugins/xblock?

I mean if we see other LMS systems even in Moodle, they all have some sort of page in administration area where a plugin can be uploaded and installed automatically. This system is more like a scrap thing where we have to apply fix to every thing through nuts and bolts just for the sake of supporting a plugin.

Point to ponder on!

Your judgement is harsh, but I tend to agree. Adding custom xblocks and apps to Open edX is too difficult. The difficulty comes from the nature both of Python and Docker:

  • In Python, code changes and extra requirements are not automatically picked up at runtime, as they would in PHP.
  • Because we run Open edX inside Docker containers, adding custom requirements means we need to rebuild some Docker images. (same as Discourse, for instance)

For reference, here are the docs on how to add custom requirements: Configuration and customisation — Tutor documentation

@zishanj Can you describe more precisely what you are trying to achieve?


I agree that installing a plugin is currently difficult, but it’s relatively easy compared to the overall complexity of installing Open edX. We do have Tutor as mentioned above, which makes both relatively easy. However, that assumes that you know what plugin you want to install. If you want to experiment and explore different plugins, then you’re absolutely right, Open edX has no useful way to do that.

This is why I think that a future plugin system should be JavaScript-based instead of Python-based. Then they can run in a sandbox, and instructors could add plugins to their own courses without requiring an administrator to install/approve them.