No MFE for /courses sub pages ? Still using legacy?

Hi,

Is there supposed to be a MFE for the /courses page ?

It seems that it is still served under the “edx” and not “apps.edx” domain. I thought Ulmo was getting rid of all legacy pages ?

Thanks

There is an MFE in development:

As far as I know (@brian.smith, correct me if I’m wrong), it’ll be shipped as a default in Verawood. Right now you can enable it experimentally by following the instructions in the README.

Mmm, I was mistaken, I thought that the /courses page was not covered by the catalog MFE. It is… however, only partially.

I have enabled the frontend-app-catalog MFE, but it does not cover the “Teams”, “Wiki”, and “Instructor” pages. Or maybe the links need to be updated in the learning MFE ?

Those tabs still point to the legacy “/courses” page, instead of the new catalog page, i.e. pages such as

/courses/course-v1:OpenedX+DemoX+DemoCourse/teams/#browse

/courses/course-v1:OpenedX+DemoX+DemoCourse/wiki/OpenedX.DemoX.DemoCourse/

/courses/course-v1:OpenedX+DemoX+DemoCourse/instructor#view-course_info

Ah, I see, that is a problem. As part of creating the new Catalog MFE, the links to the courses page from those pages were not updated (because Catalog MFE is not the default). I’m not sure the best way to update those links.

@arbrandes do you think there’s a way to set up a redirect so clicking “view courses” from the remaining legacy pages redirects to the new catalog mfe?

I already fork all of the MFEs because I need to add a script in their <head> section (i.e. Adding a custom JavaScript (cookieyes banner) to *all* <head> of all pages ) (as a side note, having a plugin slot for this would be great), so if I can be pointed to what changes should be made in the learning MFE, I don’t mind doing it.

Unfortunately not all legacy pages have been converted to MFEs. The pages you mention (Instructor dash, wiki, custom tabs) are not yet in an MFE. The instructor dash will be in an mFE for Verawood.

Yes, that’s exactly how we’ve done it since MFEs were first introduced. For example, a Learner Dashboard redirection. Problem is, this has to be implemented in edx-platform itself. There’s no easy way to tack that on as a plugin, unless you count applying a patch to edx-platform in the Dockerfile as easy.

Additional context:

For the Catalog MFE to function properly:

  • CATALOG_MICROFRONTEND_URL must be set
  • ENABLE_CATALOG_MICROFRONTEND must be True

Use in platform:


I’ll do a bit more digging to see what links aren’t redirecting properly.

I was under the impression that the PR adding redirects

hooked up the redirects at a deep enough level to handle all the links.

@mboisson before I dive into this investigation.

Is the issue you’re experiencing that:

or

  • There are some pages that don’t exist in the Catalog MFE

According to @sarina’s comment above, it seems to be that those pages aren’t in the catalog MFE yet. So I guess I can’t confirm whether it is the link that is broken or that it fails to redirect only because those pages are not in the catalog MFE

@mboisson could you provide some screenshots highlighting the problems you’re seeing? I think we might not fully understand your issue. But to clarify, in Ulmo, there are still legacy pages, namely the Instructor Dashboard (which will be its own MFE, it is not in the Catalog MFE which only covers catalog and about pages)

Sure. See the attached 4 screenshots. See how the first (Dates) points to apps.edx.edu-dev.calculquebec.cloud/learning/… (i.e. the learning MFE)

while the other three point to

edx.edu-dev.calculquebec.cloud/courses/… (i.e. the legacy courses page)

@mboisson this is not correct. There are still legacy pages in Ulmo. I misunderstood your question - the pages you linked are still Legacy in Ulmo.

The Catalog MFE only covers three types of pages (and will not be covering others):

  • Course Home
  • Course Catalog
  • Course About

See GitHub - openedx/frontend-app-catalog for more detail on the purpose of this MFE.

Ah, I see. I thought I read that the catalog MFE was the last one needed.