wg-build-test-release icon indicating copy to clipboard operation
wg-build-test-release copied to clipboard

Olive: list of new MFEs

Open pdpinch opened this issue 3 years ago • 15 comments

Having a list of new MFEs will help with planning, testing and documentation of olive.

  1. this list is still in progress
  2. frontend-app-course-authoring
  3. frontend-app-authn
  4. frontend-app-learner-record

To be included in the olive release, a MFE must:

  1. have an olive branch
  2. be added to the tutor MFE plugin

To be supported in olive, a MFE must:

  1. have sufficient documentation for a site operator to turn it on
  2. meet the criteria of https://github.com/openedx/build-test-release-wg/issues/131
  3. be tested as part of the testing plan

pdpinch avatar Sep 26 '22 15:09 pdpinch

In the nutmeg release notes, these MFEs were identified as "pre-alpha" and presumably should be considered for olive:

pdpinch avatar Sep 26 '22 15:09 pdpinch

The Discussions MFE has maybe: True for inclusion in the open edX release. Unless that changes, it won't get a branch for olive.

pdpinch avatar Sep 26 '22 15:09 pdpinch

I discovered another MFE, via its setting, ORA_GRADING_MICROFRONTEND_URL

pdpinch avatar Sep 29 '22 17:09 pdpinch

@Tj-Tracy FYI

hurtstotouchfire avatar Oct 04 '22 15:10 hurtstotouchfire

According to @nedbat in Slack, these are the MFEs that will get olive branches:

edx/frontend-app-communications
edx/frontend-app-learner-dashboard
edx/frontend-app-ora-grading
openedx/frontend-app-account
openedx/frontend-app-authn
openedx/frontend-app-course-authoring
openedx/frontend-app-ecommerce
openedx/frontend-app-gradebook
openedx/frontend-app-learner-record
openedx/frontend-app-learning
openedx/frontend-app-payment
openedx/frontend-app-profile
openedx/frontend-app-publisher
openedx/frontend-app-support-tools

~~openedx/frontend-template-application~~

pdpinch avatar Oct 10 '22 15:10 pdpinch

Are we any closer to agreeing which ones will be added to the tutor-mfe plugin?

arbrandes avatar Oct 12 '22 14:10 arbrandes

There's a PR to add frontend-app-learner-record, for the record: https://github.com/overhangio/tutor-mfe/pull/63

arbrandes avatar Oct 12 '22 14:10 arbrandes

There's a ticket to test Course Authoring. https://github.com/openedx/build-test-release-wg/issues/202

arbrandes avatar Oct 12 '22 14:10 arbrandes

Considering the huge list of new MFEs that are expected to land in Olive, I'm very anxious that we merge the runtime configuration feature. If we don't, I'm afraid we won't be able to release Olive at all. I suggest we have this conversation here: https://discuss.openedx.org/t/mfe-runtime-configuration/8495

regisb avatar Oct 13 '22 15:10 regisb

I think we can safely omit frontend-template-application from the list of potential MFEs. I don't even know why it has an olive branch.

pdpinch avatar Oct 14 '22 15:10 pdpinch

Copy-pasta of a post I made in the forum:

Do we need to include every MFE in that list in Tutor/Olive?

TLDR: No.

MFE developers (as of now mostly employed at or by 2U) are aware they can't remove a feature in edx-platform before the MFE that replaces it is officially accepted as being production-ready by the community. This should apply to each MFE in that list, and it means we don't have to enable any of them for Olive if we don't want to.

How do we decide which ones to include?

TLDR: Don't know. We need to decide how to decide.

While the ultimate decision on whether an MFE is ready is in fact up to the community, and in particular, the BTR group, there is no official method to arrive at this decision. This is a problem we should fix pronto, precisely so we can answer the question of which ones to include.

This comment in the ticket where we're tracking this question is a collation of the information I could find. Please refer to it and add your comments, including which MFEs you would like to have included, and why. Once we have a reasonable idea of where the community's opinion lies, we can start to narrow down the list in a technical fashion: by checking each MFE against the criteria.

(And yes, right off the bat it looks like a sine qua non criterion is whether the MFE supports runtime configuration.)

