グーテンベルクの寄稿者がメタボックスにiframeを使用することの欠点について話し合う

公開: 2017-11-04
写真提供者:閉じた四角いボックス、バリエーション–(ライセンス)

Gutenbergによるメタボックスへのiframeの使用に関する活発で生産的な議論が、GitHubで行われています。 昨日、WordPress開発者のKevin Hoffmanが、「iframeはメタボックスの実行可能な長期ソリューションですか?」というタイトルの問題を作成しました。

Gutenberg 1.5では、メタボックスの初期サポートが導入されました。 Hoffmanは、開発者が現在のメタボックス実装のテストを開始したときにポップアップしているiframeに関するいくつかの問題を特定しました。 彼はいくつかのパフォーマンステストを行い、グーテンベルクがiframeを使用すると、すべてのiframeだけでなく親ウィンドウにもすべてのCSSおよびJSアセットがエンキューされるため、アセットリクエストの数が3倍になることが明らかになりました。

画像クレジット:Kevin Hoffman

「一般的に言って、iframeは、十分に文書化されている理由から、長年にわたってWeb開発で推奨されていません」とホフマン氏は、プラグイン開発者がグーテンベルクのメタボックスサポートのテストですでに発見した一連の問題を引用する前に述べました。 「メタボックスを生成するテーマやプラグインを変更せずに、これらの問題に対処できますか? 何年にもわたってメタボックスに電力を供給してきたサードパーティのコードには、iframe内で互換性を持たせるために更新する余裕がない可能性があることを考慮する必要があります。」

グーテンベルクのデザインリーダーであるタミーリスターはホフマンの懸念に応え、メタボックスの現在の実装は単なる実験であり、必ずしもWordPress5.0に搭載されるものではないことを示しています。

グーテンベルクのメタボックスについて今日私たちが持っているのは実験であると少し考えるのは良いことです。多くの点で、プロジェクトが進むべき方向を決めるとき、それは保持パターンです。 それは「今のところ」機能するものですが、私たちが出荷するものではありません。

以上のことから、将来メタボックスが何に使用されるかを検討することが重要だと思います。 ブロックに変換されないケース(ある場合)は何ですか? すべてのメタボックスはモバイルで動作する必要がありますか? 私たちが探求していない代替インターフェースさえありますか? きっとあります。 今、それはそれらの可能性を見て、現在の州と将来の州のために働く道に乗ることについてです。

この実装を「今のところ機能する」(ただし出荷されない)実験として提示すると、Gutenberg 1.5が到着し、「このリリースには待望のメタボックスのサポートが含まれています(テストが必要です!)」という発表がありました。

ホフマンは、問題が壊れているいくつかの主要な方法を引用するために問題が開かれたため、iframeアプローチは「今のところ」さえ機能しないと主張しています。 グーテンベルクが現在のアプローチで前進する場合、WordPress 5.0と互換性を持たせるために多くのプラグインを変更する必要があり、ホフマンはレガシーメタボックスをサポートするという目的全体を無効にするだろうと述べました。

「これまで、メタボックスがグーテンベルクと連携し続けることを示唆する証拠は見たことがありません」とホフマン氏は述べています。 「答えが「いいえ」の場合は、5.0が単なるWordPressの別のリリースになるというふりをするのをやめ、下位互換性を破ることについて正直になり始める必要があります。」

プロジェクトの共同作業者であるEdwinCromleyは、チームは特定のテーマとプラグインが壊れることを予想しており、考えられるすべてのユースケースに対応することは不可能であると述べました。 彼は、iframeソリューションがプロジェクトの目標を達成できない可能性があることを認めました。 代わりに、彼は大多数のユーザーに最高のエクスペリエンスを提供することを提唱しています。

ただし、現在のアプローチは、WordPressを主にメタボックスを備えたCMSとして使用している多くのサイトに悪影響を及ぼします。 WordPressのコアコミッターであるScottTaylorは、カスタム投稿タイプについて懸念を表明しました。その多くは、従来の「コンテンツ」セクションを使用せず、メタボックスのみを使用しています。

「この現在のイテレーションでは、メタボックスのサポートはアドオンです。多くの人の現実では、メタボックスはUI、API、CMSを構成するために使用するメカニズムです」とテイラー氏は述べています。 「iframeはグラグです。

「そして、WPが永遠に構築されてきた価値を忘れています。私はWPの最新バージョンに更新できるはずであり、何も書き直す必要はありません。 私はWPで非常に多くのプロジェクトを抱えているので、二度と触れることはありません。 それらのいくつかがこの変更で激しく壊れないことを私は確信できますか?」

