
Acquia(Drupal):複数ディスプレイのビューズの修正、リリースと確認について!!

ビューズで複数ディスプレイを使用するメリット
- 同様な抽出内容を1つのビューズに出来、ビューズの一覧がすっきりする
- 設定を変更する時、他のディスプレイも同様に変更となる場合、1度の変更で対応が可能
(変更する設定が他のディスプレイと共通化されている場合) - テンプレートを共有できる為、ソースが少なくて済む
ビューズで複数ディスプレイを使用する時の注意点
修正時の注意点
メリットにある共有化されている設定を変更すると、他のディスプレイの設定も変更されます。
逆に、この事に気が付かずに変更してしまうと、変更予定のないディスプレイの設定も変わってしまう。
設定を変更するモーダル画面の左上に「対象」欄が表示され、「すべてのディスプレイ」となっていると変更内容が他ディスプレイにも反映する可能性があるので、「対象」欄を確認する事で回避できそうであるが、設定欄が横に2つ並んで、2段階で設定している箇所の右側の設定の際、「対象」欄が表示されません。



右側の設定が、共有化されている設定かは、左側の設定を表示して「対象」欄を確認する必要があります。
左側の設定の「対象」欄が「すべてのディスプレイ」で、右側の設定の変更をこのディスプレイのみに行いたい場合、一旦左側の設定の「対象」を「このentity_view(上書き)」にして適用してから、右側の設定を変更する必要があります。
リリース時の注意点
ビューズをリリースするには、開発環境で実施した設定を、検証、本番環境で再度実施する方法と、構成(構成の同期でエクスポートした内容)をインポートする方法があります。
設定を再度実施する場合、設定する量が少ない場合はよいが、多い場合は時間がかかり、漏れ、間違いが起きやすいです。
構成のインポートで行う場合、他の人による変更などがあると、リリース予定でない変更までリリースされてしまいます。
設定を再度実施した場合、設定後に漏れ、間違いがないかを確認したいし、構成のインポートの場合、インポートする内容に他の人の変更がないを確認したい。
構成のエクスポートの結果を比較する事で確認ができそうであるが、複数ディスプレイで共有化された箇所の変更時には比較が困難です。
構成の中で、共通化された設定は、「default:」という階層にあり、同じ階層に各ディスプレイ毎の設定が格納されています。
display: default: id: default display_title: Default display_plugin: default position: 0 display_options: fields: : pager: : entity_view_1: ←1つ目のディスプレイ : entity_view_2: ←2つ目のディスプレイ :
あるディスプレイで共有化されていた設定をこのディスプレイだけ変更した場合、そのディスプレイの階層の下に、その設定が追加されます。
単純比較では、設定が追加されたように差分となってしまい、変更箇所の確認ができません。
変更前後の確認に向けての取り組みについて
- 構成の内容から、ディスプレイの設定にない「default:」の設定値を、ディスプレイへコピーするツールを用意する事を検討中です。
構成はビューズ単位ですが、ツールではディスプレイ単位にファイル化をした方がよいと検討中。
下記の点でツール化に難航しそうです。
- 階層内で設定値の出力順は決まっていないようなので、順番を合わせないと比較しずらいままである
- ビューズのタイプにより、設定内容が変わる為、タイプで使用している設定を洗い出してから、順番を決める必要がある
まとめ
今回は複数ディスプレイのビューズの修正についてご説明いたしました。参考になりましたでしょうか?
WEBSASではAcquiaで、多種多様なサイトのコンサルティングから企画、開発・構築、保守・運用までフルラインでサービスを提供しております。 サイトのリニューアル,構築,バージョンアップをご検討されている方やサイトの性能にお悩みの方は是非、実績と信頼で選ぶSCSKのWEBSASにお問い合わせください。