Stakeholder(s):
- MediaWiki developers (core and extensions) will benefit from clearer, more testable code
- Quality + test engineering may be interested since we are making code more testable by removing coupling.
- The editing team should be consulted to see if they have wishes for the new system that go beyond re-implementing current behavior in a MVC way.
|
Problem:
- EditPage is a huge class with unclear information flow that bundles controller logic with view code.
- EditPage is not testable in a straight forward and consistent way.
- APIs currently simulate web requests in order to re-use the controller part of EditPage.
|
Solution:
- Refactor EditPage to allow different frontends (view) for different kinds of context.
- Extract the controller part of EditPage so it can be re-used easily by API modules/endpoints.
-
|
Aligned Goals:
- Improve code quality by reducing coupling
- Improve code health by improving testability
- Improve maintainability by modeling domain concepts clearly
|
Success Metrics:
|