Description
As a part of the ongoing work regarding xLab, and specifically because of T389995: Experiment membership tracking schema fragment, the current experiments schema fragment is being deprecated and superseded by a new one called experiment (in singular).
There is currently some temporary code in the JS client library that allows growthExperiments to add, directly, experiments details as interaction data. That work was done as a part of T381849: Community Updates module impressions lack experiment and variant information. Now, as a part of the mentioned deprecation process, the Community Updates module should migrate from the deprecated experiments schema fragment to the experiment one to allow the JS client library to be updated to use the new experiment fragment there.
Technical notes
Note that the new experiment fragment has the same assigned and enrolled properties we are using so far so we could say and, technically speaking, the purpose of those properties is the same for the new experiment schema fragment. In addition to this we are working in a new property called coordinator that will be use to indicate if the enrollment details have been filled by the client library or, on the contrary, they were filled by some custom code (like it's happening here). In this case the right value for this property would be custom to mean that the enrollment details has been added to the event by a custom node instead of the client library. Take a look at T390207: Add coordinator property to experiment fragment for details about that new property.
Acceptance criteria
- [Growth Team] Community Updates module has been migrated and it's using the new experiment schema fragment to fill enrolled and assigned properties
- [Growth Team] Community Updates module sets the new experiment.coordinator property to custom to mean that the enrollment details haven't been filled by the client library
- [Experiment Platform Team] The JS client library temporary code has been updated to work with the new experiment schema fragment
Notes
- This task will be a blocker for the deprecation process of the experiments schema fragment