Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move AMP rendering of [youtube] shortcode to Jetpack from AMP plugin #14010

Merged
merged 11 commits into from
Nov 18, 2019

Conversation

kienstra
Copy link
Contributor

Summary

This moves the AMP handling of the [youtube] shortcode from the AMP plugin to Jetpack. Very similar to #13921, but for [youtube] instead of [vimeo].

Fixes ampproject/amp-wp#3309

Changes proposed in this Pull Request:

  • Apply the [youtube] shortcode handling from the AMP plugin
  • Only refactor existing non-AMP [youtube] shortcode logic for reuse with the AMP shortcode, no intended change to it

Is this a new feature or does it add/remove features to an existing part of Jetpack?

This is a new feature for Jetpack, but moved from the AMP plugin

Testing instructions:

  1. Ensure that wp-config.php has define( 'JETPACK_DEV_DEBUG', true);
  2. In /wp-admin, in the Jetpack 'Settings' page, and in the 'Writing' tab, ensure this is toggled on:

jetpack-here

  1. Fetch this PR's branch
  2. Clone the AMP plugin
$ git clone --recursive https://github.com/ampproject/amp-wp.git amp && cd amp
  1. Fetch this PR of the AMP plugin, which deactivates the AMP plugin's [youtube] shortcode callback: Remove handling of Jetpack shortcodes ampproject/amp-wp#3678
  2. Do $ npm install && composer install
  3. Activate the AMP plugin
  4. Create a new post with a Shortcode block
  5. Add a shortcode, like:
