This task covers:
- Enabling experiment enrollment in the MediaWiki Action API;
- Implementing Recommendation 1: Defer Output Decoration from T408133: [Spike] Explore Generalizing Enrollment Authorities; and
- (potentially) Implementing Recommendation 3: Generalize Output Decoration from T408133: [Spike] Explore Generalizing Enrollment Authorities
This task does not cover enabling experiment enrollment in the REST API.
AC
- The user is enrolled into experiments as early as possible during a request to the MediaWiki Action API endpoint
- Experiment implementors can retrieve experiment enrollment information via the MetricsPlatform.XLab.ExperimentManager in MediaWiki Action API modules
Notes
- Currently, we initialize the MetricsPlatform.XLab.ExperimentManager service in the BeforeInitialize hook handler. We should do the same in an ApiBeforeMain hook handler. We can rely on both hook handlers not being executed during the same request
Open Questions
Should we decorate the output of the MediaWiki Action API with enrollment details for the experiments that were retrieved during the request?
Yes