Blog from June, 2021

TL;DR: The initial Discussions initiative milestones have been completed, enabling edx configuration for Yellowdig + Piazza discussion integrations, as well as the initial edx internal preview of the new Page & Resources view in Studio. This new Studio view will roll out to educators (in ~July / August) as a way to centrally configure discussions and other course applications after additional testing and iteration. This work is also the first end user-visible result of many months of investment in LTI infrastructure and the second page to use our new course authoring MFE.

TL;UseEmoji: šŸ” šŸ”§ šŸ—Ø šŸ‘„

Product Lead: Marco Morales (Deactivated)
Engineering Lead: Awais Jibran (Deactivated) + Sarina Canelake (Do Not Use) (Deactivated)

What is it?

  1. The ability for edX admin to configure on a course teamā€™s behalf Yellowdig and Piazza course discussion integrations (with more options to come in the future).

  2. An edx internal preview of the new Studio app configuration area aka (Pages & Resources) that will roll out incrementally to educators in ~July/August.

  3. Our first end-user visible expression of LTI infrastructure investments and the expanded use of our course authoring MFE.

Additional detail for each ā€œwhat is it?ā€ item

#1 - In March we let partners know that we now support LTI based integrations for course discussions. Piazza and Yellowdig can be configured by edX so that the Discussions tab in courses embeds a full view of their integration. In the near future, educators will be able to configure these integrations themselves in Studio. Previously, course teams had to rely on workarounds for discussion integrations ā€“ asking learners not to use the Discussions tab, providing links to their external discussions within the content experience, or other adjustments to hide the edX Discussion area entirely.

#2 - Additionally, we have enabled an edX internal preview of the new Studio Page & Resources area. In this area, educators will be able to enable and configure all course applications eventually. Currently, only discussions can be configured in this preview, but in the coming weeks, other tools will be added ( Teams, Wiki, Progress, Textbooks, Custom Pages, and Notes). After an internal testing phase, we will roll this out to educators broadly.

#3 - Investments in our LTI infrastructure make possible our ability to configure these course discussion integrations. A great deal of behind-the-scenes work was completed to extend our existing course content LTI tools to support the general configuration of LTI integrations in other platform areas. Relatedly, the new Page & Resources view is powered by the new course authoring MFE, created to help us migrate course authoring experiences over time to the latest front-end technologies.

Key talking points for customers:

Why work on this area of the platform?
Course app configuration and discussions configuration are both rated as top 25 teaching and learning platform gaps according to our latest partner platform expert ratings and interviews. The discussion experience is also broadly speaking one of the top themes and trends across several other partner feedback channels.

By simplifying how educators configure discussions and other course applications we hope to simplify course authoring and management friction that results in higher costs to run courses.

Who will notice the change, and where?
This initial release is intentionally visible only to edX internal team members, with plans to expand visibly as we complete additional testing. Once fully rolled out this app configuration experience will be visible in Studio in the ā€œContentā€ dropdown of any courseā€™s authoring experience.

Will other integrations be supported?
Beyond Piazza and Yellowdig we are also working on support for Discourse, Inscribe, and Ed Discuss but we are still testing these additional configurations in collaboration with these providers.

My partners are interested in discussions and providing additional feedback, how can they do that?

We have shared previews of this upcoming experience with UQ, Harvard, Michigan, MIT, UT, and Berkeley, but for now please reach out to Marco Morales (Deactivated) or Jon F with additional partner feedback. In July / August we plan to introduce in-platform ways for educators to share feedback about this experience as shown below.

Results
Despite a partner portal broadcast in March letting teams know that they have the ability to use discussion integrations, along with specific course team follow-ups for edX + Yellowdig / Piazza customers, we have seen limited interest so far in configuring these tools in May / June. šŸ¤” Some of this is to be expected since less than 1% of the catalog relies on third-party discussions and many of these courses are archived or Masterā€™s courses already comfortable having tools live outside the edX experience. Some upcoming course runs in the summer have expressed interest in this option but we may have the Studio authoring experience ready for them to configure directly by then.

