Core Platform Team/Initiative/UserStore/Initiative Vision

< UserStore

Vision:
  • Actors mentioned in page history or log entries can be represented by lightweight value object
  •  
  •  
Stakeholder(s):
  • MediaWiki developers (core and extensions) will benefit from clearer, more testable code
  • Extension developers (in WMF and elsewhere) will have more control over the behavior of pages their extension manages.
  • Quality + test engineering may be interested since we are making code more testable by removing special cases throughout the code base
Problem:
  • The User object is huge and has sprawling responsibilities
  • We need a simple entity type for representing actors across domains
  • We need serializable value objects to represent actors in events and and queues.
Solution:
  • Introduce an ActorStore service that can be used to instantiate UserIdentityValue objects based on rows in the actor table
Aligned Goals:
  • Improve code quality by reducing coupling
  • Improve code health by improving testability
  • Improve maintainability by modeling domain concepts clearly
Success Metrics:
  •  
  •  
  •