The New Studio Unit Page is out!

Hi!

I’m happy to announce that after the merge of frontend-app-authoring#1492 and tutor-mfe#249, the default Studio experience finally includes the new React-based and MFE-hosted unit page! Thank you to all who worked on it, but in particular to @Ihor_Romaniuk and @Peter_Kulko for a great implementation of a particularly tough cookie.

For context, we attempted to introduce this page together with the rest of the Studio conversion during the Redwood cycle, but decided against releasing it due to very poor performance of the page under run-of-the-mill conditions. It turned out that to fix the problem we had to pivot to a totally different approach: where before we tried to render each block in its own iframe, making individual backend requests and hosting all frontend dependencies that XBlocks could possibly require in each iframe, we ended up with a single iframe that, like the Learning MFE, displays the backend-rendered unit all in one go.

This is not without drawbacks, however: it means we still have a chunk of Studio UI code that gets rendered by the now aging frontend stack in edx-platform (not great for maintenance), and also that the new Studio MFE needs to manage a reasonably complicated messaging mechanism between itself and the iframe to make all Studio features work properly. (This got particularly complicated when handling special XBlocks such as split_test - a.k.a. Content Experiments - that themselves have dedicated daughter pages in Studio.)

With that in mind, I beseech users to go forth and try the new page out, reporting back any bugs you can find. All you need is a deployment of Tutor Main. Head over to Studio, create a new course and then some units. If you find any bugs, feel free to create issues in the authoring repo.

Thank you!

9 Likes

Congrats and thank you to all the amazing folks involved! :confetti_ball: I’m excited to see the authoring app become more unified and I’m excited by all the old code we’ll be able to remove as a result!

Thank you! The new course unit page was really interesting to work on! :100: