Page MenuHomePhabricator

MCS decommission (2023)
Open, MediumPublic

Description

Mobile Content Service (the precursor to Page Content Service) will be decommissioned within probably the next six months, barring unforseen circumstances. This is a task to give any long tail use case reusers of the service to adjust.

  • Cross-post announcement
  • Update Swagger (OpenAPI) spec
  • Coordination with Kiwix
    • Some guar rails have been implemented on their side, so no breakage is expected but we need to continue collaborating for a proper replacement
  • Coordination with Content Translation
  • Coordination with another known entity consuming the service
  • Remove the rule and block every request
  • Remove unused code

Event Timeline

MSantos renamed this task from Communicate MCS decom to MCS decom.Apr 10 2023, 3:19 PM
MSantos added subscribers: SLopes-WMF, Nikerabbit.

@Nikerabbit MCS decom is coming soon and since we have identified a dependency on ContentTranslation, I wonder if there are any action items we should be taking here. cc/ @SLopes-WMF

Hi @MSantos, any idea why this fails? https://en.wikivoyage.org/api/rest_v1/page/mobile-html/Toronto

I wasn't aware PCS endpoints where marked for deprecation also. Thanks.

I represent a educational app that relies on the mobile-html endpoints, that were not supposed to be decommissioned.
https://en.wikipedia.org/api/rest_v1/page/mobile-html/July_6 should return a valid response, only the /page/mobile-sections pattern was announced to go away mid July.

Please revert the change until a solution to migrate users is possible. Currently, all users are affected by this change and they cannot use the application.

This is a task to give any long tail use case reusers of the service to adjust.

My website made heavy use of the /mobile-section/ endpoint and we were unaware that there was any deprecation until it started throwing 403 errors today and our WP integration broke completely. So this entire issue comes as an unpleasant surprise to us.

Aside from the 403 error being misleading ("Error: Our servers are currently under maintenance or experiencing a technical problem. Please try again in a few minutes."), how were we supposed to know that /mobile-section/ API was going away?

And what is the replacement for it, given that /mobile-html/ is much harder to work with compared to the clean structured JSON of /mobile-section/ (which is why we moved from html to section in the first place)?

@Gwern A good candidate for section information is a combination of these Action API requests:

  • Get section information for page <PAGE>

https://en.wikipedia.org/w/api.php?action=parse&page=<PAGE>&prop=sections

  • Render the output only for the specific section identifier <ID>

https://en.wikipedia.org/w/api.php?action=parse&page=<PAGE>&section=<ID>

@Gwern if you want to get in touch and provide more context about your website and how you yse MCS you can reach me through msantos@wikimedia.org

Can you see requests from Wikidocumentaries to MCS? They should have Api-User-Agent starting with the string "wikidocumentaries" (at the beginning of the contact email address).

Can I get the same HTML from PCS or action=parse (perhaps with mobileformat=true?) as from MCS, and if not, is there a list of the differences?

https://en.wikipedia.org/w/api.php?action=parse&page=<PAGE>&section=<ID>

What's the reasoning behind not offering an endpoint that returns all the sections as JSON? When I display all the sections, it would cause extra work and requests to fetch them one by one. If there's a simple way (in JavaScript) to split a response into sections, their content and their metadata, that would also do fine, I think.

(Sorry I'm clueless even after trying to read the documentation - I haven't had to deal with these details before.)

Aklapper renamed this task from MCS decom to MCS decommission (2023).Jul 24 2023, 1:38 PM
Aklapper triaged this task as Medium priority.

@TuukkaH thanks for reaching out, the announcement and reasoning before MCS decomission can be found in this comment as stated by @Arlolra T328036#8998877

The allowed list will stop working soon (tentatively end of September) and the service fully removed from our servers. This allowed list is a temporary compromise for projects that already started migrating away from MCS and reached out before the deadline.

I appreciate your patience, and let us know if you have any more questions.

In T361483, I 've been poking into selectively killing parts of changeprop that are no longer used. I am still in the /hopefully easy pickings/ phase, attacking things we KNOW aren't used any more. I am now targetting removing functionality from changeprop that refreshes all the mobile-sections parts of RESTBase, meaning RESTBase will no longer have up to date content for these endpoints.

MCS is still used by kiwix. I think wikiwand has stopped using the endpoint.