Skip to content

REST API Endpoints code synchronization master PR.#7026

Merged
eliorivero merged 206 commits intomasterfrom
feature/sync-json-endpoints
May 29, 2017
Merged

REST API Endpoints code synchronization master PR.#7026
eliorivero merged 206 commits intomasterfrom
feature/sync-json-endpoints

Conversation

@zinigor
Copy link
Copy Markdown
Contributor

@zinigor zinigor commented Apr 21, 2017

This is the branch that will serve as a feature branch for JSON API endpoints code synchronization between Jetpack and WordPress.com.

Files that need to be synced

  • /json-endpoints.php
  • /json-endpoints/class.wpcom-json-api-get-post-v1-1-endpoint.php
  • /json-endpoints/class.wpcom-json-api-get-site-endpoint.php
  • /json-endpoints/class.wpcom-json-api-get-site-v1-2-endpoint.php
  • /json-endpoints/class.wpcom-json-api-list-media-v1-1-endpoint.php
  • /json-endpoints/class.wpcom-json-api-list-media-v1-2-endpoint.php
  • /json-endpoints/class.wpcom-json-api-list-posts-endpoint.php
  • /json-endpoints/class.wpcom-json-api-list-posts-v1-1-endpoint.php
  • /json-endpoints/class.wpcom-json-api-list-roles-endpoint.php
  • /json-endpoints/class.wpcom-json-api-list-users-endpoint.php
  • /json-endpoints/class.wpcom-json-api-post-endpoint.php
  • /json-endpoints/class.wpcom-json-api-site-settings-endpoint.php
  • /json-endpoints/class.wpcom-json-api-site-settings-v1-2-endpoint.php
  • /json-endpoints/class.wpcom-json-api-site-user-endpoint.php
  • /json-endpoints/class.wpcom-json-api-update-site-homepage-endpoint.php
  • /json-endpoints/class.wpcom-json-api-update-site-logo-endpoint.php
  • /json-endpoints/class.wpcom-json-api-update-taxonomy-endpoint.php
  • /json-endpoints/class.wpcom-json-api-update-user-endpoint.php
  • /json-endpoints/class.wpcom-json-api-upload-media-v1-1-endpoint.php

@zinigor zinigor added Epic Formerly "Primary Issue", or "Master Issue" [Feature] WPCOM API [Status] In Progress labels Apr 21, 2017
@zinigor zinigor self-assigned this Apr 21, 2017
@zinigor
Copy link
Copy Markdown
Contributor Author

zinigor commented Apr 21, 2017

#7008 synchronises:

  • json-endpoints/class.wpcom-json-api-list-posts-v1-1-endpoint.php

introduces:

  • r134116-wpcom
  • r138391-wpcom
  • r144233-wpcom

@zinigor
Copy link
Copy Markdown
Contributor Author

zinigor commented Apr 21, 2017

#7022 synchronises

  • json-endpoints/class.wpcom-json-api-list-media-v1-1-endpoint.php

introduces:

  • r142462-wpcom
  • r142545-wpcom

requires:

  • D5278

@zinigor
Copy link
Copy Markdown
Contributor Author

zinigor commented Apr 21, 2017

#7006 synchonizes:

  • json-endpoints/class.wpcom-json-api-get-post-v1-1-endpoint.php
  • json-endpoints/class.wpcom-json-api-list-posts-v1-1-endpoint.php
  • json-endpoints/class.wpcom-json-api-update-post-v1-1-endpoint.php
  • json-endpoints/class.wpcom-json-api-update-post-v1-2-endpoint.php

introduces:

  • r138390-wpcom
  • r142741-wpcom
  • r143168-wpcom

@zinigor
Copy link
Copy Markdown
Contributor Author

zinigor commented Apr 21, 2017

#7005 synchronizes:

  • json-endpoints/class.wpcom-json-api-list-users-endpoint.php

introduces:

  • r135464-wpcom

@zinigor
Copy link
Copy Markdown
Contributor Author

zinigor commented Apr 21, 2017

#7004 synchronizes:

  • json-endpoints.php
  • json-endpoints/class.wpcom-json-api-list-posts-endpoint.php
  • json-endpoints/class.wpcom-json-api-list-posts-v1-1-endpoint.php

introduces:

  • r140311-wpcom

Dan Walmsley and others added 12 commits April 21, 2017 11:31
Currently load_theme_functions is not being called when a post's type is "page". This is resulting in the post_tag taxonomy not being registered as a post type on themes that support tags for pages. https://[private link]

Merges r142741-wpcom.
In r142741 I enabled load_theme_functions for type=page.  Today we had a report of issues with the page listing in calypso for the Portfolio theme.  Confirmed the regression was introduced with the loading of theme functions so am backing out that change to investigate further.  https://[private link]

Merges r143168-wpcom.
wpcom check for filter that uses wpcom-specific callback fn

Merges r131587-wpcom.
…n Jetpack

In r131418 and r131419 I updated a couple of endpoints with new versions. To reduce code duplication, I used late static bindings.
Unfortunately, that's only in PHP > 5.3, and Jetpack should be compatible with 5.24+

This changeset uses wp filters as a workaround. Less elegant, but it works.

Merges r132024-wpcom.
…nd also return just a count of published posts.

post_count calculation is the slowest, the hand crafted query doesn't directly hit and index (the index is on type,status,date) and so can sometimes be slow.
Have seen upper times of over 4 seconds and the 5minute median is 3.3ms and is the slowest part of the response building for a site.

Merges r132149-wpcom.
The post count in the changeset being reverted resulted in incorrect counts. This caused bugs with Stats, among other things.

See: https://[private link]

Merges r132162-wpcom.
…s been tweaked

