Page MenuHomePhabricator

Prepare Mathoid for RESTbase sunsetting
Closed, ResolvedPublic

Description

Mathoid currently relies on RESTbase for persistant storage/caching of rendered output. To unblock RESTbase sunsetting, the following options should be evaluated:

  • deploy a generic persistent cacheing service (varnish?) as a sidecar to mathoid
  • implement Cassandra based storage inside Mathoid by porting the relevant code from RESTbase
  • remove the need for Mathoid, by relyong in client side rendering of formulas

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Ultimately, we would like to eliminate Mathoid entirely. It works already well for the math tag but not for the chem tag yet. If the implementation of chem takes too long we can rely on WAN or database cache already built into the Math extension.

MSantos added subscribers: cscott, ssastry, MSantos.

A few notes from our discussion on mathoid future:

  • New functionality relies on MathML rendered natively in browsers
  • We need to coordinate QA and performance tests to improve our confidence for a final push. That would require some attention from the Web-Team
    • This will also impact Parsoid, we should test it to make sure
  • Versioning: The goal is to make it compatible with all MW versions instead of backporting it on a specific version and ask 3rd parties to update the extension and use the new functionality
  • To test the current functionality you can refer to https://en.wikipedia.beta.wmflabs.org/wiki/Help:MathTestNative

To clarify a few points:

A few notes from our discussion on mathoid future:

  • New functionality relies on MathML rendered natively in browsers

...native with fallback to MathJax.

  • This will also impact Parsoid, we should test it to make sure

https://en.wikipedia.beta.wmflabs.org/wiki/Help:MathTestNative?useparsoid=1 looks good to me, do we need to test more?

  • Versioning: The goal is to make it compatible with all MW versions instead of backporting it on a specific version and ask 3rd parties to update the extension and use the new functionality

The idea is to make the latest version of the Math extension backwards compatible with older versions of MediaWiki, so 3rd parties can update just the extension, instead of having to update all of MediaWiki (and all extensions).

@MSantos Web team is no familiar with the Mathoid extension so would you be able to put together a test plan?

I am linking some related tickets.

  1. Currently, we struggle to identify wikis to test native rendering. T350787 @Jdlrobson, what are your thoughts on that?
  1. I am still hoping to get MathJax as a fallback alternative, but I currently read the feedback to the task as a no, or at least not in the foreseeable future. T310211 @daniel might be able to elaborate on that.

@MSantos Web team is no familiar with the Mathoid extension so would you be able to put together a test plan?

I guess the baseline is: make sure https://en.wikipedia.beta.wmflabs.org/wiki/Help:MathTestNative looks ok in all browsers/platforms we care about.

  • This will also impact Parsoid, we should test it to make sure

https://en.wikipedia.beta.wmflabs.org/wiki/Help:MathTestNative?useparsoid=1 looks good to me, do we need to test more?

We can just add the page to visual diff testing to be 100% sure, but I'll defer to @cscott and @ssastry to provide more context that I might be missing. Also, we should see how this would affect Android and iOS apps. But it requires further coordination.

@MSantos Web team is no familiar with the Mathoid extension so would you be able to put together a test plan?

I guess my main question for @Physikerwelt is whether the test page has enough coverage for the Math feature set. If that's the case what Daniel said is accurate.

I guess my main question for @Physikerwelt is whether the test page has enough coverage for the Math feature set. If that's the case what Daniel said is accurate.

Maybe not enough, but as good as it gets.

@MSantos I've created a ticket to track the QA portion from the web team. If you could let us know on T353000 /when/ you want this, we can plan. I'm untagging this ticket from your backlog so you can track it separately.

We have now prepared the Math extension for Restbase sunsetting. However mathoid will remain stateless and be discontinued eventually.

Physikerwelt claimed this task.