Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extract tutorcore from tutor #35

Open
kdmccormick opened this issue Jan 27, 2022 · 3 comments
Open

Extract tutorcore from tutor #35

kdmccormick opened this issue Jan 27, 2022 · 3 comments
Labels
code health Proactive technical investment via refactorings, removals, etc. epic Large unit of work, consisting of multiple tasks tutor Requires a change to Tutor

Comments

@kdmccormick
Copy link
Member

kdmccormick commented Jan 27, 2022

Copied in from the existing backlog. Needs grooming.


  • Forums are now a plugin
  • LMS/CMS are still in the core.

Tutor should be refactored so that applications that are now considered "core," e.g., edx-platform, are refactored to use the plugin subsystem

@kdmccormick kdmccormick changed the title . As a developer I want better theming support in Tutor Jan 27, 2022
@kdmccormick kdmccormick changed the title As a developer I want better theming support in Tutor Plugins all the way down Jan 27, 2022
@regisb
Copy link
Contributor

regisb commented Feb 4, 2022

I believe that working on this matter will help us resolve openedx-unsupported/wg-developer-experience#32: a robust and comprehensive plugin mechanism will be necessary to extract the LMS and CMS from the core.

@kdmccormick
Copy link
Member Author

From #28:

Well, when we move the LMS and the CMS out of the core, I expect that the current tutor documentation is still very much going to remain the same. It's actually the "core" that will be moved away from tutor and to a different project, with its own documentation. So if we end up with two new documentation pages where we have an exhaustive list of patches and settings, then this list will remain there.

Interesting!

If we start with this world:

tutor:
config, patches, templates, plugins, lms, cms
----------------------------------------------
^            ^ 
|            |
tutor-forum  tutor-discovery   etc...

I had imagined (assumed?) that the LMS/CMS extraction would yield a world like:

tutor:
config, patches, templates, plugins
---------------------------------------
^          ^          ^            ^ 
|          |          |            |
tutor-lms  tutor-cms  tutor-forum  tutor-discovery     ...etc

ie, Tutor is a generic tool for configuring and running pluggable webservices, with Open edX LMS & CMS being its flagship plugins.

But it sounds like you envision something more like:

tutorcore:
config, patches, templates, plugins
-----------------------------------
^        ^
|        |
|        other-tutorcore-based-tools?
|
|
tutor: lms, cms
--------------------------------------
^             ^ 
|             |
tutor-forum   tutor-discovery   etc...

ie, Tutor-Core is a generic tool for configuring and running pluggable webservices, and Tutor (which runs Open edX LMS & CMS) is its flagship plugin, which itself can be customized through Tutor-specific Tutor-Core plugins.

Do I have that right?

@regisb
Copy link
Contributor

regisb commented Feb 4, 2022

Tutor-Core is a generic tool for configuring and running pluggable webservices, and Tutor (which runs Open edX LMS & CMS) is its flagship plugin, which itself can be customized through Tutor-specific Tutor-Core plugins.

Yes, this is exactly right :) As a devops I spend a lot of time installing and managing software, and I'm always amazed how frequently how different projects need to reinvent the same thing to make their open source software installable. For instance:

There are tons of tools out there that would benefit from a simple configuration/environment/cli management interface. I felt really bummed and surprised that I didn't discover an existing, more appropriate solution when I started working on Tutor. The closest I could find was Ansible but there were several issues with that:

  • Logging is terrible
  • CLI is non-intuitive
  • Too damn slow

@kdmccormick kdmccormick changed the title Plugins all the way down Extract tutorcore from tutor Feb 17, 2022
@regisb regisb mentioned this issue Apr 1, 2022
6 tasks
@kdmccormick kdmccormick added the epic Large unit of work, consisting of multiple tasks label Mar 6, 2023
@kdmccormick kdmccormick added the code health Proactive technical investment via refactorings, removals, etc. label May 31, 2023
@kdmccormick kdmccormick transferred this issue from openedx-unsupported/wg-developer-experience Mar 28, 2024
@kdmccormick kdmccormick added the tutor Requires a change to Tutor label Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code health Proactive technical investment via refactorings, removals, etc. epic Large unit of work, consisting of multiple tasks tutor Requires a change to Tutor
Projects
No open projects
Development

No branches or pull requests

2 participants