---
title: "データソースのワークフローアクションを割り当てる"
slug: "assign-a-data-source-workflow-action"
abstract: "データソースのワークフローアクションをページのワークフローにどうやって追加するか。"
---
# データソースのワークフローアクションを割り当てる

いくつもの [ワークフローを](https://doc.sitecore.com/sai/en/users/sitecoreai/workflows-and-the-workbox.html)実装できます。ワークフロー状態は、アイテムがウェブサイトに公開される前に経過する段階、例えば作成、レビュー、承認に対応します。これにより、コンテンツの承認や公開プロセスを自分でコントロールできます。

[SitecoreAI](https://doc.sitecore.com/sai/en/users/sitecoreai/sitecoreai.html)には、データソース項目からデータを引き出す事前定義されたコンポーネントのライブラリが付属しています。つまり、レンダリングされたコンテンツは表示されているページに縛られません。代わりに、コンテンツはデータソースの項目に保存されます。

データソースのバージョン管理を有効にするには、ページワークフローにデータソースのワークフローアクションを追加できます。ページがワークフローを通過すると、データソースも独自のワークフローに従っています。例えば、ページを次のワークフロー状態に移動する際に、コンポーネントやそのデータソースの状態も変更したい場合があります。

> !注
> 
> -   コードコンポーネントを使用する場合は、各関連サイトごとにデータソースのワークフローを設定する必要があります。これは [、サイトの標準値を定義](https://doc.sitecore.com/sai/ja/developers/sitecoreai/content-modeling-and-presentation/data-sources/walkthrough--defining-standard-values-for-your-sites.html "Walkthrough: Defining standard values for your sites") し、コンポーネントのデータソーステンプレートの*Standard Values*項目にワークフローを割り当てることで実現します。
>     
> -   *Templates*ノードの下にあるデータソーステンプレートのグローバルに定義された標準値に基づいてワークフローを設定することはできません。
>     

SXA内のアイテムにデータソースのワークフローアクションを割り当てるには:

1.  コンテンツエディターでワークフローアクションに移動します: *sitecore/System/Workflows*。
    
2.  データソースワークフローアクションを追加したいワークフローアクションを右クリックし、「 **挿入**」をクリックし、「**Datasource ワークフローアクション**」をクリックします。
    
    ![Add the Datasource Workflow Action to a workflow action.](https://doc.sitecore.com/api/markdown-image/sai/ja/developers/sitecoreai/images/SXA-datasource-workflow-action.png)
    
3.  名前を入力して、**OK**をクリックします。
    
4.  以下の項目に記入してください:
    
    -   **Command item** - コマンドはコンテンツ項目があるワークフローの状態から別の状態へ移動します。コマンドが実行されると、そのアイテムはコマンドアイテムで定義されたワークフロー状態に移動します。ツリーから利用可能な任意のコマンドを選択できます。例えば、ページが提出されたとき、データソースを*Update*状態に移行させたい場合です。
        
        ![Screenshot that shows an example of a data source workflow.](https://doc.sitecore.com/api/markdown-image/sai/ja/developers/sitecoreai/images/ce-workflow-command.png)
        
    -   **Scope** - 直接の子項目か子項目か子項目を、直接データソースの項目が移動されるワークフロー状態に移動させるかを指定する。
        
        > !注ダイレクトデータソースとは、コンポーネントやページ自体で使用されるデータソースであり、データソースが使用するデータソースではありません。例えば、コンポーネントのリンクリストは直接のデータソースであるリンクリスト1を持ち、そのデータソースには子ソースや子ソースであるリンク1、リンク2などがあります。
        
        -   *Self* ページ上で使用されている直接のデータソース項目のみを移動させるために。子供や子孫には影響が及びません。
        -   *Direct Children* ページ上で使用されていなくても、直接のデータソース項目とそのすべての直接子を移動させることができます。子はワークフローの状態が親と一致しない場合はスキップされます。
        -   *Descendants* ページ上で使用されていなくても、直接のデータソース項目とそのすべての子孫を任意の深さで移動させることができます。子孫のワークフロー状態が親と一致しない場合はスキップされます。
    -   **このルールを通すアイテム、または空の任意のアイテムに対して実行** し、データソースワークフローアクションのグローバル条件を追加するには、**インタラクティブ** セクションに移動して **「ルール編集**」をクリックします。例えば、特定のテンプレートのページにのみデータソースワークフローアクションを適用することがあります。あるいは、例えばデータソースのワークフローアクションを火曜日だけ適用するという方法もあります。
        
    -   **このルールを通すデータソース項目、または空の場合はすべてのデータソース項目を実行し** てください。データソースワークフローアクションの条件を追加するには、**インタラクティブ** セクションに移動し、「 **ルール編集**」をクリックします。例えば、ワークフローアクションは特定のコンポーネントのデータソースにのみ適用します。
        
    
    ページを次のワークフロー状態に提出すると、設定によってデータソースのワークフロー状態も更新されます。例えば、サンプルワークフローをページに使い、*Submit*状態にデータソースワークフローアクションを追加すると、データソースワークフローの状態もそれに応じて変化します。
    
    ページワークフローコマンド(*Submit*)にデータソースワークフローアクション(*Update*)を追加し、ページを送信すると、データソースアイテムの状態が*Initial*から*Update*に変わります。
    

## ページデザインや部分デザインを含むデータソースワークフローの活用

ページデザインや部分デザインを使用している場合、コンポーネントのデータソースアイテムは以下の条件が満たされた場合にのみワークフローを通過します:

-   コンポーネントはページに対して相対的なデータソースを使用します。コンポーネントプロパティでパスを指定する際は、次の構文を使います: *page:/、*例えば *page:/Data/Text1*。
-   データソースはページの直接下にあります。