Our primary goal for this project as described in our Consumer Review spec memo is ā€œtoĀ transition over 90% of courses using third-party discussion integrations to use the new configuration modelĀ three months after general availability.ā€ We plan to review this goal three months after the ability for educators to directly configure these discussions is available.

Credits / A Group Effort!

Thanks to the Infinity ā™¾ļø squad (formerly known as T&L Pakistan)- Awais Jibran (Deactivated) , Asad Azam , Ahtisham Shahid , Saad Yousaf (Deactivated) , Mehak Nasir (Deactivated) , Awais Ansari for driving recent efforts on this project. Thanks also to Jon F and Gabriel Weinberg on the UX team for their efforts in bringing to life this experience in our new design system world.

Additionally, a big thanks to former T&L team members Sarina Canelake (Do Not Use) (Deactivated) , David Joy (Deactivated) , sburch (Deactivated) , as they drove much of the behind-the-scenes work since July 2020 that mas made this initial set of milestones possible.

This project is a multi-part blended development project that is also enabled by the development team at OpenCraft. Thanks to JP Beaudry (Deactivated) , Edward Zarecor (Do Not Use) (Deactivated) , Michelle Philbrick (Do Not Use) (Deactivated), and the Open edX team whose continued support of the blended development model has helped us push forward these investments in collaboration with OpenCraft while also in parallel driving other internal development projects forward.

Learning MFE

TL;DR (Quick Summary)Ā 

To increase development speed and site performance, weā€™ve made improvements to the learning sequence experience(Learning MFE) on edX-platform, to use a React-based frontend that emulates the legacy experience.Ā 

What is it?Ā 

After a year of diligently working to overhaul the learning sequence experience to use a React-based micro-fronted, it is now live for learners. This update to the underlying infrastructure of the learning sequence experience aims to drive innovation and experimentation that will ultimately foster greater learner engagement. With the new experience, learners will notice a reduction in load times and better site performance. However, the true beneficiaries of this work are internal development teams who will be able to quickly and efficiently build in this area of the system.

Key talking points for customers

Learners and partners should not experience a major change to the learning sequence experience. The primary goal of this initiative is to empower rapid internal development and external contribution. Given this, development teams are the primary benefactor of this effort. These teams will notice a reduction in development times and greater output of features.Ā 

ResultsĀ 

Using the React MFE allows for a richer learner experience by reducing course load-time and vastly improving the mobile-web experience. Additionally, the new experience supports learners by increasing internal development speeds which allows for greater feature development. By breaking down the courseware and reducing dependency, internal squads can more easily iterate and develop in this area of the platform. Today, we see the benefits of this infrastructure change to the learning sequence experience contribute to the release of several projects and experiments. Some of these initiatives include:Ā 

  • Engage Squad: Course Home(Outline Page, Dates Page, and Progress Page), and Course Exit Celebration

  • Aurora: MicroMasters Preview to Paid Revenue model experiment

  • Aperture: Certificate Availability Learner Messaging

Credits / A Group Effort!

Major thanks to the TNL-Cambridge Squad for driving this forward.Ā 

Product ManagerĀ Ā 

Engineering Lead

Software & UX Development

Marco Morales + Chimuanya OkoroĀ 

Sarina Canelake Ā + Julie DavisĀ 

Dave Ormsbee

Julia Eskew

Kyle McCormick

Special thanks to all other contributors who took part in this initiative not listed above.Ā 


TL;DR

Weā€™re replacing the back-end code (no UX changes) that generates course certificates with a new version to:Ā 

  1. condense the number of conflicting generation logic patterns,

  2. make it easier to troubleshoot/support, andĀ 

  3. to better defend generated certificates against errant revocation.

Problem

As weā€™ve expanded credentials and programs over the years weā€™ve added complexity to certificate generation, revocation, and updating - leading to ongoing debt paid by our support team to keep the lights on; to the tune of ~12 issues per month that require engineering assistance to resolve. Issues that require engineering assistance is a lagging indicator of the overall number of issues that the support team troubleshoots and solves independently.

