[wp-hackers] GSoC Proposal: JSON REST API
Filippo Pisano
filippo.pisano at gmail.com
Wed Apr 10 09:24:58 UTC 2013
Hi Ryan,
as far as I know ther plugin JSON API (
http://wordpress.org/extend/plugins/json-api/) do most of the work you
mentioned. I used it once and it seemed very robust to me.
Maybe this could be a good start to implement the API natively into WP.
Filippo Pisano
cel: 3291821355 / skype: filippopisano
On Wed, Apr 10, 2013 at 11:19 AM, Ryan McCue <lists at rotorised.com> wrote:
> Hi hackers,
>
> There's at least a few of you out there who know me, but for those who
> don't: I'm Ryan McCue, a second year student at the University of
> Queensland, Australia. I'm currently studying Bachelors of Engineering
> (Electrical) and Science (Mathematics). Most of you will know me already
> via SimplePie, the feed parsing library included in WordPress, or my
> contributions to core.
>
> For this year's GSoC, I'd like to propose a JSON API for WordPress. I've
> mentioned this project previously and have already outlaid part of the code
> to do this: https://gist.github.com/**rmccue/5022591d312952d1245a<https://gist.github.com/rmccue/5022591d312952d1245a>
>
> The scope of this project under GSoC would be the following:
>
> 1. Develop the critical infrastructure to power a JSON-based REST API
>
> This is the most basic pieces of the REST API. This includes routing
> URLs to methods, handling JSON serialisation/unserialisation,
> ensuring compatibility with various servers/proxies, etc
>
> 2. Create a REST interface for generic post types
>
> This involves creating a generic infrastructure to turn an internal
> representation of a post into exportable data (including
> normalisation) and vice versa.
>
> 3. Building off the generic interface, create more specific interfaces
> for built-in types
>
> For example, posts should expose their comments in a nicer way,
> attachments should expose metadata relevant to their content, etc
>
> 4. Ensuring that the API works well with clients
>
> Unless the API can work well with clients, it isn't of much use to
> anyone. This part of the project would involve creating new clients
> (for example, a Backbone-powered interface) as well as working with
> the mobile teams to gain support for the new API.
>
> An important part of the project would be ensuring that a) all WP APIs can
> be expected to behave in a similar manner; and b) plugins can easily extend
> the API and create their own more specific APIs. To this extent, the
> project would also involve creating a proof-of-concept extension of the API
> for a specific plugin.
>
> Why a REST API? At the moment, the only real API to access WP content is
> the XML-RPC API. This requires a full suite of parsing tools and is less
> than optimal for most users. In the past, XML parsing (usually with libxml)
> has caused problems on mobile platforms, which are the main consumers of
> the API. A JSON REST API removes much of this complexity by using a simpler
> serialisation format (JSON) with a protocol usable by most of the web via
> standard HTTP verbs.
>
> Why am I qualified? I'm the lead developer of SimplePie, which is roughly
> 10% of the WP codebase, and is a fairly complex piece of software to
> maintain. I have previous experience with working with nuances of HTTP
> clients and servers, via my Requests project (a PHP HTTP client, similar to
> WP_Http). I've also already made a start on this due to personal interest,
> and although it has taken a back seat, I've already been able to create
> clients that use the primitive start I've created. I also have a fairly
> intimate knowledge of WordPress and have contributed many patches in the
> past.
>
> I'd love for comments and questions on this.
>
> Note on mentors: Marko has indicated previously that he'd like to work on
> such a project, and has also applied to be a mentor. While GSoC requires
> that students create most of the code, the project could be structured in
> such a way that we can work on separate parts of the API together. Brian
> Petty and Eric Mann have also indicated they'd like to mentor such a
> project, and both would be great choices as well.
>
> Thanks,
>
> --
> Ryan McCue
> <http://ryanmccue.info/>
>
> ______________________________**_________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.**com <wp-hackers at lists.automattic.com>
> http://lists.automattic.com/**mailman/listinfo/wp-hackers<http://lists.automattic.com/mailman/listinfo/wp-hackers>
>
More information about the wp-hackers
mailing list