See: https://[private link]
See: Automattic/wp-calypso#3848
See: https://[private link]

Merges r132219-wpcom.
As part of ongoing efforts to make Jetpack sites easier to manage in Calypso,
we are synchronizing more data and trying to make WPCOM responses more
accurate.

This change lays the groundwork for that by splitting out Jetpack and shadow
 site customisations.

Merges r132364-wpcom.
…dpoint

This restructures how sites are rendered in the API so that we can return less
data without incurring the cost of generating that data.

Merges r132485-wpcom.
zinigor and others added 6 commits May 17, 2017 16:57
Since WordPress 4.7 actions array is no longer an array, but an object that inherits ArrayAccess.
Change wp_get_attachment_url for get_attached_file to avoid breaking API responses on VIP sites.
…oints

Removed old publicize endpoints that are no longer used.
@zinigor
Copy link
Copy Markdown
Contributor Author

zinigor commented May 25, 2017

To test:

  • Check this PR out, enable JSON API on your Jetpack site.
  • Get a tool you're comfortable to test the API, like the WordPress.com console.
  • Test endpoints that hit content endpoints , like sites/%s, sites/%s/posts, sites/%s/posts/%d, etc.
  • This is the best way: use Calypso with your site and check for any problems, especially with content management - editing, saving, deleting, adding media.
  • Make sure to monitor your site's error logs for errors.

As usual, thank you! This takes a lot of time, and I really appreciate your help!

jeherve and others added 2 commits May 26, 2017 15:57
Authored by: Ben Lowery <@blowery>
Summary: This teaches the get_post_by function how to build up a post object using the fields query parameter. Instead of building the entire post object and then filtering out the unwanted parts later, we only build up the parts of the post object required by the API call. If no parameter is specified, the entire object is built and returned, just as now.

Test Plan:
Install patch
Try requesting /sites/:site/posts, /sites/:site/posts/:post, /read/sites/:site/posts, /read/sites/:site/posts/:post with fields specified and unspecified.

Reviewers: dmsnell, bluefuton

Subscribers: samauri, dmsnell

This merges r156885-wpcom.
@zinigor zinigor added this to the 5.0 milestone May 26, 2017
Copy link
Copy Markdown
Contributor

@dereksmart dereksmart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested from Calypso everything I could think of related to:

  • Publicze
  • User Roles
  • Posts/pages
  • Taxonomies

And found no regressions.

@dereksmart dereksmart added [Status] Ready to Merge Go ahead, you can push that green button! and removed [Status] Needs Review This PR is ready for review. labels May 29, 2017
@eliorivero eliorivero merged commit 73e9052 into master May 29, 2017
@eliorivero eliorivero deleted the feature/sync-json-endpoints branch May 29, 2017 17:30
@eliorivero eliorivero removed the [Status] Ready to Merge Go ahead, you can push that green button! label May 29, 2017
@jeherve jeherve added [Status] Needs Changelog and removed [Status] Needs Changelog [Status] Needs Testing We need to add this change to the testing call for this month's release labels May 29, 2017
jeherve added a commit that referenced this pull request May 29, 2017
eliorivero pushed a commit that referenced this pull request May 30, 2017
* Changelog: first pass at a changelog for 5.0

* Changelog: delete 4.9 testing list.

* Changelog: update minimum WP version to match ver. in jetpack.php

Fixes #7158

* Changelog: add #6051

* Changelog: add #6753

* Changelog: add #6928

* Changelog: add #6964

* Changelog: add #7014

* Changelog: add #7057

* Changelog: add #7060

* Changelog: add #7068

* Changelog: add #7070

* Changelog: add #7072

* Changelog: add #7071

* Changelog: add release date and post shortlink.

* Changelog: add #7094

* Changelog: add #7100

* Changelog: add #7108

* Changelog: add #7113

* Changelog: add #7123

* Changelog: add #7135

* Changelog: add #7143

* Changelog: add #7151

* Changelog: add #6996

* Changelog: add #7105

* Changelog: add #7132

* Changelog: add #7166

* Changelog: fix typo in 4.9 changelog.

* Changelog: remove older releases' changelogs.

@see p1HpG7-42e-p2

* Changelog: add #7090

* Changelog: add #7095

* Changelog: add #7112

* Changelog: add #7115

* Changelog: add #7122

* Changelog: add #7137

* Changelog: add #7138

* Changelog: add #7140

* Changelog: add #7154

* Changelog: add ##7155

* Changelog: add #7163

* Changelog: add #7167

* Changelog: add #7171

* Changelog: add #7180

* Changelog: add #7181

* Changelog: add #7183

* Changelog: add #7184

* Changelog: add #7189

* Changelog: add #7191

* Changelog: add #7193

* Changelog: add #7198

* Changelog: add #7200

* Changelog: add #7209

* Changelog: add #7212

* Testing list: add instructions for #7115

* Changelog: add #7188

* Changelog: add #7205

* Changelog: add #7225

* Changelog: add #6872

* Changelog: add #7107

* Changelog: add #7118

* Changelog: add #7142

* Changelog: add #7170

* Changelog: add #7210

* Changelog: add #7218

* Changelog: add #7232

* Changelog: add #7211

* Changelog: add #7213

* Changelog: add #7229

* Changelog: add #7230

* Changelog: add #7214

* Draft changelog for 5.0

* Changelog updates: 2nd pass at a clearer changelog.

- Fix typos.
- Use consistent tense and tone across all changelog.
- Remove unclear items.

* Changelog: add #7026

* Changelog: add #7058

* Changelog: add #7125

* Changelog: add #7249

* Changelog: add #7185

* add mentions of image widget migration

* Changelog: add info about new output for CLI command.

* Changelog: add WP version number matching the new Image Widget.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.