[youtube https://www.youtube.com/watch?v=_Oh12ROTQCE]
  1. Preview the front-end of the AMP URL, like by adding &amp or ?ampto the URL, and look at how the Vimeo shortcode looks
  2. checkout the master branch of Jetpack, not this PR's branch
  3. Preview the front-end of the AMP URL, and notice how the Vimeo shortcode looks
  4. Expected: The shortcode should look the same, whether using this PR's branch, or the Jetpack plugin's master branch
  5. Test more shortcodes under the More Examples heading here

Before

amp-pr-before

After

amp-pr-after

Proposed changelog entry for your changes:

Migrate AMP-conversion of [youtube] shortcode to Jetpack from the AMP plugin

In continuation of the [vimeo] shortcode
AMP migration.
The intent is to not change how the rendering
worked in the AMP plugin,
only to migrate it to Jetpack.
@kienstra kienstra requested a review from a team November 11, 2019 03:46
To follow coding standards,
ensure the array() ends with a ,
@jetpackbot
Copy link

jetpackbot commented Nov 11, 2019

Thank you for the great PR description!

When this PR is ready for review, please apply the [Status] Needs Review label. If you are an a11n, please have someone from your team review the code if possible. The Jetpack team will also review this PR and merge it to be included in the next Jetpack release.

Scheduled Jetpack release: November 19, 2019.
Scheduled code freeze: November 12, 2019

Generated by 🚫 dangerJS against 3a67936

This should actually be '',
as that is the behavior of the AMP plugin before.
@kienstra
Copy link
Contributor Author

Separate PRs?

Hi @jeherve,
Hope you had a great weekend.

Is it alright to open a separate PR for each shortcodes to migrate to Jetpack?

If it's alright, there are 4 more AMP shortcodes after this that we'd like to migrate to Jetpack.

Though this isn't urgent, I know reviewing them can be a lot of work.

Also, let me know if you'd like me to fix the Code Climate issues.

Thanks, Jeremy!

@jeherve jeherve added [Status] Needs Review To request a review from fellow Jetpack developers. Label will be renamed soon. [Type] Enhancement Changes to an existing feature — removing, adding, or changing parts of it AMP [Feature] Shortcodes / Embeds labels Nov 11, 2019
@jeherve jeherve added this to the 8.0 milestone Nov 11, 2019
@jeherve
Copy link
Member

jeherve commented Nov 11, 2019

Is it alright to open a separate PR for each shortcodes to migrate to Jetpack?

That's absolutely fine, yes. In fact, separate PRs are better I think, they're easier to review and to work on.

modules/shortcodes/youtube.php Outdated Show resolved Hide resolved
@jeherve jeherve added [Status] Needs Author Reply We would need you to make some changes or provide some more details about your PR. Thank you! and removed [Status] Needs Review To request a review from fellow Jetpack developers. Label will be renamed soon. labels Nov 11, 2019
As Jeremy mentioned,
jetpack_get_youtube_id() should work
in place of the custom function
get_amp_youtube_id_from_url().
It actually passes the unit test:
test_get_amp_youtube_id_from_url().
@jeherve jeherve added [Status] Needs Review To request a review from fellow Jetpack developers. Label will be renamed soon. and removed [Status] Needs Author Reply We would need you to make some changes or provide some more details about your PR. Thank you! labels Nov 12, 2019
modules/shortcodes/youtube.php Outdated Show resolved Hide resolved
modules/shortcodes/youtube.php Outdated Show resolved Hide resolved
modules/shortcodes/youtube.php Outdated Show resolved Hide resolved
modules/shortcodes/youtube.php Outdated Show resolved Hide resolved
@jeherve jeherve added [Status] Needs Author Reply We would need you to make some changes or provide some more details about your PR. Thank you! and removed [Status] Needs Review To request a review from fellow Jetpack developers. Label will be renamed soon. labels Nov 12, 2019
As Jeremy mentioned,
the <a> with the fallback URL
didn't have a closing </a> before.
As Jeremy mentioned,
this logic was run in 2 functions.
So move this to the top of youtube_shortcode().
As Jeremy mentioned,
it doesn't only get query args.
As Jeremy mentioned,
if there's no $id, there's a comment
with an error message.
So do something similar if the $args are empty.
Copy link
Member

@jeherve jeherve left a comment

Choose a reason for hiding this comment

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

Nice edits, we are getting there I think. I only have one remark right now.

modules/shortcodes/youtube.php Outdated Show resolved Hide resolved
Co-Authored-By: Jeremy Herve <jeremy@tagada.hu>
Also, pass another argument to sprintf().
And update a few tests.
@jeherve jeherve added [Status] Needs Review To request a review from fellow Jetpack developers. Label will be renamed soon. and removed [Status] Needs Author Reply We would need you to make some changes or provide some more details about your PR. Thank you! labels Nov 15, 2019
jeherve
jeherve previously approved these changes Nov 15, 2019
Copy link
Member

@jeherve jeherve left a comment

Choose a reason for hiding this comment

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

This looks good to me. I'll merge on Monday after testing on WordPress.com as well. Thank you!

@jeherve jeherve added [Status] Ready to Merge Go ahead, you can push that green button! and removed [Status] Needs Review To request a review from fellow Jetpack developers. Label will be renamed soon. labels Nov 15, 2019
@matticbot
Copy link
Contributor

Caution: This PR has changes that must be merged to WordPress.com
Hello kienstra! These changes need to be synced to WordPress.com - If you 're an a11n, please commandeer, review, and approve D35551-code before merging this PR. Thank you!

@kienstra
Copy link
Contributor Author

Thanks, Jeremy! Have a great weekend.

WordPress.com does not run the latest version of the AMP plugin yet.
@matticbot
Copy link
Contributor

kienstra, Your synced wpcom patch D35551-code has been updated.

@jeherve jeherve merged commit 2d311f3 into Automattic:master Nov 18, 2019
@matticbot matticbot added [Status] Needs Changelog and removed [Status] Ready to Merge Go ahead, you can push that green button! labels Nov 18, 2019
@kienstra kienstra deleted the add/youtube-shortcode-amp branch November 19, 2019 03:32
jeherve added a commit that referenced this pull request Nov 25, 2019
jeherve added a commit that referenced this pull request Nov 25, 2019
* 8.0 Release: running changelog

* Changelog: add #13921

* Changelog: add #13980

* Changelog: add #13905

* Changelog: add #13971

* Changelog: add #13984

* Changelog: add #14009

* Changelog: add #13620

* Remove things that will ship in 7.9.1

* Changelog: add 7.9.1 release (#14044)

* Changelog: add base for 7.9.1 release

* Update release date and post link

* Changelog: add #14066

* Update changelog for 7.9.1

* Changelog: add #13405

* Changelog: add #13841

* Changelog: add #13924

* Changelog: add #13986

* Changelog: add #14010, #14028, #14053, #14055.

* Changelog: add #14054

* Changelog: add #14031

* Changelog: add #14039

* Changelog: add #14050

* Changelog: add #14070

* Changelog: add #14082

* Changelog: add #14084

* Changelog: add #14111

* Changelog: add #13961

* Changelog: add #14047

* Changelog: add #14091

* Changelog: add #14108

* Changelog: add #14121
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AMP [Feature] Shortcodes / Embeds Touches WP.com Files [Type] Enhancement Changes to an existing feature — removing, adding, or changing parts of it
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Migrate Jetpack shortcode handling out of AMP plugin and into Jetpack
4 participants