Congratulations! After all the hard work that has gone into this, it's
great to see it up and running. Besides the improvements it will allow in
existing projects, I can't wait to see the new things it will enable.

-- Marc

On Tue, Mar 10, 2015 at 11:23 PM, Gabriel Wicke <gwi...@wikimedia.org>
wrote:

> Hello all,
>
> I am happy to announce the beta release of the Wikimedia REST Content API
> at
>
> https://rest.wikimedia.org/
>
> Each domain has its own API documentation, which is auto-generated from
> Swagger API specs. For example, here is the link for the English Wikipedia:
>
> https://rest.wikimedia.org/en.wikipedia.org/v1/?doc
>
> At present, this API provides convenient and low-latency access to article
> HTML, page metadata and content conversions between HTML and wikitext.
> After extensive testing we are confident that these endpoints are ready for
> production use, but have marked them as 'unstable' until we have also
> validated this with production users. You can start writing applications
> that depend on it now, if you aren't afraid of possible minor changes
> before transitioning to 'stable' status. For the definition of the terms
> ‘stable’ and ‘unstable’ see https://www.mediawiki.org/wiki/API_versioning
> .
>
> While general and not specific to VisualEditor, the selection of endpoints
> reflects this release's focus on speeding up VisualEditor. By storing
> private Parsoid round-trip information separately, we were able to reduce
> the HTML size by about 40%. This in turn reduces network transfer and
> processing times, which will make loading and saving with VisualEditor
> faster. We are also switching from a cache to actual storage, which will
> eliminate slow VisualEditor loads caused by cache misses. Other users of
> Parsoid HTML like Flow, HTML dumps, the OCG PDF renderer or Content
> translation will benefit similarly.
>
> But, we are not done yet. In the medium term, we plan to further reduce
> the HTML size by separating out all read-write metadata. This should allow
> us to use Parsoid HTML with its semantic markup
> <https://www.mediawiki.org/wiki/Parsoid/MediaWiki_DOM_spec> directly for
> both views and editing without increasing the HTML size over the current
> output. Combined with performance work in VisualEditor, this has the
> potential to make switching to visual editing instantaneous and free of any
> scrolling.
>
> We are also investigating a sub-page-level edit API for
> micro-contributions and very fast VisualEditor saves. HTML saves don't
> necessarily have to wait for the page to re-render from wikitext, which
> means that we can potentially make them faster than wikitext saves. For
> this to work we'll need to minimize network transfer and processing time on
> both client and server.
>
> More generally, this API is intended to be the beginning of a
> multi-purpose content API. Its implementation (RESTBase
> <http://www.mediawiki.org/wiki/RESTBase>) is driven by a declarative
> Swagger API specification, which helps to make it straightforward to extend
> the API with new entry points. The same API spec is also used to
> auto-generate the aforementioned sandbox environment, complete with handy
> "try it" buttons. So, please give it a try and let us know what you think!
>
> This API is currently unmetered; we recommend that users not perform more
> than 200 requests per second and may implement limitations if necessary.
>
> I also want to use this opportunity to thank all contributors who made
> this possible:
>
> - Marko Obrovac, Eric Evans, James Douglas and Hardik Juneja on the
> Services team worked hard to build RESTBase, and to make it as extensible
> and clean as it is now.
>
> - Filippo Giunchedi, Alex Kosiaris, Andrew Otto, Faidon Liambotis, Rob
> Halsell and Mark Bergsma helped to procure and set up the Cassandra storage
> cluster backing this API.
>
> - The Parsoid team with Subbu Sastry, Arlo Breault, C. Scott Ananian and
> Marc Ordinas i Llopis is solving the extremely difficult task of converting
> between wikitext and HTML, and built a new API that lets us retrieve and
> pass in metadata separately.
>
> - On the MediaWiki core team, Brad Jorsch quickly created a minimal
> authorization API that will let us support private wikis, and Aaron Schulz,
> Alex Monk and Ori Livneh built and extended the VirtualRestService that
> lets VisualEditor and MediaWiki in general easily access external services.
>
> We welcome your feedback here:
> https://www.mediawiki.org/wiki/Talk:RESTBase - and in Phabricator
> <https://phabricator.wikimedia.org/maniphest/task/create/?projects=RESTBase&title=Feedback:>
> .
>
> Sincerely --
>
> Gabriel Wicke
>
> Principal Software Engineer, Wikimedia Foundation
>
> _______________________________________________
> Engineering mailing list
> engineer...@lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/engineering
>
>
_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to