Workbench
コンテンツエディター向けに便利なダッシュボードとショートカットを提供する、簡素化されたコンテンツ管理のためのフレームワークです。
workbench
インストール
composer require 'drupal/workbench:8.x-1.6'
composer require 'drupal/workbench:8.x-1.4'
概要
Workbenchは、他のDrupalモジュールと統合するための簡素化されたユーザーインターフェースとAPIを提供します。コンテンツ投稿者のための集中型ダッシュボードとして機能し、すべてのコンテンツ管理ニーズを一箇所にまとめます。このモジュールは、ユーザーアカウント、コンテンツ編集、コンテンツ作成へのアクセスを「My Workbench」と呼ばれる統一インターフェースに集約することで、新規ユーザーの学習曲線を緩和します。
このモジュールは、ユーザーのプロフィール、最近の編集、サイト全体の最新コンテンツを含むViewsベースのコンテンツリストを表示する複数のリージョンを持つカスタマイズ可能な概要ページを提供します。管理者は、Workbenchページの各リージョンに表示するViewsを設定できます。
Workbenchは、Workbench Access(コンテンツアクセス制御用)やContent Moderation(編集ワークフロー用)などのコンパニオンモジュールと組み合わせることで、追加機能を獲得します。これらのモジュールを組み合わせることで、誰がコンテンツにアクセスできるかを制御し、承認されたコンテンツのみが公開されるようにワークフロー管理を提供する包括的な編集システムを構築できます。
Features
- ツールバーからアクセス可能な集中型「My Workbench」ダッシュボードで、エディターがコンテンツに素早くアクセスできます
- 現在のユーザーの情報、ロール、最終訪問時刻を表示するユーザープロフィール表示
- リビジョン追跡を備えた、ユーザーが編集したすべてのコンテンツを追跡する「Your most recent edits」ビュー
- ソート可能な列とフィルターを備えた、サイト全体の最新コンテンツを表示する「Recent content」ビュー
- ユーザーが作成権限を持つ利用可能なコンテンツタイプを一覧表示する「Create content」ページ
- 管理者が各ダッシュボードセクションに異なるViewsを割り当てることができる設定可能なViewsベースのリージョン
- すべてのWorkbenchページへのクイックリンクを含む専用Workbenchメニューを備えたツールバー統合
- ページに配置でき、フックを介して他のモジュールによって拡張可能なWorkbench情報ブロック
- ダッシュボードコンテンツ、作成ページ、情報ブロックをカスタマイズするためのAPIフック
- リストページでのタイトル、コンテンツタイプ、公開状態による完全なコンテンツフィルタリング
- コンテンツリストでのページあたりの表示件数を設定可能なページネーションサポート
- 編集済みコンテンツリストでコンテンツ作成者とリビジョン作成者の両方を表示するリビジョン追跡
Use Cases
ニュースサイトの編集ダッシュボード
ニュースサイトが編集チームの中心的なハブとしてWorkbenchを使用しています。記者はMy Workbenchにアクセスして最近の記事を確認し、新しいコンテンツを素早く作成し、作業中の内容を追跡します。編集者はチーム全体からの投稿をレビューするためにすべての最近のコンテンツを表示できます。
複数著者ブログプラットフォーム
複数の寄稿者がいるブログプラットフォームがWorkbenchを使用して、各著者にパーソナライズされたワークスペースを提供しています。著者は「Your most recent edits」で自分のコンテンツのみを見ながら、すべての公開コンテンツを閲覧できます。これにより著者はトピックの重複を避け、調整を保つことができます。
企業イントラネットのコンテンツ管理
企業イントラネットがWorkbench Accessと組み合わせてWorkbenchを使用し、部門長が自分のセクションのコンテンツを管理できるようにしています。各部門のコンテンツマネージャーは自分の最近の編集を見て、アナウンスをすばやく作成したり部門ページを更新したりできます。
教育機関のウェブサイト
大学のウェブサイトがコースページや学部情報を更新する必要がある教職員向けにWorkbenchを使用しています。教職員がDrupalの完全な管理インターフェースを学ぶ必要がないため、簡素化されたインターフェースがトレーニング時間を短縮します。
カスタム編集ワークフロー統合
雑誌のウェブサイトがhook_workbench_content_alter()を実装して、さまざまなワークフロー状態(下書き、レビュー中、予定、公開)の記事を表示するカスタムViewsを追加しています。また、hook_workbench_block()を使用して、すべてのページに現在の号の締め切りを表示しています。
Tips
- ロール固有のViewsを作成し、設定可能なViews機能を使用して異なるユーザーロール用に各Workbenchリージョンをカスタマイズできます
- hook_workbench_block()を実装して、モデレーション状態、コンテンツワークフローステータス、カスタム編集メッセージなどの役立つコンテキスト情報を表示できます
- マルチセクションウェブサイトで包括的な編集アクセス制御を行うには、Workbench Accessモジュールと組み合わせてください
- 「My edits」ページはリビジョンを追跡するため、ユーザーが他の人のコンテンツを編集した場合でもコンテンツが表示されます - 編集監視に便利です
- 特定のフィルター(例:レビュー待ちのコンテンツ)を持つカスタムViewsを作成し、ワークフロー固有のダッシュボード用にWorkbenchリージョンに割り当てることができます
- Workbench情報ブロックをノード表示ページに配置して、エディターが閲覧しているコンテンツに関するコンテキスト情報を表示できます
Technical Details
Admin Pages 5
/admin/config/workflow/workbench
管理者が5つの設定可能なページリージョンそれぞれにViewsを割り当てることができるWorkbenchの設定ページです。概要「My Workbench」ページには3つのコンテンツセクション(左、右、メイン)があり、「My edits」と「All recent content」ページにはそれぞれ1つのメインセクションがあります。
/admin/workbench
ユーザーのコンテンツ概要を表示するメインのWorkbenchダッシュボードページです。ページは3つのリージョンに分かれています:ユーザープロフィール情報を表示する左列(幅35%)、ユーザーの最近の編集を表示する右列(幅65%)、最近のサイトコンテンツを表示する下部の全幅メインセクションです。
/admin/workbench/create
ユーザーが作成権限を持つコンテンツタイプのリストを表示するページです。各コンテンツタイプは名前と説明とともに表示され、そのタイプのノード追加フォームにリンクしています。
/admin/workbench/content/edited
ユーザーが編集したすべてのコンテンツの検索可能でページネーション付きのリストです。現在のユーザーに帰属するリビジョンを表示し、サイト全体での編集履歴を追跡できます。
/admin/workbench/content/all
サイト上のすべての最近のコンテンツのソート可能でフィルター可能なリストです。エディターがアクセス権限を持つコンテンツを素早く見つけて編集する方法を提供します。
権限 2
Hooks 3
hook_workbench_content_alter
モジュールがデフォルトのWorkbenchランディングページを変更できるようにします。このフックは、Viewsをカスタムコンテンツに置き換えたり、新しいブロックを追加したり、任意のWorkbenchページの既存のブロック設定を変更したりするために使用できます。
hook_workbench_create_alter
モジュールがコンテンツ作成ページを変更できるようにします。このフックは、ページに表示されるコンテンツタイプのリストを変更したり、追加の作成オプションを追加したりできます。
hook_workbench_block
モジュールがWorkbench情報ブロックに表示するステータス情報を返すことができるようにします。デバッグ情報、編集ステータス、またはエディターへのコンテキスト対応メッセージを提供するのに便利です。
Troubleshooting 5
ユーザーのロールに「Access My Workbench」権限が付与されていることを確認してください。また、ToolbarモジュールからのUse the administration toolbar」権限も持っていることを確認してください。
これは新規ユーザーには予想される動作です。「My edits」ビューはユーザーがリビジョンを作成したコンテンツを表示します。コンテンツの作成または編集を開始すると、このリストに表示されます。
8.x-1.3リリースでリビジョン追跡が修正されました。既存の「Workbench: Edits by user」(workbench_edited)ビューを削除し、Workbenchモジュールを無効化して再有効化することで再インポートしてください。
カスタムViewが有効になっていることを確認してください。サイト上のすべてのViewsとそのdisplayが一覧表示されます。形式は「View名 : Display タイトル」です。
ユーザーが「Access My Workbench」権限と「View the administration theme」権限の両方を持っていることを確認してください。
Security Notes 3
- 「Administer Workbench」権限はWorkbenchページに表示されるコンテンツを変更できるため、信頼できる管理者のみに付与する必要があります
- WorkbenchはDrupalのノードアクセス権限を尊重します - ユーザーは閲覧権限を持つコンテンツのみを表示できます
- Workbenchに表示されるViewsはそのアクセス設定を継承するため、Views権限が適切に設定されていることを確認してください