Project Browser
Drupal管理画面内からモジュール、テーマ、レシピを閲覧、検索、インストールするためのユーザーインターフェースを提供します。
project_browser
インストール
composer require 'drupal/project_browser:^2.0'
概要
Project Browser(PB)は、Drupalサイト内から直接モジュール、テーマ、レシピを検索してインストールすることを可能にします。プロジェクトの発見とインストールのために管理UIを離れてDrupal.orgにアクセスする必要がなくなり、Drupal.orgのモジュール一覧よりも直感的な体験を提供します。
このモジュールはDrupal.org APIにリアルタイムでクエリを実行し、コンテンツが常に最新であることを保証し、サイトと互換性のあるプロジェクトのみを表示します。強化されたフィルタリング機能により、カテゴリ、メンテナンス状況、セキュリティカバレッジ、開発状況によるフィルタリングなど、利用可能なプロジェクトの効率的なビューを提供します。
Project Browserは、レスポンシブなグリッドまたはリストビュー、ページネーション、スクリーンショット、説明、使用統計を含む詳細なプロジェクト情報を備えた、Svelteベースのモダンなフロントエンドを特徴としています。プラグインアーキテクチャを通じて複数のプロジェクトソースをサポートし、Drupal.orgからのコントリビュートモジュール、Coreモジュール、ローカルにインストールされたモジュール、レシピの閲覧が可能です。
Package Manager(Automatic Updatesより)がインストールされている場合、Project BrowserはUIから直接モジュールをダウンロードしてインストールすることもでき、コマンドラインアクセスなしで完全なモジュール発見からインストールまでの体験を提供します。
Features
- Drupal.orgからコントリビュートモジュールをリアルタイムで閲覧(互換性のあるモジュールのみ表示)
- パッケージ別に分類されたDrupal Coreモジュールの閲覧と有効化
- ローカルにインストールされたモジュール(Composer経由でダウンロード済み)の閲覧
- Coreおよびカスタムソースからのレシピの閲覧と適用
- 設定可能なソースからキュレーションされた推奨アドオンの閲覧
- グリッドビューとリストビューを備えたSvelte.jsベースのモダンなレスポンシブフロントエンド
- カテゴリ、セキュリティカバレッジ、メンテナンス状況、開発状況による高度なフィルタリング
- 関連性、アルファベット順、新着順、人気順を含む複数のソートオプション
- スクリーンショット、完全な説明、使用統計を含む詳細なプロジェクトビュー
- Package Managerが有効な場合のUIベースのモジュールインストール(実験的)
- カスタムプロジェクトソース用の拡張可能なプラグインアーキテクチャ
- Project Browserを任意の場所に配置できるブロックベースの表示
- 手動インストール用のComposerコマンド生成
- 入力フォーム処理を含むDrupalレシピシステムとの統合
- 保存されたプロジェクトデータをクリアするDrushコマンド
- パフォーマンス向上のためのキャッシュシステム
Use Cases
サイトビルダーのモジュール発見
サイトビルダーは、サイトの管理インターフェースから直接Drupal.orgのモジュールカタログ全体を閲覧できます。カテゴリ(例:コマース、SEO、メディア)とセキュリティカバレッジでフィルタリングして、プロジェクト要件を満たすモジュールを見つけます。Drupal管理画面を離れることなく、詳細な説明、スクリーンショット、使用統計を確認できます。
非技術者向けモジュールインストール
Package Managerがインストールされているサイトでは、非技術者やコンテンツ管理者がコマンドラインアクセスなしでUI経由でモジュールをインストールできます。ブラウザからモジュールを選択してインストールをクリックすると、Project BrowserがComposer requireとモジュールの有効化を自動的に処理します。
Coreモジュール管理
管理者は、パッケージ別に整理されたすべての利用可能なDrupal Coreモジュールを閲覧できます。標準のモジュールリストを検索することなく、Views、Media、Workflowsなどのコア機能をすばやく見つけて有効にできます。
レシピの適用
CoreとコントリビュートソースからのDrupalレシピを閲覧して適用します。レシピは事前設定された機能バンドルを提供します。Project Browserはレシピ入力の収集を処理し、ロールバック機能のための適切なチェックポイントを作成してレシピを適用します。
カスタムモジュールカタログ
組織は、内部モジュールカタログ、承認済みモジュールリスト、またはサードパーティリポジトリを公開するカスタムProject Browserソースプラグインを作成できます。プラグインアーキテクチャにより、任意のデータソースとの統合が可能です。
ホスティングプロバイダーの推奨
ホスティングプロバイダーやDrupalディストリビューションは、Recommendedソースを設定して、顧客にキュレーションされたモジュールの推奨を表示し、テスト済みでサポートされているモジュールに誘導できます。
Tips
- 検索時に「関連性の高い順」ソートオプションを使用すると、検索語に最適なマッチを取得できます
- 設定で必要なソースプラグインのみを有効にすると、煩雑さが減り、パフォーマンスが向上します
- グリッドビューはより多くのプロジェクトを一度に表示し、リストビューはプロジェクトごとにより詳細な情報を提供します
- 大規模サイトでは、UIインストールを無効にして、より良いコントロールのためにComposerを直接使用することを検討してください
- Project Browserはデフォルトで24時間結果をキャッシュします。必要に応じてアクションタブを使用して強制更新してください
- 内部モジュールカタログや承認済みモジュールリストと統合するカスタムソースプラグインを作成してください
- Project Browserブロックをダッシュボードに配置すると、プロジェクト発見にすばやくアクセスできます
Technical Details
Admin Pages 3
/admin/modules/browse/{source}
ユーザーが利用可能なDrupalモジュール、テーマ、レシピを検索、フィルタリング、発見できるメインのプロジェクト閲覧インターフェース。このページは、フィルタリングオプション、ページネーション、詳細なプロジェクト情報を備えたレスポンシブなグリッドまたはリストでプロジェクトを表示します。ユーザーはモーダルでプロジェクトの詳細を確認し、インストール用のComposerコマンドを表示でき、Package Managerが有効な場合はUIから直接プロジェクトをインストールできます。
/admin/config/development/project_browser
有効なプロジェクトソースとその表示順序を設定します。UIベースのインストール機能を有効または無効にします。Project Browserがプロジェクトをクエリするソースを管理します。
/admin/config/development/project_browser/actions
すべてのソースからキャッシュされたプロジェクトデータをクリアするなど、Project Browserの管理アクション。
権限 2
Hooks 1
hook_project_browser_source_info_alter
プラグインマネージャーによって発見されたProject Browserソースプラグイン定義を変更します。
Drush Commands 1
drush project-browser:storage-clear
Project Browserソースから保存されたすべてのプロジェクトデータをクリアします。新しいデータの取得を強制したり、キャッシュの問題をトラブルシューティングするのに便利です。
Troubleshooting 5
サーバーがdrupal.orgに接続できるかどうかを確認してください。ファイアウォールルールが送信HTTPSリクエストをブロックしていないか確認してください。Drupalのエラーログ(レポート > 最近のログメッセージ)で詳細なエラー情報を確認してください。/admin/config/development/project_browser/actionsでProject Browserのストレージをクリアしてみてください。
UIインストールにはAutomatic UpdatesモジュールのPackage Managerバージョン2.5以降が必要です。automatic_updatesモジュールをインストールして有効にすると、Project Browser設定でオプションが利用可能になります。
別のインストールプロセスが進行中の可能性があります。数分待ってから再試行してください。問題が解決しない場合は、エラーメッセージに表示されるアンロックリンクを使用するか、/admin/modules/project_browser/install/unlockにアクセスして手動でインストールプロセスをアンロックしてください。
/admin/config/development/project_browser/actionsに移動して「ストレージをクリア」をクリックして、Project Browserのキャッシュをクリアしてください。また、drush crまたはadmin/config/development/performanceでDrupalのキャッシュをクリアしてみてください。
レシピが正しい場所にインストールされていることを確認してください。Coreレシピはcore/recipes/にあります。コントリビュートレシピは、Composerがそれらを配置するように設定されている場所にインストールする必要があります(composer.jsonのinstaller-pathsを確認してください)。新しいレシピを追加した後は、Project Browserのストレージをクリアしてください。
Security Notes 6
- Project BrowserはDrupalの権限システムを尊重します。「モジュールの管理」権限を持つユーザーのみがプロジェクトを閲覧およびインストールできます
- UIインストールには「モジュールの管理」権限と設定でPackage Managerが有効になっている必要があります
- セキュリティカバレッジフィルターはデフォルトで有効になっており、Drupalのセキュリティ勧告ポリシーの対象となるモジュールのみを表示します
- drupal.orgへのすべてのAPIリクエストはサーバー側で行われ、認証情報やトークンは公開されません
- インストールサンドボックスは、成功または失敗したインストール後に自動的にクリーンアップされます
- レシピの適用は、問題が発生した場合にロールバックに使用できるチェックポイントを作成します