Home > コンポーネント シリーズ > Sugar > Sugar - 設定 > Sugar - XML

Sugar - XML

Sugarコネクタは、Magic xpiのXMLインタフェースと動作するように設計されています。

Sugarコネクタをフローにドラッグすると、[プロパティ]ペインが開きます。コンポーネントをダブルクリックするか、右クリックしコンテキストメニューから[構成]を選択してください。[Sugar構成]ダイアログボックスが開きます。

このダイアログボックスには、以下のフィールドが含まれています。

プロパティ

説明

接続

リソース名

コンポーネントの[プロパティ]ペインで選択したリソースの名前。リソースは、[設定]ダイアログボックスの[リソース]セクションで定義されます。

オペレーション

モジュール

をクリックするとモジュールリストが開きます。処理が実行されるモジュールを選択してください。

オペレーション

ドロップダウンリストから以下の処理のうちどれかを選択します。

  • Query …… これは、Sugarモジュールからデータを検索するために使用されます。特定の条件に基づいたオブジェクトを取り出すためにデータマッパーを使用することができます。

  • 上級ユーザーは、レガシーAPIのためのデータマッパーのWHERE要素(SQLノード内)またはより新しいV10APIのFILTER要素(Request_Argumentsノード内)を使用してカスタムフィルタをクエリに適用することができます。例えば、last_name='Smith'  や first_name='John', でデータを検索する場合、レガシーAPIのWHERE句を使用して次のようにする必要があります。
    Contacts.last_name='Smith'AND Contacts.first_name='John'

WHERE句内のフィールドを参照する場合、テーブル名とフィールド名(次のような構文の式:<DB_TableName>.<FieldName>))を含める必要があります。モジュール名やフィールド名ではありません。

WHERE句は、直接データベースに送られます。

V10API の中では、FILTER句を使用してください。
filter[0][first_name][$starts]=John&filter[0][last_name]=Smith

Magic xpiは、フィルタをそのままでSugarに渡すため、それらのサポートされたフィルタ処理のどれでも使用することができます。Sugarサイト上でフィルタ処理のリストを見つけることができます。

  • Create …… これは、組織データ内に新しいオブジェクトを作成する場合に使用されます。データマッパーを使用して新規オブジェクトフィールドの値を指定することができます。

  • Update …… これは、組織データ内の指定したオブジェクトを更新するために使用されます。オブジェクトを更新する際、そのIDを知る必要があります。例えば、オブジェクトIDを取得するためにQueryを使用し、さらにUpdateを呼び出すことができます。更新したい他のフィールドと同じように、オブジェクトIDを設定するためにデータマッパーを使用する必要があります。

  • Delete:  …… これは、指定したオブジェクトを組織データから削除するために使用されます。オブジェクトを削除したい場合、そのIDを知る必要があります。例えば、オブジェクトIDを取得するためにQueryを使用し、さらにDeleteを呼び出すことができます。更新したい他のフィールドと同じように、オブジェクトIDを設定するためにデータマッパーを使用する必要があります。オブジェクトIDは、必須入力です。

レコードの最大数

このオプションのフィールドは、[操作]フィールドで[クエリ]を選択した場合にのみ使用できます。

ここでは、クエリ操作の実行中にSugarサーバーからフェッチする必要があるレコードの最大数を指定できます。 デフォルト値は0です。デフォルト値を変更しない場合、最大1000レコードがフェッチされます。

値は、計算値フィールドを使用してデータマッパーフィルターノードで指定することもできます。 設定できる属性は、xpi_max_numおよびxpi_offsetです。 フィルターが作成されると、ステップで指定された値よりも優先されます。

チャンクごとのレコード

このオプションのフィールドは、[操作]フィールドで[クエリ]を選択した場合にのみ使用できます。

Sugarへの各呼び出しでフェッチするレコードの最大数。 0を入力するか、フィールドを空白のままにすると、1000レコードが返されます。