Product considerations

TLDR: Let's consult the Product Working Group as well.

There are product considerations to take into account. Ultimately, I think the list will be narrowed down a lot by them. I'm not saying they have ultimate say, but it doesn't make sense to start maintaining Tutor support for an MFE if it doesn't make sense to make it part of the Open edX product at a given point in time.

I've started discussing this with @jmakowski, yesterday. The short of it is that my job will be to try and put all stakeholders together (mostly asynchronously, such as via this post) so we can decide ASAP which MFEs to work on for Olive.

arbrandes avatar Oct 14 '22 15:10 arbrandes

@arbrandes @pdpinch Just noting the parallel ticket I'm working on here to try and get as much product-oriented data as possible for these. Each MFE has a ticket now on the community roadmap and a template for base level of acceptance criteria data: https://github.com/openedx/tcril-engineering/issues/495

The discussions MFE has some info. The rest I'm investigating...

jmakowski1123 avatar Oct 18 '22 20:10 jmakowski1123

FYI @arbrandes / @pdpinch I've worked with Jenna to get https://github.com/openedx/frontend-app-learner-record/issues/107 fleshed out for LRMFE. Our goal is for it to be included in Olive, off by default, for any adventurous beta adopters who have worked out a way to run the Credentials IDA. For Palm, we will aim to have Credentials supported in Tutor and the old UI will be removed, so the MFE will be mandatory in Palm.

Note that https://github.com/overhangio/tutor-mfe/pull/63 is blocked pending a consensus on the merge target and documentation.

Edit: since it sounds like runtime config is also required I'm adding that to our running todo list for releasing with Olive but please lmk when an official checklist exists.

hurtstotouchfire avatar Oct 20 '22 18:10 hurtstotouchfire

The following MFEs have at least one champion in the BTR group for inclusion/enablement by default in the tutor-mfe plugin for Olive, so will be prioritized in testing:

  • frontend-app-course-authoring
  • frontend-app-ora-grading

The following has an open PR for inclusion and no objections were raised, so it will be tested:

  • frontend-app-learner-record

The following met no objections to "optional enablement", where there will be instruction in the Release Notes on how to get them running with Tutor, but they won't actually be part of the tutor-mfe plugin this release:

  • frontend-app-authn
  • frontend-app-support-tools

Last but not least, the group thinks frontend-app-discussions will likely not meet requirements in time, but a suggestion was made to make it its own plugin. The question was raised: are the authors of frontend-app-discussions willing to create and maintain such a plugin?

arbrandes avatar Oct 24 '22 17:10 arbrandes

It was raised in the forum that frontend-app-authn has a (possibly) pressing reason to be included now, so I'm adding it to the championed list.

arbrandes avatar Oct 26 '22 19:10 arbrandes

The final list of nominees:

  • frontend-app-course-authoring
  • frontend-app-discussion
  • frontend-app-ora-grading
  • frontend-app-learner-record
  • frontend-app-authn

Their status against the list of requirements is also being kept in the wiki:

https://openedx.atlassian.net/wiki/spaces/COMM/pages/3571056752/Olive+MFE+Candidate+Requirements+Matrix

(There are some more details in comments to this other issue.)

Hopefully we'll have a decision on which ones we'll actually include tomorrow.

arbrandes avatar Nov 06 '22 18:11 arbrandes

From yesterday's meeting, BTR have elected the following two new MFEs for potential inclusion, pending volunteers to fix individual issues. If individual issues listed below are not fixed in the next two weeks (leaving two further weeks for testing/translation), they will not be included:

  • frontend-app-course-authoring:

    • https://github.com/openedx/frontend-app-course-authoring/issues/383 (@ghassanmas, do you mind commenting on that issue so we can assign it to you?)
    • https://github.com/openedx/frontend-wg/issues/143
    • https://github.com/overhangio/tutor-mfe/issues/79
  • frontend-app-ora-grading

    • https://github.com/openedx/frontend-wg/issues/144
    • https://github.com/overhangio/tutor-mfe/issues/80

arbrandes avatar Nov 08 '22 14:11 arbrandes