Task is blocked until T407874 is complete
In order to gain a better understanding of the level of effort and impact each option would have, we will create a prototype of the solution.
Timebox: 8 hrs?
From T403149: [MEX] M3.1.2 - Investigate options for improving information saved while publishing
Option 2: Enhanced ChangeOpResult Analysis
Level of Effort: Medium-High (3-4 weeks)
Extend the existing ChangeOpResult system to provide more detailed information about statement changes.
Technical Implementation:
// New class: StatementChangeOpResult.php class StatementChangeOpResult extends ChangeOpResult { private $propertyId; private $changeType; private $statementCount; public function getPropertyId(): string { return $this->propertyId; } public function getChangeType(): string { return $this->changeType; } public function getStatementCount(): int { return $this->statementCount; } }
Code Changes Required:
- New Class: StatementChangeOpResult.php
- Modified Classes: All existing ChangeOp classes to return detailed results
- Updated Logic: EditSummaryHelper to use new result types
- Comprehensive Tests: For all modified ChangeOp classes
Benefits:
- ✅ Most comprehensive solution.
- ✅ Provides detailed change information.
- ✅ Extensible for future neeeds.
Disadvantage:
- ❌ Requires changes to core ChangeOp system.
- ❌ High risk of breaking existing functionality.
- ❌ Complex implementation.