To meet the client side of the effort to have MEP components tested in MediaWiki Vagrant by the end of the quarter,The new event client features will be folded into the existing EventLogging extension in phases. Hopefully this will streamline code review and make it easier for us to manage the work. Each phase has its own task, since each phase will be its own patch. Things may change. For now, here is an outline of the phases:
[] Phase 1 (Base API)
- Events are sent using HTTP POST to an EventGate instance
- Stream configuration data is loaded by the extension and used to format events
[] Phase 2 (Stream CCing)
- Events for a stream `foo` will be copied to any stream matching `foo.*`, and have the stream logic for `foo.*` applied to it.
[] Phase 3 (Sampling)
- Per-stream uniform sampling rate can be set by a stream configuration field.
[] Phase 4 (Association)
submit a patch with the revised event platform client library JavaScript code in a ResourceLoader module in the EventLogging extension,- Pageview identifiers
and begin exploring how to integrate and evolve the extension code during CR- Session identifiers
A rough outline in JavaScript code is provided at: https://github.com/linehan/el-epc-patch-phases.