Hi everyone,
  Summary

After a long series of consultations with various teams in the Wikimedia
Foundation, I find myself happy to inform you of the sunset of an API from
the current Wikimedia offerings.

That would be *recommendation-api*, the one powering
*https://<project_domain>/api/rest_v1/#/Recommendation* family of
endpoints, e.g. https://commons.wikimedia.org/api/rest_v1/#/ or
https://en.wikipedia.org/api/rest_v1/#/Recommendation.

The codebase of that API resides in
*https://gerrit.wikimedia.org/g/mediawiki/services/recommendation-api
<https://gerrit.wikimedia.org/g/mediawiki/services/recommendation-api>*.

The removal date will be 2025-03-31.

There is some more information below as to why, what and how as well as an
estimation of the impact this is expected to have (minimal to zero). It is
also my intention to proceed with a diff <https://diff.wikimedia.org/> post
explaining our process in more detail.
  Intro

Recommendation-api was being used solely by the Wikipedia official Android
application. Given that recently <https://phabricator.wikimedia.org/T373611>,
the Android Wikipedia Official application has moved away from using this
API, the SRE team wanted to remove this service from production to focus on
more impactful services. The problem was ensuring that we turn off this API
responsibly so that we do not have a significant impact on users who have
not yet upgraded their apps and do not waste SRE effort on supporting a
service we are moving away from, for more than we need to. A complication
was that the service wasn't anymore owned by anyone, meaning maintenance
(Node.js and Operating System upgrades) had to be carried out by people
that were not acquainted at all with the code base.
  Process

To achieve the above goals, a process was jump started by a group of
Principal Engineers in the Foundation (Jon Robson, Moriel Schottlender and
yours truly) collecting data and feedback regarding the remaining usage of
the API as well as the estimated amount of effort that would be needed to
continue maintaining the service vs sunsetting it. Since October, we spoke
to various stakeholders in the Foundation to figure out the best possible
plan,  going through a variety of possible paths. We ended up recommending
that the service be sunset at 2025-03-31, a recommendation that was
accepted.
  Impact

The service is only accessed by users of the Wikipedia Android application.
Recent versions of it no longer rely on it and there will be zero (0)
impact on users of these. But users with application versions older than 6
months by the time of removal (2025-03-31), will see reduced functionality
in the form of the *Suggested Edits* part of the application no longer
functioning. The rest of the application will continue to function as
usual. We encourage users of versions older than *r/2.7.50504-r-2024-10-01
<https://github.com/wikimedia/apps-android-wikipedia/releases/tag/r%2F2.7.50504-r-2024-10-01>*
to
update.

We wanted to make sure we don't break 3rd party users without giving them a
heads up. Going through access logs and metrics, we identified no valid 3rd
party users. Furthermore, we intend to review traffic/errors to that API 1
month past the cutoff date and evaluate the effectiveness of our solution.
  Note

This API should not be confused with another one, also named
recommendation-api
<https://gerrit.wikimedia.org/r/plugins/gitiles/research/recommendation-api/>,
and exposed by LiftWing, under the
https://api.wikimedia.org/wiki/Lift_Wing_API/Reference/Get_content_translation_recommendation
endpoint.
The latter is powered by a different codebase and, conflicting naming
aside, has no other relation to the former or this sunsetting.

Regards,

--
Alexandros Kosiaris
Principal Site Reliability Engineer
Wikimedia Foundation
_______________________________________________
Wikitech-l mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/

Reply via email to