Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: [Catalog Domain] Course About page, Index Page, and Course Catalog MFE conversion #375

Open
GlugovGrGlib opened this issue Jul 30, 2024 · 1 comment
Assignees

Comments

@GlugovGrGlib
Copy link
Member

GlugovGrGlib commented Jul 30, 2024

Abstract

This proposal aims to transition the Course About, Catalog, and Index pages of the Open edX platform from legacy architecture to MFE. Historically, catalog and about pages are provided supporting functionality to Open edX learning, which is clearly described in DDD bounded contexts, therefore no major works or new features were introduced to these pages for a long time. As other parts of the system are converted to MFE any further maintenance and customizations are growing in cost.
The goal is to address maintenance challenges, improve user experience, and increase the platform's competitiveness. By adopting MFE, we will enable easier integration of new features, improve performance, and increase retention rate.

Detailed Product Proposal

No response

Context & Background (in brief, if a Product Proposal is linked above)

Overview of Current Challenges with Legacy Architecture for Course About and Catalog pages.

Maintenance Complexity: Maintaining both legacy and MFE pages whithin the OeX is time-consuming and costly. As other interfaces has already transitioned to MFEs, this pages require legacy approach for customizations which should be maintained and supported separately from other solutions in OeX system. Clients often seek systems with lower maintenance costs.

Customization Difficulty: Course catalog and about pages are challenging to customize in the current system due to limitations of legacy code, and tech debt around those functionalities. Course creators cannot modify search filters/facets without additional development to these pages, leading clients that don’t want to invest into 3rd-party systems like Wordpress to opt for other LMSs that allow such customizations for the catalog.

Integration Limitations: The legacy architecture lacks necessary attributes for smooth service integration. New features like a video player or taxonomy are challenging to incorporate into legacy pages, and it requires maintaining separate solutions to integrate other core features into these pages.

Pluginization Issues: The legacy architecture prevents the creation of new frontend and backend plugin types for these pages, that are more distinct from comprehensive theming, and can be reused in the Open edX community.

Adaptability on Mobile App: Course About page on mobile apps is not adaptive due to hard usage of custom HTML and specific layout of the page. It is difficult for students using mobile app to find information they need about the course.

The customizations to these pages aren't straightforward, but not that uncommon. For example, Raccoon Gang has done many projects to customize these pages, including rewriting the Course Catalog and Course About pages to make them unique and meet specific business needs.

Scope & Approach (in brief, if a Product Proposal is linked above)

Beneficiaries of this enhancement include:

Educational Institutions: With a more advanced API layer to support an easier integration with other systems, reduced maintenance burdens, and improved overall platform performance for catalog pages, educational institutions can meet more effectively their students' needs.

Students: Improved UX and performance will enable students to quickly find the information they need about courses, enhance course search functionality, and facilitate easier discovery of courses they are interested in.

Open edX Community: Moving from legacy architecture to MFE is likely to attract more community contributions, leading to the development of new plugins for the Course About and Course Catalog pages. This will also unblock new developments in Catalog domain, enabling the development of new features at a lower cost.

Open edX partners and Operators: Decreased maintenance costs may improve user retention rates, making Open edX a more attractive option compared to other LMS systems. As the customization complexity is decreased, Open edX vendors and operators will be able to easily adjust Catalog and About pages to unique business needs for the clients. This will benefit Open edX partners by potentially increasing their client base.

The high-level scope includes

  • A new MFE application is created to host Catalog domain related user interfaces.
  • Refactoring API Layer in edx-platform to integrate with new MFE interfaces for Course Catalog, Index, and Course About pages.
  • Enhancements for the integration capabilities of Open edX
  • Addition and integration of new features into new MFE pages in Catalog domain

Approach

Based on Raccoon Gang experience and previous work around conversion of LMS and Studio pages to MFE, the standard approach can be taken, using existing API, components and solutions whenever possible to ease the initial migration.
To save on cost for initial implementation, the previous solutions developed by Raccoon Gang can be taken as the basis. However, some features for enterprise or ecommerce may be considered obsolete and should be integrated into the core solution using plugin functionality.

Value & Impact (in brief, if a Product Proposal is linked above)

We believe the transfer of Course Catalog and Course About pages to MFE can have the following effect:

Increase Adoption Rate for the Open edX System:

Maintenance Cost Reduction: Moving to MFE will decrease maintenance costs, influencing user decisions to select Open edX over other systems.

Pluginization: Users can develop, share, and add plugins to the Course About and Catalog pages, meeting their needs without significant investments in customizations or integration with third-party systems.

Improved Integration: Enhanced APIs layer will facilitate easier integration with other systems, such as external CRM and CMS.

Consistent Architecture: A unified MFE architecture will streamline maintenance and customization efforts in the community.

Enhance User Experience:

Mobile Responsiveness: The Course About page will be more mobile-friendly, providing a better experience for students accessing the platform from the mobile app.

Improved Search Functionality: Enhanced search features will support students in quickly finding the courses they need. Integration of new search features developed for learning and course authoring MFEs might be much easier.

Support Development of Mobile Initiatives:

Adaptive Design: The division of fields in the Course About page enables the creation of a mobile-responsive design that improves student understanding and engagement.

Performance Improvements:

Performance: The load on the Course Catalog and Course About pages will decrease, enhancing overall platform performance. MFE solution will allow us to switch between different pages without full-page reload, which significantly enhances UX for end-users.

Advanced Caching: Use of the cache techniques for API responses on the frontend for the anonymous users.

Milestones and/or Epics

Milestone 1: Legacy to MFE & Pluginization Enablement

  • A new MFE application is created to host Catalog domain related user interfaces.
  • Refactoring API Layer in edx-platform to integrate with new MFE interfaces for Course Catalog, Index, and Course About pages.
  • Index page reimplementation as MFE.
  • Redesign Course Catalog page using Paragon Design System, and achieve feature parity with the legacy Course Catalog page in MFE.
  • Reimplement Course About page in MFE, by preserving the core functionality.
  • Enable frontend pluginization on Course About, Course Catalog, and Index pages, to meet user needs without extensive customizations.
  • Allow Operators to opt out of these pages in favor of third-party CMS integration

Milestone 2: Functional Enhancements

  • Improve API functionality for native catalog and 3rd party integration.
  • Enhance search capabilities, by utilizing new search, taxonomies and course attributes features.
  • Redesign Course About page, by dividing Course Overview HTML into several fields for better indexing and mobile adaptability. More information in the draft proposal - Improved enrolment views and mobile discovery

Futher development

  • WYSIWYG for course about page

Named Release

Teak

Timeline

Milestone 1

Autumn 2024 — Winter 2024

Milestone 2 and further customizations

Winter 2025 — Spring 2025 by Teak release.

Proposed By

Raccoon Gang

Additional Info

No response

Copy link

Thanks for your submission, @openedx/openedx-product-managers will review shortly.

@GlugovGrGlib GlugovGrGlib changed the title Course About page, Index Page, and Course Catalog MFE conversion Proposal: [Catalog Domain] Course About page, Index Page, and Course Catalog MFE conversion Jul 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: [Prod Proposals] In Review
Development

No branches or pull requests

2 participants