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/
