Documentation Center

バンドルとワークフロー

まとまったワークフロー処理にバンドルを使用する場合は、いくつかの重要事項を理解しておく必要があります。

バンドルでのワークフローの開始

その他の項目とは異なり、バンドルがトリガーに応じて自動的にワークフロー プロセスに入ることはありません。したがって、ユーザーはワークフローを手動で開始する必要があります。 バンドルのワークフローを開始すると、バンドル自体と、バンドルに含まれるすべての項目がワークフローに入ります。

バンドルのワークフローを開始するには、バンドル ワークフローに入れることができる、次のような項目のみをバンドルに含める必要があります。
  • コンポーネント
  • ページ
  • コンポーネント テンプレート
  • ページ テンプレート
  • テンプレート構築ブロック
  • その他のバンドル

バンドル内の項目は、既に完全に独立したワークフロー プロセスの一部となっている可能性があります。このような場合、バンドルのワークフロー プロセスは、バンドルに含まれるすべての項目のワークフロー プロセスが完了していないと開始できません。

バンドル内に存在する必要がある項目

コンポーネントやその他の種類の項目は、ワークフローのためにそれらをバンドルに追加することが必須となるように、スキーマ内で構成できます。このような場合、項目を作成または編集した後に、バンドルを選択するように求められます。

バンドルに含めることが必須な項目がバンドルに含まれている場合、これらの項目に対する変更は、当該バンドルが開始されてそのワークフロー プロセスが完了するまでチェックインできません。つまり、バンドルのワークフローを開始するであっても、必須項目への変更はチェックインされません。

たとえば、次の一連のイベントを考えてみます。

  1. アリスはバンドル内の必須項目を開きます。バンドルにはワークフローがありますが、ワークフローはまだ開始されていません。
  2. アリスはその項目を変更し、保存して閉じ、変更内容を確定します。変更内容は確定されますが、チェックインされません。
  3. ボリスは同じ項目を開き (または明示的にチェックアウトし)、変更を行いますが、編集途中で気が変わります。
  4. ボリスは[チェックアウトを元に戻す]を選択し、変更内容を破棄します。
  5. Content Manager は、アリスが行った変更も含め、チェックインされていないすべての変更内容を破棄します。

ボリスに警告するために、ボリスが項目を開く (または明示的にチェックアウトする) ときにメッセージが表示され、その項目に対して彼が行う変更だけでなく、他のユーザーの変更についても所有権を取得することが示されます。ボリスが項目を明示的にチェックアウトし、所有権を取得すると、それ以降メッセージは表示されません。

ワークフローでのバンドルの変更

ワークフローに入ったバンドルでは、現在のアクティビティで許可されている場合にのみ、次のタスクを実行できます。

  • バンドル内の項目の追加または削除
  • バンドル内の項目の編集
  • バンドルのメタデータの編集

ネストされたバンドルとバンドルの解除

バンドルに他のバンドルが含まれていることがあります。別のバンドルを含んでいるバンドルがワークフローに入ると、ネストされたバンドルとそのバンドルに含まれるすべての項目にも、ワークフロー プロセスが適用されます。これには、さらにネストされたバンドルも含まれます。

バンドル スキーマのワークフロー設定によっては、ワークフロー プロセスの完了後に、Content Manager によってバンドルが解除されることがあります。この場合、バンドルは破棄されますが、その項目は残ります。ネストされたバンドルを含むワークフロー プロセスにおいて、特定のバンドルが解除されるかどうかは、そのバンドル自体のスキーマで解除設定が有効になっているかどうかで決まります。

説明するために、バンドル「A」がバンドル「B」に含まれているシナリオを考えてみましょう。ワークフローがバンドル「B」で開始された場合、バンドル「B」とそのすべての内容は、そのバンドル スキーマに関連付けられたワークフロー プロセスを通じて処理されます。これには、バンドル「A」とその内容も含まれます。さらに、バンドル「A」が、このバンドル解除オプションが選択されているバンドル スキーマに基づいているとします。このオプションは、外側のバンドル「B」のスキーマに対しては選択されていません。ワークフロー プロセスが完了したときに、バンドル「B」は、そのスキーマでオプションが選択されていないため解除されません。しかし、バンドル「A」は、スキーマですべてに対してオプションが設定されているため、解除されます。