How to Enable Programs in LMS

Hi everyone!

My problem is about how to enable programs in Tutor. I installed discovery plugin and enable it. I added couple sample programs in discovery admin panel but they didn’t shows up in LMS. Also in the LMS admin panel I added this {"COURSE_CATALOG_API_URL":"http://discovery:8000"} catalog url settings and set “Programs api configs” enabled but I didn’t understand what is development process of programs after this?


The tutor-discovery README has some tips, do they help?

I believe the cache_programs command actually needs to be run regularly ; it is scheduled with a cronjob on this native sandbox installation, and we’ve had to do something similar for the refresh_course_metadata command so that discovery can see when you create new courses.

I’m not sure what the preferred way to configure and run cronjobs in Tutor is though? From this post, it looks like you can schedule a cronjob on your host system to run tutor local exec <run management command>.

Thank you for your reply. It’s helped me.

After I use Discovery for some, a couple of questions appear in my head.

  • In Discovery, Courses have many features they don’t have in LMS. (e.g. Tagging) Why on the LMS side these features do not show up?
  • Why Discovery doesn’t have a Studio like LMS? Django admin panel usage is not good.

Thank you again for your help.

I believe this is because Discovery data is used to power custom course search on, which does use tags.

Unfortunately, the course search frontend edX uses isn’t open source, so we can’t use it. :frowning:

It has a MFEs (micro-frontend) app. GitHub - edx/frontend-app-publisher: Publisher frontend to manage course creation and marketing content curation.
This plugin lets you add MFEs to Tutor: tutor-mfe · PyPI

I haven’t used that frontend before, and it may not be tailored to your use case. But it’s surely an improvement on django admin :slight_smile:

@jill do you think we should recommend to users of the discovery plugin to run this command regularly? There is no mechanism in place in tutor to run cronjobs. Instead, we could create a Docker service that would run tutor local run lms ./ lms cache_programs && sleep 3600. Do you think we should do that?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.