openedx / platform-roadmap

Tracking the maintenance, enhancement, and advancement of the Open edX project.
11 stars 0 forks source link

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

Open GlugovGrGlib opened 1 month ago

GlugovGrGlib commented 1 month ago

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

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

Milestone 2: Functional Enhancements

Futher development

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

github-actions[bot] commented 1 month ago

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