Architecture Roadmap Details, 2018-19

Architecture OGSP

Architecture Theme OGSP document

Architecture Roadmap Progress

Frontend Development

Processes



Architecture Roadmap Timeline


Architecture Goals, Plans, and Status

High Level


Legend


Detail Level


Descriptions

Split Frontends Runway

TaskDescription

Requesting
Teams

DependenciesWild GuessStart

(Target)

Actual

Deployment Pipeline, Phase 1GoCD pipeline that publishes static frontend files to a named S3 bucketEnterprise, Discovery, Publisher, JournalsDevOps4 weeksJuly 2

(Aug 3)

Aug 3

Authn: Monitoring & LoggingNew Relic dashboard to monitor authentication-related errors and performance metrics.

1 weekJuly 9

(July 27)

Aug 20

Authn: JWT: Asymmetric KeysEnabling Auth service and REST endpoints to use asymmetrically signed JWT tokens
DevOps1 week

July 23

(July 30)

Aug 1

Authz: OAuth Scopes in platformEnable in productionMicrosoft
2 daysJuly 31

(Aug 1)

Aug 8

Authn: SSO across micro-frontends (a.k.a., JWT Session Cookies)

Allow users to seamlessly navigate from one microfrontend to another without re-authenticating if desired by the microfrontend.

IDAs: edx-platform, ecommerce (for Enterprise)

Enterprise,  Publisher,
Ecommerce


1 week (POC),
2-4 weeks

(Aug 1)

Aug 8

(Oct 6-GS)

Nov 16

Shared Header & Footer

(with Micro-frontend configurations)

Reusable header and footer components that can be shared across our IDAs to provide a consistent experience as users navigate from one micro-frontend to another.

We will target the following micro-frontends initially: Grades, LMS, Studio.

Enterprise, Discovery, Publisher, Journals,
Masters

UX, Product4 weeks

(Oct 22)

Dec 3

(Dec 21)

Replatform

TaskDescription

Requesting
Teams

Dependencies

Wild Guess

Start

(Target)

Actual

Pick a LMS feature to rewriteGet input from other themes/teams and make decision on which feature
UX, Theme teams1 week7/278/3
API Best PracticesDevelop (via OEPs) and implement (via fitness functions) best practices, as learned from writing the APIs.

Ongoing
(May 29-DO)
Design systemFedX and UX: implement commonly required components with a style guide.
UXOngoing


Change History

 Click here to expand...
  • 2019-03-19
    • Roadmap Timeline
      • Added Open/Closed; postponed API Practices
      • Updated MFE Runways: i18n, Error Logging, Analytics, Observability
      • Pages: Learner Profile completed; Added Account Settings and Order History
    • Roadmap Progress
      • Processes: Started Open/Closed; moved Open/Closed before API Practices
      • FED: Started Design System
  • 2019-01-15
    • Detailed Diagram
      • "Minimize code complexity": 10% → 45% (since the DEPR process is alive and kicking, but the Feature Toggle reporting is still pending)
      • "Sustainable Developer Docs": 10% → 80% (since monitoring and encouraging adoption)
      • "Split Frontends": 50% → 60% (need to complete shared header/footer work and support deployments to other environments)
      • "Rewrite Legacy Features": 0% → 5%
      • Added "Sustainable Design System" at 10%
    • Roadmap Timeline
      • Added Design System, Microfrontend i18n, Learner Profile
      • Removed Learner Dashboard and Login/Registration pages
      • Shifted dates forward by about 2-4 weeks
  • 2019-01-08
    • Added "Roadmap Progress" diagrams
  • 2018-11-26
    • Dates
      • JWT cookies: completion date: 11/16.
      • Shared Header/Footer start date: 11/4 → 11/19
      • Login & registration start date: 12/15 → 12/21
    • Changed Microfrontend customization → Paragon & Paradigm boundaries, as the Arch Runway that is co-executed with Shared Header/Footer.
  • 2018-10-31
    • API Diagram - Removed and incorporated into Detailed Level diagram
    • Detailed Diagram
      • "Split Frontends": 20% → 50%
      • "Authentication SSO Microfrontends": 70% → 90%
      • "Deprecation / Removal": 85% → 100%
      • "Shared Header/Footer": 5%
      • Faded out all projects that are not anticipated to be tackled by the current Arch team this coming year.
      • Added Dates to diagram.
    • Added visual Timeline.
    • Updated target date for Universal header/footer: 10/30 → 12/15 (since longer tail of SSO).
  • 2018-09-10
    • Detailed Level diagram
      • Independently deployed microfrontend: 60% → 100%
      • Authentication: 10% → 50%
    • API Diagram
      • Authentication
        • JWT Asymmetric keys: 60% → 100%
        • Monitoring/Logging: 50% → 100%
    • Updated target date for Universal header/footer: 10/19 → 11/30 (since tackling JWT consolidation).
    • Added "Login & Registration" and "Learner Dashboard" as target rewriting efforts.
  • 2018-08-24
    • "Independently deployed microfrontend": 80% → 100%
    • "Authn Monitoring / Logging": 80% → 100%
    • "SSO Microfrontends": 40% → 75%
    • Added OEPs in diagram for: "SSO Microfrontend", "Realtime (xAPI) Events", and "Blockstore".
    • Added "Sustainable Dev Docs" to current work.
    • Changed actual date for "Authn Monitoring / Logging": 7/27 → 8/10 → 8/20
  • 2018-08-06
    • "Independently deployed microfrontend": 60% → 80%
    • "Authn Monitoring / Logging": 50% → 80%
    • "SSO Microfrontends": 10% → 40%
    • Changed expected dates in the diagram: 8/3 → 8/10
  • 2018-08-01
    • "JWT Asymmetric Keys": 60% → 100%
    • Updated wild guess for "Universal Header & Footer" to be 4 weeks
  • 2018-07-27
    • Detailed Level diagram
      • Independently deployed microfrontend: 10% → 60%
      • Authentication - now in progress
      • Open edX Plugins - added
    • API Diagram
      • Authentication
        • JWT Asymmetric keys: 10% → 60%
        • Monitoring/Logging: 50%
  • 2018-07-19
    • Completed Timeline section for until mid-October.
  • 2018-07-11
    • Added this change history section.
    • Moved "Reactive" design principle to the center of the diagrams.
    • Renamed "Eventing" to "Event Streaming (Pub/Sub)".
    • Started Timeline section.
    • Added "Enhance xBlock Framework" to detail diagram (as unplanned).
    • Explained "Blockstore" and "Adaptive" as "Resourced mostly by Community" in Legend.
  • 2018-07-06
    • Added "Product Input" (P) annotations to diagrams.
    • Added Blockstore and Adaptive projects to diagrams.