Migration Path Proposals: from Legacy to the Unified Model
This document defines a phased migration route from legacy mechanisms (Cohorts, Teams, Enrollment Tracks) toward a new unified user grouping system.
The following are two proposals to carry out this migration:
It's important to highlight that both proposals share some phases; what mainly changes are the intermediate phases. These are the phases that are the same in both proposals:
Adding the New Model.
Legacy Groups Removal.
New Admin Panel Integration.
Comparative Table
A comparative table between each alternative will be presented below as a summary. Details of each alternative can be found in each of the documents:
Aspect | Cross-System Synchronization | Behavior Replication |
|---|---|---|
General Approach | Implement a new user grouping system while maintaining synchronization with legacy mechanisms through an abstraction layer. | Implement a new user grouping independent system that internally replicates the behavior of legacy mechanisms without syncing with them. |
Relationship with Legacy Systems | Maintains an indirect synchronization to ensure consistency between systems during the transition. | No direct relationship; legacy systems are ignored while the new system independently replicates their behavior, such as content restriction, mutual exclusivity, divided discussions, and custom ORA assignment. |
Backward Compatibility | Ensured during the transition via the abstraction layer, translating new logic into legacy-compatible behavior. | Legacy compatibility is not maintained directly; legacy systems remain static until gradual migration is possible. |
Technical Complexity | Increased due to the need to maintain synchronization logic. | Lower technical overhead for integration, but higher risk if behavior mismatch occurs. |
Main Advantage | Enables a gradual and controlled migration by maintaining compatibility with existing systems while the new model is adopted. | Simplifies the architecture of the new system by making it fully independent from the beginning, eliminating the need to integrate with legacy systems. |
Main Risk | Potential overhead in the abstraction layer and the need to maintain precise synchronization. | Greater functional risk if legacy behavior is not accurately replicated. |