値がレコードの最大数よりも小さい場合、チャンクあたりのレコードはレコードの最大数と同じと見なされます。

これは、クエリレコードに4500個のオブジェクトが含まれており、チャンクごとのレコードパラメータの値が1000に設定されている場合、Sugarコネクタは、Sugarへのクエリ呼び出しを5回実行して、レコードセット全体をフェッチすることを意味します。

戻り値フィールド

[オペレーション]でQueryを選択した場合のみ有効です。

隣接したチェックボックスですべてを選択するか、モジュールフィールドリストからフィールドを選択することができます。

チャンクごとの結果

[オペレーション]でQueryを選択した場合のみ有効です。

Sugarへの各呼び出しで取得したい結果の最大数です。0を入力するか、フィールドを空白のままにすると、2000の結果が返されます。

これは、問合わせ結果に4500のオブジェクトが含まれ、[チャンクごとの結果]パラメータに1000が設定されることを意味します。Sugarコネクタは、設定される全ての結果を取得するためにSugarに5つのクエリ呼び出しを実行します。

バッチサイズ

[オペレーション]でCreateまたは、UpdateDeleteを選択した場合のみ有効です。

エンティティの最大数は、Sugarへの各リクエストに送ります。

これは、Sugar内で1000アカウントを更新しようとして、[バッチサイズ]パラメータの値を300に設定すると、SugarコネクタはSugarに対する4つの更新呼び出しを実行します。

戻り値削除

削除すると定義されたエンティティをクエリ結果で返したい場合、このチェックボックスを選択してください。

新規オブジェクトID

[オペレーション]でCreateを選択した場合のみ、このフィールドは有効です。

をクリックして変数リストを開き、作成されたオブジェクトIDを格納する変数を選択します。

結果オプション

結果保存

結果のXMLファイルを保存したい場所を定義します。ドロップダウンリストから以下のいずれかを選択します。

  • ファイル …… Sugarによって返されるオブジェクトデータを保持するファイルを選択します。をクリックすると式エディタが開きます。をクリックすると、この情報を保存するファイルパスを入力できます。

  • 変数 (デフォルトは C.UserBlob)…… Sugarから返されるオブジェクトデータを保持する変数を選択します。をクリックすると変数リストが開きます。情報を保存する変数を選択します。

  • 分割ファイル …… 大きなXMLファイルを複数の小さなXMLファイルに分割します。このオプションを選択した場合、このダイアログボックスの[分割ファイルオプション]セクションに必要な情報を入力する必要があります。

オペレーション結果

このフィールドはデータオブジェクトがSugar内に正しく位置付けられたかどうかを簡単に判断できるようにします。ドロップダウンリストから以下のいずれかを選択します。

  • None (デフォルト) …… コネクタの成功/失敗のステータスを保存しない場合このオプションを選択してください。

  • Variable …… コネクタの成功/失敗のステータス情報を保存する変数を選択します。

分割ファイルオプション

ディレクトリ

分割ファイルを保持するディレクトリ。をクリックして式エディタを開き、ディレクトリ名を入力してください。

接頭辞

分割ファイルの接頭辞。をクリックして式エディタを開き、接頭辞を入力してください。

ファイル毎のレコード

各分割ファイルのレコード数。をクリックして式エディタを開き、必要なレコード数を入力してください。

分割数

分割数が返る数値変数。をクリックして変数リストを開き、必要な変数を選択します。

[Sugar構成]ダイアログボックスには、以下の追加ボタンが含まれています。

ボタン

説明

リフレッシュXSD

現在のスキーマを再表示します。

[リフレッシュXSD]をクリックすると、現在のスキーマが上書きされます。メッセージダイアログが開き、[OK]をクリックすると更新と上書きの確認が表示されます。[キャンセル]をクリックすると、スキーマを更新することなく処理を終了します。

関連トピック:

Sugar - IDによるオブジェクト参照