Dashboard
Layout Builder統合によるカスタマイズ可能なダッシュボードを提供し、パーソナライズされた管理体験を実現します。
dashboard
インストール
composer require 'drupal/dashboard:^2.1'
composer require 'drupal/dashboard:^2.0'
概要
Dashboardモジュールは、Drupalでカスタマイズ可能なダッシュボードを作成・管理するための柔軟なシステムを提供します。Layout Builderモジュールを活用し、管理者がセクション内にブロックやコンテンツを配置してダッシュボードレイアウトをデザインできます。
各ダッシュボードは独自のレイアウト、権限、表示順序を個別に設定できる設定エンティティです。ユーザーはログイン時にアクセス可能なダッシュボードに自動的にリダイレクトされ、パーソナライズされたランディングページ体験を提供します。
このモジュールには、最近のコンテンツ、下書き、編集したコンテンツなど、ユーザー固有のコンテンツを表示するための組み込みViewsブロックが含まれています。Gin管理テーマ、クイックナビゲーション用のCoffeeモジュール、ツールバー統合用のコアNavigationモジュールとシームレスに統合されます。
Features
- Layout Builderを使用して柔軟なコンテンツ配置が可能な複数のカスタマイズ可能ダッシュボードを作成
- 各ダッシュボードごとに表示権限を割り当て、どのユーザーロールがアクセスできるかを制御
- ログイン後にユーザーがアクセス可能な最初のダッシュボードへ自動リダイレクト
- 複数のダッシュボードが存在する場合の表示優先順位を制御するウェイトベースの並び順
- ユーザー固有のコンテンツ用の組み込みViewsブロック:最近のコンテンツ、下書き、編集したコンテンツ、サイト全体のコンテンツ管理
- ダッシュボードにカスタム書式付きテキストを追加するためのDashboard Textブロック
- ダッシュボードにシステム要件エラーを表示するSite Statusブロック
- スタイリング強化のためのGin管理テーマとの統合
- キーボードコマンドによるクイックダッシュボードナビゲーション用のCoffeeモジュール統合
- 管理ツールバーにダッシュボードリンクを表示するNavigationモジュール統合
- 公開前にダッシュボードレイアウトをテストするためのプレビューモード
- 管理リストでのダッシュボードのドラッグ&ドロップによる並び替え
Use Cases
コンテンツエディター用ダッシュボード
コンテンツエディター向けに、下書き、最近編集したコンテンツ、新規コンテンツ作成へのクイックリンクを表示するダッシュボードを作成します。コンテンツエディターロールに表示権限を割り当てると、エディターはログイン後にこれをランディングページとして表示できます。
管理者概要ダッシュボード
サイトステータスエラー、最近のサイトコンテンツ、システム監視ブロックを表示する包括的な管理ダッシュボードを構築します。これにより、管理者はサイトの健全性と最近のアクティビティを素早く把握できます。
ロールベースのランディングページ
異なるユーザーロール向けに異なるレイアウトを持つ複数のダッシュボードを作成します。マーケティングチームメンバーはキャンペーン関連コンテンツを、開発者はデプロイステータスとエラーログを表示できます。各ダッシュボードは特定のワークフローニーズに合わせてカスタマイズできます。
サイトヘルス監視
Site Statusブロックを管理ダッシュボードに追加して、システム要件エラーを目立つように表示します。Ginテーマ統合と組み合わせることで、サイトの健全性を監視するためのクリーンなインターフェースを提供します。
クイックナビゲーションハブ
Dashboard Textブロックを使用して、チームメンバー向けの重要なリンク、お知らせ、役立つリソースを含むナビゲーションハブを作成します。Layout Builderにより、コンテンツセクションの柔軟な配置が可能です。
Tips
- 既存のダッシュボードを削除する前に新しいダッシュボードを作成し、ユーザーが常にランディングページを持つようにする
- ウェイト順序を戦略的に使用する - 最も低いウェイトを持つダッシュボードが、複数のダッシュボードにアクセスできるユーザーのデフォルトになる
- Coffee統合により、「:dashboard」に続けてダッシュボードのマシン名を入力することで、ダッシュボードに素早くアクセスできる
- Ginテーマユーザーの場合、追加設定なしでダッシュボードスタイリングが自動的に強化される
- 有効にする前にダッシュボードレイアウトをプレビューして、配置が正しく見えることを確認する
- カスタムブロックを作成する前に、パーソナライズされたコンテンツ表示用の組み込みViewsブロックの使用を検討する
- ダッシュボード権限は独立している - ユーザーは一部のダッシュボードにはアクセスできるが、他のダッシュボードにはアクセスできない場合がある
Technical Details
Admin Pages 6
/admin/dashboard
ユーザーのデフォルトでアクセス可能なダッシュボードを表示するメインダッシュボードページ。少なくとも1つのダッシュボードを表示する権限がある場合、ユーザーはログイン後にここに自動的にリダイレクトされます。ダッシュボードコンテンツはLayout Builderセクションを使用してレンダリングされます。
/admin/structure/dashboard
すべてのダッシュボードを管理するための管理ページ。既存のダッシュボードとそのステータスの一覧を提供し、ドラッグ&ドロップで表示優先順位を制御する並び替えが可能です。
/admin/structure/dashboard/add
新しいダッシュボードを作成するためのフォーム。作成後、ユーザーがアクセスできるようになる前にレイアウトの設定と権限の割り当てが必要です。
/admin/structure/dashboard/{dashboard}
既存のダッシュボードの基本設定を編集するためのフォーム。レイアウトはLayout Builderインターフェースを使用して別途編集します。
/admin/structure/dashboard/{dashboard}/permissions
この特定のダッシュボードを表示できるユーザーロールを設定します。各ダッシュボードには、任意のロールに割り当て可能な独自の「view [dashboard_id] dashboard」権限があります。
/admin/structure/dashboard/{dashboard}/preview
ダッシュボードがユーザーにどのように表示されるかをプレビューします。これにより、管理者はダッシュボードを有効にする前にレイアウトとコンテンツを確認できます。
権限 2
Hooks 7
hook_user_login
ログイン後にユーザーをデフォルトダッシュボードにリダイレクトします。destinationパラメータが既に設定されている場合、またはユーザーがパスワードリセットページにいる場合はリダイレクトがスキップされます。
hook_coffee_commands
ダッシュボードへのクイックナビゲーション用のCoffeeモジュールコマンドを提供します。アクセス可能な各ダッシュボードに対してコマンドを作成します。
hook_library_info_alter
Gin管理テーマがアクティブな場合にGinテーマ固有のCSSを追加します。Ginユーザー向けにダッシュボードのスタイリングを強化します。
hook_toolbar_alter
アイコン表示のために管理ツールバーにダッシュボードツールバーライブラリをアタッチします。
hook_menu_local_tasks_alter
ローカルタスクメニューから重複するダッシュボードタブを削除し、適切なキャッシュメタデータを追加します。
hook_navigation_defaults
Navigationモジュール統合のためのデフォルトナビゲーションブロック設定を提供します。
hook_block_alter
ダッシュボード内部ブロックをブロックUIから非表示としてマークします。これらはダッシュボード内でのみ使用すべきためです。
Troubleshooting 5
ユーザーが少なくとも1つの有効なダッシュボードに対する「view [dashboard_id] dashboard」権限を持っていることを確認してください。また、ログイン中に他のモジュールによってdestinationパラメータが設定されていないか確認してください。
ダッシュボードが有効であり、ユーザーがそれを表示する権限を持っていることを確認してください。ダッシュボードリンクは、少なくとも1つのダッシュボードにアクセスできるユーザーにのみ表示されます。
ページから離れるのではなく、「レイアウトを保存」をクリックしていることを確認してください。Layout Builderは明示的に保存されるまでtempstoreを使用して変更を保持します。
ブロックのアクセス条件が満たされていることを確認してください。一部のブロック(Site Statusなど)は特定の条件が真の場合(例:エラーがある場合)にのみ表示されます。
Navigationダッシュボードブロックは、ユーザーが少なくとも1つのダッシュボードを表示する権限を持っている必要があります。権限が正しく割り当てられているか確認してください。
Security Notes 4
- ダッシュボード表示権限は、包括的な保護のためにルートとエンティティアクセスの両方のレベルで適用されます
- 「administer dashboard」権限は、すべてのダッシュボードの作成と変更を許可するため、信頼できる管理者にのみ付与すべきです
- 各ダッシュボードのコンテンツは、ダッシュボード権限に加えて個々のブロックのアクセス制御の対象となります
- パスワードリカバリ中のセキュリティ問題を防ぐため、パスワードリセットページのリダイレクトは意図的にスキップされます