What do we do with Mathjax macro vs Formula macro in XS?

After discussion with Thomas on matrix yesterday and some local POC, here’s a new proposal:

  • Keep ImageData and ImageStorage in the contrib extension but implement ImageStorage using a tmp resource (serializing ImageData using java serialization, this is needed to save the image type, without having to change the public API)
  • Move TexAction to the contrib extension, and mark it deprecated
  • Modify the Formula Macro to use the tmp resource (thus making TexAction unused)
  • Remove the cache entry in config.xml in platform
  • Modify PDFResourceResolver to use the Temporary Resource API. Add an overriding component impl in legacy that also handles the now deprecated /tex action (by overriding getResource() from PDFResourceResolver).
  • Modify PDFURIResolver to use the Temporary Resource API. Keep the /tex support there.
  • Remove the text entry from robots.txt.

Devs who had extensions using classes from inside xwiki-platform-formula-renderer would need to depend on the new macro-formula-renderer dep if they need/want to upgrade the dep version.

Note: we’ll see how and if we want to improve further the formula macro in the future. Right now, the future goes more in the direction of using mathjax.