WordPressプラグインの作成者は、ブロックに名前を付けるときにユーザーを混乱させないようにする必要があります
公開: 2020-09-045月4日、StudioPress開発チームは、Atomic Blocksプラグイン(現在はGenesis Blocksにリブランドされています)に、ユーザー向けの小さな変更を加えました。 ブロックタイトルから「AB」ブランドを削除しました。 このマイナーアップデートにより、ABアコーディオンやABボタンなどのブロックタイトルがそれぞれアコーディオンとボタンに変更されました。 表面的には、この変更はプロジェクトの開発者にはほとんど影響がないように思われました。 ただし、少なくとも1人のユーザーにとっては、膨大なワークロードが発生しました。
ユーザーがGitHubコードのコミットに忠実に従わない限り、この更新を見逃していたでしょう。 一見無関係なチケットのための他のいくつかのコード変更と積み重ねられて、チームは「ブロックタイトルから不要な「AB」を削除してください」というメッセージを残しました。
この変更により、プラグインのバージョン2.8.2になり、1日後にリリースされました。
問題は、これを示すメッセージが変更ログにないことでした。 ユーザーは、プラグインのブロックの名前が変更されていることを示していませんでした。 通常、プラグインチームは、他の点では変更されていないタイトルから「AB」プレフィックスを削除しただけなので、これは大したことではありません。 ただし、これらのブロックのタイトルの1つがコアブロックのタイトルと一致するとどうなりますか?
それがマーカス・ティベサールが遭遇した問題でした。 ABボタンブロックが突然ボタンブロックになりました。 彼はコアのWordPressボタンを使用していると思い、サイト全体でそれを自由に使用しました。 StudioPressがプラグインをGenesisBlocksにリブランドした後、プラグインを削除するという彼の決定を投げ入れて、クリーンアップするのは少し災害になりました。
「私はボタンブロックを何ヶ月も使用していますが、実際にアトミックブロックボタンブロックを使用していることを発見しただけです!」 AtomicBlocksのブランド変更の投稿へのコメントでTibesarを書いた。
理論的には、彼が故意に使用したアトミックブロックからの残りのブロックのみを更新する必要があったはずです。 しかし、彼は自分のせいで無意識のうちに自分の投稿やページに追加したブロックで立ち往生していました。
この特定のシナリオは、3月31日にリリースされたWordPress 5.4が新しいButtons(複数)ブロックを導入したため、さらに悪化しました。 古いシングルボタンブロックは通常のインサーターから削除されました。 すべてのブロック命名の問題がそれほど複雑であるわけではありませんが、それでも疑問が残ります。プラグインの作成者は、これらのタイプのユーザーエクスペリエンスの問題を引き起こすことをどのように回避できますか?
StudioPressを非難するのは簡単です。チームは、変更が発生したときに変更について明確になっていないことを叱責する可能性があります。 しかし、これはより大きなWordPressコミュニティが理解する必要があるいくつかのことをもたらします。 1つ目は、プラグインの作成者がブロックに一貫したプレフィックス付きの命名スキームを使用する必要があるかどうかです。 2つ目は、WordPressが問題を軽減するためにできることです。
すべてのものにプレフィックスを付ける

それはWordPress開発の世界で一般的なことわざですよね? プレフィックスと名前空間のガイドラインは、通常、競合が発生する実際のコードに適用されます。 ただし、公開テキストの前に付けることが必要な場合があります。
そして、それらの時代は、プラグインが共有スペースを利用するときです。
ブロックエディタは、そのような共有スペースの1つです。 ますます多くのブロックプラグインがディレクトリに到着するので、プラグインの作成者がブロック命名スキームがエンドユーザーにどのように影響するかを検討する時が来ました。 問題は確かにアトミック/ジェネシスブロックに限定されていません。 これは、いくつかのブロックライブラリプラグインで進行中の傾向です。 他のものよりもうまくいくものもありますが、ユーザーがそのようなプラグインをインストールするたびにそれはトスアップです。

最も簡単な方法は、プラグインの作成者がすべてのカスタムブロックの前に会社のブランド(ABボタンなど)を付けることです。 一方、すべてのブロックがコアブロックの1つとタイトルを共有するわけではありません。 たとえば、Product Carouselというタイトルのブロックは、他のブロックと区別する必要がない場合があります。 エンドユーザーが同じタイトルを共有するブロックで複数のeコマースプラグインを実行している可能性は低いです。
「すべて、すべてを繰り返し、接頭辞を付ける必要があります」とTibesar氏は述べています。 「プレフィックスは、ユーザーがコアブロックとサードパーティブロックのどちらを選択しているかに関する混乱を排除します。 最も人気のあるプラグインはリストの一番上に表示され、プレフィックスがない場合にそれらがどこから来たのか混乱します。」
少なくとも、サードパーティのブロックのタイトルがコアブロックの1つと一致する場合は、プレフィックスを付ける必要があります。 たとえば、エンドユーザーはブロックインサーターに2つの異なるCoverブロックが表示されないようにする必要があります。 代わりに、コアカバーと2番目の一意のタイトルのブロックが表示されます。 プレフィックスはそれを行う簡単な方法です。 しかし、私はユーザーの混乱を引き起こさないものなら何でも生きることができました。
ブロック使用のインスタンスの検索
![WordPressの[ブロックの管理]画面のプロトタイプのスクリーンショット。](/uploads/article/312/3cwcMJAtuQKujROH.png)
2019年後半、グーテンベルクチームは、WordPress管理者向けの潜在的なブロック管理領域の最初のプロトタイプをリリースしました。 プロトタイプの[ブロックの管理]画面には、ユーザーがサイト上のすべてのブロックを管理できる領域が表示されました。 この画面で最も重要な情報の1つは、ブロックが使用されていた回数を表示する「インスタンス」カウントでした。 さらに、特定のブロックを持つすべての投稿の画面にリンクしました。
この機能が重要である理由の1つは、エンドユーザーがクリーンアップする可能性のある投稿を見つけることができるようになることです。 例としてAtomic / Genesis Buttonブロックを使用すると、Tibesarはこれらの古い使用法をすべて追跡し、必要な変更を加えることができます。
彼は、WordPressでこの機能を絶対に歓迎すると述べました。 「新しいユーザーは、数え切れないほどのブロックプラグインをロードして、後で忘れてしまう誘惑に駆られます。 また、メンテナは壊れたサイトをクリーンアップするときにこのツールを使用します。 どのブロックがどこで使用されたかの概要を確認できるだけで、サイト運営者は、特に新しいプラグインやテクノロジーが登場したときに、サイトにインストールされているブロックプラグインの数をダイヤルバックできます。」
この機能はまだコアになっていないため、彼はFind My Blocksプラグインに目を向ける必要がありました。これは、Atomic / GenesisBlocksのButtonブロックを無意識のうちに使用した22の投稿とページを特定するのに役立ちました。 長期的には、これはWordPressで直接処理する必要があるものです。 ユーザーが家を掃除して古いブロックを取り除く必要があるのは、これが最後になる可能性は低いです。
