Page MenuHomePhabricator

Expose a parsoid public web API end point in the MediaWiki API
Closed, ResolvedPublic

Description

We need a public API end point integrating with the general MediaWiki API that provides at least the following functionality:

  • HTML DOM retrieval per page and revision. Basically the /en/Foo?oldid=<n> end point.
  • HTML DOM expansion: POST a DOM (or fragment), return re-expanded DOM
  • HTML DOM saving: POST a modified DOM and a summary, and save it as a new revision.

As long as we are using Wikitext as our storage format, saving requires a conversion to HTML and a separate save step. The individual steps should *internally* be exposed to other users including the VisualEditor extension. There is probably no need to expose the HTML2WT conversion. We should instead aim to provide an HTML-only public interface.

The integration should use an URL schema that makes it easy to map some or all of the functionality to a stand-alone (non-PHP) backend to avoid PHP startup costs in the future.


Version: unspecified
Severity: normal

Details

Reference
bz48483

Related Objects

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 1:36 AM
bzimport added a project: Parsoid-Web-API.
bzimport set Reference to bz48483.

(In reply to comment #0)

  • HTML DOM saving: POST a modified DOM and a summary, and save it as a new

revision.

Just to clarify, we don't need this for June/July (we're doing it in VisualEditor currently) - though it's a nice-to-have. :-)

The real focus for us is the HTML DOM expansion, which we will want ASAP for templates and other generated content blocks.

Building prod. tools based on Parsoid output (for example to produce offline snasphots) needs this MW API. http://parsoid.wmflabs.org/ can only be a temporary solution...

Bumped the prority. We should get to this after Wikimania.

Marco and I are taking this on.

Once https://gerrit.wikimedia.org/r/#/c/93527/ is merged we'll provide interim access to our internal Parsoid cluster through front-end caches at http://parsoidcache.svc.eqiad.wikimedia.org/. This implements our internal https://www.mediawiki.org/wiki/Parsoid#The_Parsoid_web_API. In the longer term it will be replaced with a more general MediaWiki content API that we are still working on.

Reedy renamed this task from Expose a public web API end point in the MediaWiki API to Expose a parsoid public web API end point in the MediaWiki API.Nov 25 2014, 6:36 PM
Arlolra removed a subscriber: MarkTraceur.
GWicke claimed this task.

Now resolved with https://rest.wikimedia.org/ entering beta production.

So this was in MediaWiki-Action-API but didn't actually have anything to do with that project?

@Anomie Seems like it was mis-tagged, sorry about that. Will remove the project.