Page MenuHomePhabricator

Consolidate Metrics Platform client libraries into mediawiki/libs/metrics-platform
Open, MediumPublic

Description

The Metrics Platform code is conceptualized as a set of libraries, but is currently implemented directly into various product codebases (MediaWiki PHP & JS, and the Android & iOS apps). They should be pulled out into a shared codebase and structured as proper libraries.

The repo mediawiki/libs/metrics-platform has been created for this consolidation.

Related Objects

StatusSubtypeAssignedTask
Openjlinehan
OpenDAbad
Openjlinehan
Resolved Mholloway
Resolved Mholloway
OpenDAbad
Resolved Mholloway
Resolved Mholloway
Resolved Mholloway
Resolved Mholloway
OpenNone
Resolved mpopov
ResolvedTsevener
ResolvedTsevener
Resolved mpopov
ResolvedBUG REPORT Mholloway
ResolvedSNowick_WMF
Resolved Mholloway
ResolvedSpike Mholloway
Resolved Mholloway

Event Timeline

Mholloway moved this task from Inbox to Doing on the Better Use Of Data board.
Mholloway renamed this task from Conslidate Metrics Platform libraries into mediawiki/libs/metrics-platform to Conslidate Metrics Platform client libraries into mediawiki/libs/metrics-platform.Apr 14 2021, 8:26 PM

The libraries were consolidated in mediawiki/libs/metrics-platform but that repo structure doesn't play nicely with the package managers we'll be relying on for distribution, which expect the relevant metadata files (composer.json, Package.swift, etc.) in the repo root.

Accordingly, I've created four new repos in GitLab to host the individual libraries:
https://gitlab.wikimedia.org/mholloway/metrics-platform-client-java
https://gitlab.wikimedia.org/mholloway/metrics-platform-client-javascript
https://gitlab.wikimedia.org/mholloway/metrics-platform-client-php
https://gitlab.wikimedia.org/mholloway/metrics-platform-client-swift

The plan is to use those language-specific repos for integration. It'd be easy enough to create a new umbrella repo containing all of these using Git submodules, if needed for some reason. (The legacy metrics-platform repo in Gerrit could even be used for that.)

Alternatively, we could explore putting composer.json, etc., in the repo root as is currently being done in mediawiki/services/function-schemata.

Mholloway added a subscriber: jlinehan.

One last point to note is that GitLab currently isn't open to non-WMF/NDA users and so limits the possibility of external/volunteer involvement.

Assigning to @jlinehan to close this task or follow up as needed.

Aklapper renamed this task from Conslidate Metrics Platform client libraries into mediawiki/libs/metrics-platform to Consolidate Metrics Platform client libraries into mediawiki/libs/metrics-platform.Sep 17 2021, 4:32 PM