During our investigation and maintenance we learned that course certificate generation and revocation processes were using multiple routes and logic definitions to determine if-and-when a course certificate should be generated. Sometimes leading to unissued, errantly revoked, or delayed certificates.

Course certificate award dates and statusā€™ are underpinning data points for learner records and program certificates. So an issue with a course certificate can cascade into issues with learner records, program certificates, and academic credit issuance as a result.

What is it?

Weā€™ve created a new, unified course certificate generation logic.

The improved logic has been applied to 41 courses since mid-May without issue and now weā€™ve rolled it out to the full catalog.

This new generation logic is the penultimate release of an ongoing body of work since January that has incrementally improved certificate generation, revocation, allow-listing, program record synchronization, and issue resolution times.

Results

The effect of these efforts has already driven the certificate-related support ticket trend lower than spring 2019 levels (while supporting 16% YoY enrollment growth) and we expect this trend to continue along with decreased time-to-resolution for issues that do arise.

Key talking points for customers

Learners and partners should not notice any change. The only effect is that they should see a reduced time to resolution if they ever encounter a problem related to certificates or credentials.

Internal Info

Prior to this release, there were up to 6 different logic patterns used to calculate course certificate generation. This release has unified all of those patterns into a single logic set as follows.

For a learner to receive a course certificate in the downloadable state (i.e. accessible), the following things must be true at the time the certificate is generated:

  • The user must have an enrollment in the course run

    • The enrollment mode must be eligible for a certificate (i.e. paid)

    • The enrollment does not need to be active

  • The user must have an approved, unexpired, ID verification

  • The user must not have an invalidated/revoked certificate for the course run (see the CertificateInvalidation model)

  • HTML (web) certificates feature must be enabled for the edX instance (which it is for the edX site/org), and also enabled for the course run

  • The user must have passed the course run

  • The user must not be a beta tester in the course run

  • The course run must not be a CCX (custom edX course)

Build Together

Points of Contact for Questions

Engineering: crice (Deactivated) Justin Hynes | Product: Ryan O'Connell

The Team

Matt Tuchfarber (Deactivated) TJ Tracy (Deactivated) Olivia Ruiz-Knott (Deactivated) Albert (AJ) St. Aubin (Deactivated) Gabriel Weinberg Kevin McGrath (Deactivated) Jennifer A. Akana (Deactivated) Adam St. Jean

TL;DR: Educators using our course import tools would occasionally get blocked from progressing. Aside from no clear steps, the resolution required edX development and partner support team assistance, delaying authoring and publishing timelines for courses. Now that educators can now triage the issues themselves, we have seen no new development bug reports since release.

TL;UseEmoji: āš  šŸ˜ˆ šŸ˜„ šŸ’ØšŸ’ØšŸ’ØšŸ’Ø āœØšŸ¦øā€ā™€ļø šŸš„

Engineering Lead: Awais Jibran (Deactivated)
Product Lead: Sarina Canelake (Do Not Use) (Deactivated) + Marco MoralesĀ 

What is it?
We wanted to provide an update on some improvements we have made to Studioā€™s course import functionality. While many course teams do not commonly use this tool, educators cannot continue course authoring when it does fail. Previously, course teams would occasionally encounter issues importing a new version of their course through Studio. Existing error messaging made the root cause hard to discern, requiring course teams to reach out to edX for assistance.

Below are two examples of the many new error messages that provide detailed location names and suggestions to educators on how to resolve their import issues.

Key talking points for customers:

Who will notice the change, and where?
Course authors blocked by the import tool might be unable to update or launch their course without edX intervention but now they will see specific error messages in the course import area of Studio. A full list of messages shown to educators is /wiki/spaces/PT/pages/2594275334.

Credits / A Group Effort!

Thanks to the T&L - Pakistan team for driving this fix forward ( Awais Jibran (Deactivated) , et al) as well as Sarina Canelake (Do Not Use) (Deactivated) who helped support this projectā€™s scoping and initial setup earlier this year. Thanks also to support from Emilio Rodriguez (Deactivated) and Julie Davis (Deactivated) for assessing the impact of the work done!