web-dev-qa-db-ja.com

*既存の*コンテンツの新しい下書きをユーザーに作成させるにはどうすればよいですか?

ユーザーには2つの役割があります:AdminsおよびContent Creators(基本的に認証済みコンテンツを作成するためのいくつかの追加権限が必要です)。コンテンツ作成者が既存のコンテンツから新しい下書きを作成し、管理者が公開することを承認できるようにしたいと考えています。

このアプローチは簡単に聞こえますが、いくつかの障害にぶつかり、複数のアプローチを試しました。

  • Workbench Moderation :これを機能する程度にインストールできませんでした。管理者がコンテンツを承認するたびに、永久に非公開になります。私 ここに問題を詳しく説明してください 。管理者が自分のコンテンツを公開しようとすると、WBはアイテムが公開されていると認識しますが、Drupalは他の方法でレポートします。他のユーザーには 同様の問題 があるようです。
  • ドラフト :有望に見えましたが、D7リリースはありません
  • ドラフトを保存新しいコンテンツでうまく機能しますが、既存のアイテムの新しいドラフトを作成することはできません

その他の考慮事項:

  • Workflow :私は期待していますが、一見単純そうなワークフローのために設定する多くの設定があります。また、それは少し圧倒的に見えます。 Workbenchがこれを簡略化したバージョンになることを望みました。

この機能がD8に組み込まれていることがわかります。事実、 まさにチケット は、私たちがやろうとしていることを説明しています。

理想的には、任意の状態を任意のリビジョンに割り当てることができるはずです。私は、公開された改訂、承認待ちの改訂、およびそれ以上の改訂草案を持つことができました。

これをDrupal 7で発生させる方法はありますか?

3
Rick

オプション1:修正

可能な代替案は Revisioning モジュールです。さらに詳細(プロジェクトページから):

...コンテンツリビジョンを作成、モデレート、公開するワークフローを構成するためのモジュール。

ほとんどのユースケースでは、設定は簡単です。トリッキーなビットは権限です。すぐに起動して実行するには(D6またはD7)、ここで説明されている手順に従います。 最も単純な改訂

これについてのスクリーンプリントは次のとおりです(プロジェクトページから)。

enter image description here

オプション2:いくつかの一般的なモジュールを組み合わせる

これらのモジュール(および通常のコンテンツタイプ)を組み合わせて使用​​します。

以下は、同様のアプローチでワークフローを実装するための詳細です。

  • コンテンツ作成者は、コンテンツタイプ(たとえば)「リクエスト」のノードを作成します。

  • コンテンツアクセス を使用して、「複数のタイプのリクエストがあり、複数のコンテンツタイプに拡張する場合は、どのタイプのタイプを作成できるロールに関するあらゆる種類の権限を微調整します。

  • Rules を使用して、管理者に「電子メールを送信」(=アクション)します。「タイプ「リクエスト」のコンテンツが保存された後」(=イベント)。管理者向けの(カスタム)電子メールに、リクエストに関連するすべての詳細を含めます(ルールで使用できるさまざまなデータに応じて)。確認するノードのURLなど。

  • コンテンツの作成者がリクエストデータを変更できないようにするには(レビュープロセスが未解決の場合)、同じ(以前の)ルールに追加のアクションを追加して、リクエストへのアクセスを更新します(コンテンツの作成者のみが読み取りできるようにします)。

  • Flag モジュールを使用して、管理者が送信済みノードを「承認済み(管理者による)」または「拒否(管理者による)」(拒否?)などのフラグでマークできるようにします。これらのフラグを設定する権限は、管理者に制限されています。

  • 送信されたノードが承認された後、 Rules を使用して、ノード(要求)を以前のバージョン(非公開または削除、あるいはその両方)を置き換える新しいバージョンと見なすために必要なアクションを実行します。リクエストに置き換えるバージョンへのエンティティ参照が含まれている場合は、以前のバージョンを自動的に置き換えるように Rules を指定することもできます。

  • 必要に応じて、 Rules を使用して、コンテンツ作成者に「電子メールを送信」(=アクション)します。「タイプ「リクエスト」のコンテンツにフラグが付けられた後」(=イベント)。バリエーション:適切なビューを作成して、各コンテンツ作成者が承認プロセスを監視するための何らかのダッシュボードを使用できるようにします。

  • ワークフロー参加者の一部がまったく「見る」べきではない特定の「フィールド」で上記をさらに調整したい場合も、 Node Convert モジュールを追加します(「フィールドを使用する必要がないようにするため」許可」、これはその代わりになる可能性があります。

3
Pierre.Vriens

私たちは Workflow モジュールを使用し、それが非常に安定していることを発見しました。そして、あなたが説明したとおりにそれを使用して、コンテンツ担当者がコンテンツを編集し、管理者がそれを承認できるようにします。

ワークフローモジュールの構成は少し複雑ですが、必要な機能を提供するため、実行する価値があります。通常、次の手順があります。

  1. ワークフローモジュールをインストールします。
  2. ワークフローを構成します。
    • 新しいワークフローを作成します。
    • いくつかの状態を作ります。
    • ワークフローをコンテンツタイプに割り当てます(以下のチュートリアルでは、これをノードと呼びます)。
  3. ワークフローの各状態を使用するユーザーのタイプごとに権限を設定します。

Drupal Users のワークフローの作成には、優れたチュートリアルが含まれています。

5
Kdev