As of 2023-12, The legacy MediaWikiPingback EventLogging schema is the only remaining schema that needs migrated to Event Platform: T323828: Update Pingback to use the Event Platform
This migration is blocking T238230: Decommission EventLogging backend components by migrating to MEP.
As described in this comment, MediaWikiPingback is very useful, and we don't want to disable collection of this data from the legacy EventLogging backend until older versions of MediaWiki are basically unused. This could take up to as much as 5 years.
Instead of waiting 5+ more years to decommission EventLogging backend, we should build an anti corruption layer proxy to intake these events, translate them to Event Platform compatible events, and send them to eventgate.
It would be nice to make this endpoint generic enough to do this for any legacy event. However since MediaWikiPingback is the ONLY event that does this, it would be sufficient to write hardcoded code that knows how to do this for only MediaWikiPingback.
Suggested implementation
- Endpoint created specifically for mediawiki.org pingback intake. This can use a mediawiki-config/docroot/mediawiki.org/beacon/event PHP file to avoid having to do any custom frontend routing from /beacon/event to a different backend. This endpoint would:
- Parse json event from HTTP encoded query parameters
- Modify parsed event to Event Platform standard (add fields like meta.stream, etc.)
- Post event to eventgate-analytics-external with hasty=true
- return response to client
We still need to do the migration steps for T323828. This proxy endpoint would just allow the old installs of MediaWiki to keep sending events.