注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

インライン編集

アクションによるインライン編集は、標準的なアクションとは異なる方法で検証および送信されます。この文書では、インライン編集を使用する際の予期しない結果の回避方法について説明します。インライン編集はWorkshopとObject Explorerの両方で利用可能です。インライン編集アクションの設定は、使用する場所により異なります。

Object Explorerのインライン編集

インライン編集では、ユーザーは Object Explorer results view やネイティブのObject viewウィジェット(プロパティカードやメトリックカードウィジェットなど)でオブジェクトの値を素早く編集することができます。

設定

インライン編集アクションの設定

インライン編集アクションを設定するには、オントロジーのマネージャーでオブジェクトタイプのプロパティタブに移動します。プロパティを選択し、サイドバーの Inline edit に移動します。ドロップダウンから、利用可能なアクションタイプのうちの1つを選択するか、新しく作成します。新規作成すると、アクションタイプの作成ワークフローがトリガーされます。各プロパティには1つのインライン編集アクションタイプしか設定できません。

同じアクションタイプを複数のプロパティのインライン編集に使用することも、異なるプロパティに対して別々のアクションタイプを持つこともできます。

インライン編集のためのアクションタイプ要件

すべてのアクションタイプがインライン編集アクションタイプとして使用できるわけではありません。受け入れられるためには、アクションタイプは以下の要件を満たす必要があります:

  • 単一のオブジェクトタイプの単一のオブジェクトのみを変更できます。
  • デフォルト値が有効でなければなりません。
  • デフォルト値は、インラインアクションが定義されているオブジェクト参照パラメーターから取得する必要があります。その結果、アクションで変更されるプロパティは、静的値や "Current User" や "Current Time" のような特殊値にマッピングできません。
  • 可視性のステータスと上書きは設定できますが、Object ExplorerやObject Viewsでインライン編集が使用された場合、これらは無視されます。

Workshopのインライン編集

Workshopでアクションタイプをインライン編集として使用するための追加的な設定は必要ありませんが、すべてのアクションがセルレベルの編集に適しているわけではありません。インライン編集の設定方法については、Workshopのドキュメンテーションを参照してください。

背景

単一のアクションを実行するとき、編集は一つずつ(逐次的に)検証され、送信されます。インライン編集は、それらが一括で検証され、送信される点で異なります。そのため、すべてのアクションがインライン編集に適しているわけではありません。インライン編集により失敗したり、予期しない結果を引き起こす可能性のあるアクションには、以下のようなものがあります:

  • 別のアクションが書き込み可能だったデータを読み取ることを試みるアクション、または
  • 同じオブジェクトに書き込もうとする2つのアクション。

有効なインラインアクション

アクションは、非競合の編集を送信する必要があります。これは、実際には、同じテーブル編集ウィジェットで設定された複数のアクションが次のようなことを試みてはならないということを意味します:

  • 同じオブジェクトに書き込む、
  • 同じリンクを作成する、または
  • 集計値を一貫性を持って保つことを試みる。

無効なインラインアクション

インライン編集が同じオブジェクトを2回編集しようとすると、アクションはエラーを返します。 また、インライン編集による結合テーブルリンクの追加や削除はサポートされておらず、ユーザーにエラーメッセージが表示されます。

ユーザーがインライン編集を適用する際には、送信基準が各編集に適用されますが、編集は一括で送信されます。パラメーターとグローバル送信基準は、各編集オブジェクトに対して評価されますが、共有オブジェクトやリンクオブジェクトを参照する送信基準は、インライン編集と互換性がありません。これは、インライン編集を適用する際に、累積送信基準が編集値を列の未編集値と比較するからです。最終的な送信時には、編集は一度にすべて送信され、それらがすべてパラメーターとグローバル送信基準を対応するオブジェクトに対してパスする場合に成功します。

複数のアクションタイプ間で共有されるオブジェクトやリンクオブジェクトに対する送信基準は、編集が行われる前に1回ずつ評価されます。

共有アクションタイプやリンクオブジェクトを参照する送信基準は、インライン編集と互換性がなく、オブジェクトの一括更新は、逐次的に(一度に一つずつ)適用された場合に期待通りに動作する送信基準のルールを違反する可能性があります。

例:無効なインラインアクション

ある空港で、Delay Flight アクションが一度に最大20分の遅延を引き起こすことができ、その空港全体では最大で50分までの遅延が可能であるとします。

  • 両方の送信基準 - 20分の要件と50分の合計 - は、セルが更新されるたびに評価されます。
    • まだ編集は送信されていないので、50分の合計は、新しい遅延と列の未編集の遅延の合計(インライン編集が始まる前の遅延)を比較します。
  • すべての遅延が空港で50分未満になるようにする二つ目の送信基準は、集約値に依存しており、列内のすべてのオブジェクトで共有されています。
    • インライン編集は一括で送信されるため、この二つ目の送信基準は、特定の空港でのフライト遅延の合計時間を制限するのに効果的ではありません。結果として生じる編集は、二つ目の送信基準で許される50分を超える合計になる可能性があります。
  • このアクションは、テーブル編集には適しておらず、セルごとに個別にアクションを実行すると比べて一貫性のない結果を引き起こす可能性があります。