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

Block Directory: Activate deactivated blocks if already installed #22286

Merged
merged 4 commits into from
May 21, 2020

Conversation

StevenDufresne
Copy link
Contributor

@StevenDufresne StevenDufresne commented May 12, 2020

Description

This PR is based on this discussion. It takes the simplest possible route as a conversation piece. It also addresses #19906.

TL;DR

This PR handles the case where:

  1. User installs block (block must be in the block directory)
  2. Block is deactivated
  3. Sometime later, user searches for block in inserter.
  4. Nothing is returned

Current Issue:

  • Since the block is deactivated it doesn't show up in the inserter on page load
  • Since the block is installed, the block directory api endpoint does not return the block

Options:

How has this been tested?

  1. Install a block from the block directory
  2. Deactivate block via wp-admin/plugins.php
  3. Search for the same block in the inserter
  4. Click Add block

Expect

  • Block to be injected into document
  • Save & reload page -> block is functioning properly

Types of changes

  • Searching for a block also returns installed blocks
    • I decide not to check if its activated because the block directory search wouldn't be triggered otherwise, since it only searches if it doesn't have a registered block.
    • We could also check to see if its activated, not sure if its necessary
  • In the /install endpoint, check if the block is installed.
    • If installed jump to activation step.

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR.

@StevenDufresne StevenDufresne added [Feature] Block Directory Related to the Block Directory, a repository of block plugins Needs Design Needs design efforts. labels May 12, 2020
@github-actions
Copy link

github-actions bot commented May 12, 2020

Size Change: -11 B (0%)

Total Size: 827 kB

Filename Size Change
build/block-directory/index.js 6.6 kB -18 B (0%)
build/block-editor/index.js 104 kB +13 B (0%)
build/block-library/index.js 115 kB -6 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.02 kB 0 B
build/annotations/index.js 3.62 kB 0 B
build/api-fetch/index.js 4.08 kB 0 B
build/autop/index.js 2.82 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/style-rtl.css 764 B 0 B
build/block-directory/style.css 764 B 0 B
build/block-editor/style-rtl.css 10.6 kB 0 B
build/block-editor/style.css 10.6 kB 0 B
build/block-library/editor-rtl.css 7.12 kB 0 B
build/block-library/editor.css 7.12 kB 0 B
build/block-library/style-rtl.css 7.38 kB 0 B
build/block-library/style.css 7.38 kB 0 B
build/block-library/theme-rtl.css 683 B 0 B
build/block-library/theme.css 685 B 0 B
build/block-serialization-default-parser/index.js 1.88 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 48.1 kB 0 B
build/components/index.js 181 kB 0 B
build/components/style-rtl.css 17 kB 0 B
build/components/style.css 16.9 kB 0 B
build/compose/index.js 6.66 kB 0 B
build/core-data/index.js 11.4 kB 0 B
build/data-controls/index.js 1.29 kB 0 B
build/data/index.js 8.43 kB 0 B
build/date/index.js 5.47 kB 0 B
build/deprecated/index.js 772 B 0 B
build/dom-ready/index.js 568 B 0 B
build/dom/index.js 3.1 kB 0 B
build/edit-navigation/index.js 4.42 kB 0 B
build/edit-navigation/style-rtl.css 618 B 0 B
build/edit-navigation/style.css 617 B 0 B
build/edit-post/index.js 28 kB 0 B
build/edit-post/style-rtl.css 12.2 kB 0 B
build/edit-post/style.css 12.2 kB 0 B
build/edit-site/index.js 12.1 kB 0 B
build/edit-site/style-rtl.css 5.22 kB 0 B
build/edit-site/style.css 5.22 kB 0 B
build/edit-widgets/index.js 8.37 kB 0 B
build/edit-widgets/style-rtl.css 4.69 kB 0 B
build/edit-widgets/style.css 4.69 kB 0 B
build/editor/editor-styles-rtl.css 425 B 0 B
build/editor/editor-styles.css 428 B 0 B
build/editor/index.js 44.3 kB 0 B
build/editor/style-rtl.css 5.07 kB 0 B
build/editor/style.css 5.08 kB 0 B
build/element/index.js 4.65 kB 0 B
build/escape-html/index.js 734 B 0 B
build/format-library/index.js 7.63 kB 0 B
build/format-library/style-rtl.css 502 B 0 B
build/format-library/style.css 502 B 0 B
build/hooks/index.js 2.14 kB 0 B
build/html-entities/index.js 622 B 0 B
build/i18n/index.js 3.56 kB 0 B
build/is-shallow-equal/index.js 710 B 0 B
build/keyboard-shortcuts/index.js 2.51 kB 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/index.js 3.12 kB 0 B
build/list-reusable-blocks/style-rtl.css 226 B 0 B
build/list-reusable-blocks/style.css 226 B 0 B
build/media-utils/index.js 5.29 kB 0 B
build/notices/index.js 1.79 kB 0 B
build/nux/index.js 3.4 kB 0 B
build/nux/style-rtl.css 616 B 0 B
build/nux/style.css 613 B 0 B
build/plugins/index.js 2.56 kB 0 B
build/primitives/index.js 1.5 kB 0 B
build/priority-queue/index.js 789 B 0 B
build/redux-routine/index.js 2.85 kB 0 B
build/rich-text/index.js 14.8 kB 0 B
build/server-side-render/index.js 2.68 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.28 kB 0 B
build/url/index.js 4.02 kB 0 B
build/viewport/index.js 1.84 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.18 kB 0 B

compressed-size-action

@StevenDufresne StevenDufresne marked this pull request as ready for review May 19, 2020 05:51
@StevenDufresne StevenDufresne removed the Needs Design Needs design efforts. label May 19, 2020
Copy link
Contributor

@ryelle ryelle left a comment

Choose a reason for hiding this comment

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

Looks good, my inactive block is activated & added 👍

We could also check to see if its activated, not sure if its necessary

I can't think of a valid case where a plugin could be active, but the block scripts not loaded… unless the block is only added to specific pages/post types. But that would cause issue with the current flow too, so I think this is a good minimal-solution to this problem.

@TimothyBJacobs
Copy link
Member

I think this is a fine intermediary solution. Preferably in the search results we would link to the plugins endpoint for any currently installed plugins but I think that can be implemented later.

@StevenDufresne
Copy link
Contributor Author

Are we comfortable merging this or should we take more time experimenting?

@TimothyBJacobs
Copy link
Member

I don't have an issue merging it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Block Directory Related to the Block Directory, a repository of block plugins
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants