FC-0007 - Project Hour Tracking

 

Milestone Goal(s)

Hour Estimate Low

Hour Estimate High

NOTES (Date collected)

1

Product and Architecture Overview:

  • Setup check in cadence with OEP sponsor to ensure project is kept on time and budget

  • Engage with Stakeholders to the OEP and at Axim to gather assumptions, constraints and detailed requirements for modular MFEs.

  • Document existing use cases for development, packaging and deployment of MFEs

20

40

2/6: Likely to run a bit over the hour estimate high as this includes many onboarding admin tasks not planned for

2/20: Phase is mostly completed. Will use for ongoing accounting of project admin hours (eg: WG meetings, stakeholder meetings etc…)

2/27: Meeting with stakeholder

2

Document specifications for the new MFE architecture:

  • Container SPA architecture (MFE runtime management, UX/UI, Routing, Eventing, Authentication and Authorization handling, Error Handling, Container versioning, etc..),

  • MFE lifecycle and architecture (shared dependencies strategy including versioning, MFE versioning, build time and deploy time considerations),

  • Expected changes to existing MFEs and processes for development

80

160

2/6: gathered, summarized and organized requirements.

2/20: Began documentation of piral and single-spa against requirements

2/27: Continued documentation of piral and single-spa against requirements

3/6: Prototyping of Piral using frontend-app-account

3/13: [ADJUSTED] entry for 3/6 was moved to Prototype phase (below).

3

Domain analysis of CMS and LMS domains:

  • Document SPA container features for each domain and map out MFEs that will handle these features,

  • Define shared MFEs, document lifecycle and version management to maintain long term compatibility between shared MFEs and their respective containers

40

60

 

4

Exisiting Frameworks and Strategies:- PRO/CON analysis of existing frameworks/strategies listed in the OEP and (optionally) identification of additional ones to identify fit and gaps against requirements

  • Rapid prototyping of solutions utilizing the frameworks to understand their use and applicability to address specific or general requirements of the OEP.

40

80

2/6: Began exploration and documentation of framework features. Getting started demos for Piral and Single SPA

2/13: Deep dive into Piral. started deepdive into Single SPA. Install app, play with configs, deploy, customize MFE etc…

2/20 Continued deep dive and rapid prototyping exploring features related to open edx requirements

2/27: Rapid prototyping to verify import map functionality in single-spa and other aspects needed for documentation of features

 

Prototype Development

300

500

 

5

  • implement container UI

80

120

3/6: Prototyping of Piral using frontend-app-account

3/13: Continued….

3/20: Continued…

3/27: Continued…. please note the tally here is for hours from other prototype categories. Given the project phase it is too intensive to try to break out hours by category.

4/17: Completed initial alpha version of POC showing a piral shell and both account and learning loaded as pilets.
Documented the POC.
Started on multilayout support to show case pirals capabilities to stakeholders.

4/24: Completed multilayout capabilities.

5/1: Began investigation and POC of pilet loading strategies

5/8: Clean up and round up of loose ends for presentation to WG-Frontend. Continued with work to mock a pilet loading strat

5/15: Released POC to community. Focus on now converting to a static pilet feed.

5/22: Off early part of the week. Running into a bit of friction creating a pilet feed that is static. Will revisit the approach next week and decompose it from the node example that smapiot provides

5/29: Unbilled week. Did research to understand Webpack better

6/5: New approach to MFE decoupling based on research. Need to “mock a mock” of a real feed service. A feed service may be inevitable, unless we want shells to be tightly coupled bundlings of MFEs (not necessarily a bad thing - Regardless, am pushing forward with Feed prototype.

6/12: Mocked feed service using Kras. Examined pilet packaging to deconstruct how pilet feeds work. Debugging of issues related to the building of independent pilets.

6/19: Continued debugging of pilets related to build issues. Finally identified bug in react-intl 6.4.4. that was causing rendering failures. Migrated header and footer components and now migrating Account and Learning MFE’s
6/27: Close to wrapping up POC. all blockers around building of independent MFEs have been resolved. Remaining tasks are documentation, code cleanup and streamlining of the build process

7/3: POC is functionally complete and ready for review and cleanup. First draft of writeup completed. Some minor cleanup left. I believe Adolfo is planning one more sprint to close out any remaining tasks.