Hoffmanは、プロジェクトの範囲を縮小してエディターコンポーネントに焦点を当てることを提唱しました。これは、多くのプラグイン開発者が共有する一般的な意見であり、Gutenbergへの代替アプローチを提案するYoastの投稿で詳細に説明されています。 このアプローチでは、編集画面への変更が段階的に行われるため、開発者はプラグインを更新する時間を増やすことができ、Gutenbergチームはメタボックスの適切なソリューションを見つけることができます。

「グーテンベルクがページ全体を引き継ぐのではなく、編集者のオーバーホールに固執した場合、目標ははるかに達成可能になると思います」とホフマン氏は述べています。 「その後、既存のフックをそのままにして、メタボックスが現在と同じように相互に通信し続けることができます。 また、アセットエンキューは、今日と同じように機能するため、問題にはなりません。

「私はYoastによって提示されたこの概念に強く同意しています。これは、プロジェクトの範囲を縮小してエディターコンポーネントに焦点を合わせながら、すでに行われた作業の多くを維持するように思えます。」

グーテンベルクのエンジニアであるリアドベンゲラは、チームがこのコンセプトに向けて取り組むことにあまり熱心ではないと述べました。

「グーテンベルクの作品を再利用してこのコンセプトを構築することは比較的実行可能ですが、これは最適化するUXではありません。最初に可能な限り最高のエディターを構築し、下位互換性の懸念なしに利用できるようにします(新規インストール、メタボックスなし… )」とベンゲラは言った。

「グーテンベルクの理想的なビジョンを実現する準備ができたら、アップグレードパス戦略について話し合う時間があります。このようなコンセプトはアップグレードパスのオプションですが、最終製品としては間違いありません。 他のアップグレードパスも可能です。」

ただし、WordPress開発者コミュニティは、この議論をもう一度遅らせることに賛成していません。 多くの人は、メタボックスがグーテンベルクエディタのコンテキストにどのように適合するかという質問に最終的に答えて、準備する方法を知っていることを熱望しています。 iframeアプローチには多くの問題があるため、新しいエディターでレガシーPHPメタボックスをレンダリングするには、より多くの実験と、場合によっては代替ソリューションが必要になります。

「既存のサイトと互換性を持たせることができないのに、なぜ理想的なエディターの開発に何千時間も費やすのですか?」 ホフマンは言った。 「第一印象が、依存しているUIを壊しているということである場合、ユーザーはそもそも理想的なエディターを体験することはありません。」

「これを先延ばしにするのは間違いかもしれないと思う」とWordPressのコアコミッターであるアーロン・ジョルビン氏は語った。 「特に、多くの組織が準備のために少なくとも1〜2四半期を必要とするためです。」

Mark Kaplunは、Gutenbergチームが、現在および将来のメタボックスサポート実験の成功のゲージとして人気のあるプラグインを使用することを提案しています。

「私の生産的な提案は、Yoast SEOが適切に機能しない限り、メタボックスの準備ができていると宣言しないことです」とKaplun氏は述べています。 「それは相互作用の点で少し複雑であり、サイトのたわごとの負荷にインストールされています。 グーテンベルクがそれを扱うことができない場合、おそらく誰もそれを使用するつもりはありません。」

グーテンベルクの進行中の開発について広範囲にわたってテストおよび執筆を行ってきたGregSchoppeが会話に加わり、プロジェクトに対するYoastの代替アプローチも提唱しました。

「私はグーテンベルクに対するヨーストの見方を大いに支持します」とショッペは言いました。 「グーテンベルクチームによって「ビジュアルエディターのアップグレード」が「ポストエディットインターフェイス全体を置き換える」とどのように再解釈されたかはわかりませんが、いわゆる「テセウスの船」とは直接対立しているようです。

「この場合、既存の標準ワークフローに対する明確な方向性とサポートの欠如が、現在開発者を積極的に傷つけています。 信頼できるフックとツールのセットを使用せずに、プロジェクトの構築を進めるにはどうすればよいですか? このような大規模なソフトウェアプロジェクトが、1回の更新で開発者の標準ワークフローを完全に覆すと考えるのは無礼です。 そして、これらの会話がちょうど今、年の初めに合併が承認される計画である11月に起こっているのは非常識です。」

昨日開かれたメタボックスへのiframeアプローチに関する議論はまだ比較的新しいものですが、これまでのところ、グーテンベルクチームの回答は、このスレッドの開発者コミュニティの懸念に適切に対処できていません。 ユーザーや開発者を遠ざけることなく、WordPressの強力なCMS機能を維持するメタボックスへのアプローチを見つけることは、グーテンベルクチームの最大の課題の1つです。 彼らはまだ来年初めにマージ提案を作成することを目指していますが、メタボックスはまだ実験段階にあり、チームの予想されるスケジュールはプロジェクトをWordPress開発者コミュニティと対立させ続けています。