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

Workshop の自動更新

Workshop の自動更新により、アプリケーション作成者は Foundry のデータ変更に応じて自動的に更新されるアプリケーションを簡単に作成できます。信頼できる最新の情報をユーザーに提供することは、業務ワークフローを支えるうえで不可欠です。Workshop では、わずか数回のクリックでこれを実現できます。

自動更新では、モジュール内のオブジェクトセットを登録して、Foundry のどこからの更新でも監視できます。更新が発生すると、ユーザーのインタラクションなしに、現在のモジュール内のすべてのデータが自動的に更新されます。更新のソースの例としては、ほかのユーザーが実行したアクションによるオントロジーデータの更新、上流のデータ統合による編集、ストリーミングデータソースからの新しいレコードなどがあります。これらの場合、自動更新によって現在のモジュール内のデータが更新されます。

自動更新は、ライブダッシュボードや共同作業のワークフローをはじめ、データの鮮度が優先される場面で役立ちます。

データの新しさをモジュールの UI に直接表示するには、データ鮮度ウィジェットを使用します。このウィジェットは、設定されたオブジェクトタイプとそのデータソースについて、直近のインデックス化時刻に基づく最終更新タイムスタンプを表示します。24時間以内の更新は相対時刻(たとえば「2時間前」)で、24時間より前の更新は絶対時刻(たとえば「2025年7月17日(木)午後1:52」)で表示します。

自動更新は、特定の Workshop モジュール内で有効にできます。Workshop エディターの設定パネルの下部にある自動更新の設定オプションに移動します。

設定パネルの自動更新設定

自動更新により、データの読み込み量と関連するコストが増加する場合があります。ライブデータの必要性が低いワークフローでは、作成者はこの機能を有効にしないこともできます。

設定

自動更新の設定

自動更新の設定を更新するには、設定パネルで自動更新を選択します。次に、パネル下部の設定セクションを展開します。

更新間隔の最小秒数

この設定により、モジュール作成者はデータ更新間の最小時間を設定できます。この設定は初回更新の遅延には影響せず、モジュールが絶えず再読み込みされることを防ぎます。現在、最小の更新間隔、つまり最も頻繁な更新は10秒間隔です。これにより、自動更新による負荷の増加に対してサービスの安定性が確保されます。

編集モードで無効にする

この設定により、モジュール作成者は編集モードで自動更新の動作を無効にできます。編集モードでのデータの自動更新が作成作業の妨げになる場合や、不要な場合に使用できます。この設定を有効にしても、閲覧モードでは自動更新の設定が維持され、引き続きアクティブになります。

イベントで自動更新の反映を制御する

ボタングループウィジェットなどで Workshop イベントを設定することで、ユーザーがセッション中に自動更新の反映を一時停止または再開できるようにします。

  • 自動更新の反映を有効にする: 自動更新による更新を反映できるようにします。
  • 自動更新の反映を無効にする: 自動更新による更新が反映されないようにします。

イベント:モジュールの状態について詳しくはこちら。

制限事項

Object Storage v2(OSv2)

自動更新は、OSv2 を基盤ストレージとするオブジェクトタイプに限定されます。この制限は、オブジェクトセットの定義で使用される、OSv1 を基盤ストレージとするオブジェクトタイプのリンクされたオブジェクトを含むオブジェクトセットにも適用されます。

OSv1 から OSv2 への移行について詳しくはこちら。

ユーザー入力を伴うワークフロー

自動更新を使用するモジュールでも、ユーザー入力を伴うワークフローは禁止されていません。ただし、更新後に変数やウィジェットの状態がリセットされる問題が発生する場合があります。これを回避するには、この問題が発生する変数で自動再計算の動作を使用しないようにしてください。それだけでは不十分な場合は、iFrame ウィジェットを使用して、自動更新されないサンドボックス環境として機能する別のモジュールを埋め込めます。URL クエリパラメーター embedded=true を設定すると、Foundry のサイドバーを非表示にできます。別の方法として、新しいブラウザータブまたは Carbon タブで開く別の Workshop モジュールを用意し、ユーザー入力を伴うワークフローの部分をそこで完了することもできます。

リンクされたオブジェクトタイプの自動更新

自動更新は、リンクされたオブジェクトタイプの更新を自動的には監視しません。つまり、監視対象のオブジェクトセットに含まれるリンクされたオブジェクトのプロパティや集計は、リンクされたオブジェクトタイプも明示的に監視しない限り、自動更新されません。

リンクされたオブジェクトのプロパティや関数ベースの列の自動更新をトリガーするには、オブジェクトセットタイトルウィジェットのようなシンプルなウィジェットでリンクされたオブジェクトタイプの変数を使用し、高さまたは幅がゼロのセクションに配置します。これにより、ウィジェットをユーザーに表示せずに更新をトリガーできます。

フィルター

現在、自動更新では、terms、phrase、multiMatch、prefixOnLastToken、objectSetLink など、一部のオブジェクトセットのフィルターの種類はサポートされていません。これらのフィルターの種類は、今後サポートされる可能性があります。

サポートされているフィルターの種類を使用して、更新を特定のオブジェクトに限定します。たとえば、オブジェクトセットを主キーで絞り込むと、そのオブジェクトが変更されたときにのみモジュールが更新されます。

サポートされていないフィルターの種類への対処方法として、同じオブジェクトタイプの、フィルターが適用されていないオブジェクトセットを監視できます。この方法では必要以上に頻繁に更新が発生する可能性がありますが、それ以外の点では、モジュール内のオブジェクトタイプを最新に保てるはずです。

モジュール内での表示

現在、自動更新が有効なオブジェクトセットは、自動更新をトリガーするために、モジュール内の表示されているウィジェットで使用する必要があります。これにより、更新を監視しているオブジェクトセットが画面上に表示されていないときに、自動更新がトリガーされることを防ぎます。たとえば、登録されたオブジェクトセットが非表示のドロワー内でのみ使用されている場合、自動更新はそのドロワーが開いている間にのみ発生します。

変数が非表示の間に自動更新の通知が発生した場合、その通知は変数が再び表示されるまで遅延され、表示された時点で直ちに再読み込みがトリガーされます。

この動作は、ブラウザータブが最小化されている場合や、現在アクティブなタブではない場合にも適用されます。

埋め込みモジュールからの自動更新設定の継承なし

Workshop モジュールを埋め込むときに、埋め込みモジュールの自動更新設定は引き継がれません。自動更新を使用する予定のすべてのモジュールで、自動更新を明示的に設定する必要があります。また、埋め込みモジュールのコンテキスト内だけで自動更新が動作することもありません。

自動更新しない親モジュール内に、自動更新するモジュールを埋め込むには、iFrame ウィジェットを使用して、自動更新するサンドボックス環境として機能する別のモジュールを埋め込めます。URL クエリパラメーター embedded=true を設定すると、Foundry のサイドバーを非表示にできます。

トラブルシューティング

自動更新の問題に関連すると思われるエラーが発生した場合は、次の点を確認してください。

  • すべてのオブジェクトタイプとリンクタイプが Object Storage v2 を使用していることを確認してください。特に、OSv2 を使用している2個のオブジェクトタイプ間に、OSv1 を使用しているリンクタイプがある場合は注意してください。これが自動更新のエラーの原因になることがあります。
  • オブジェクトセットに無効な種類のフィルターを適用するなどして、実行時に無効なオブジェクトセットが設定されないようにしてください。オブジェクトセットが当初は自動更新に対応していても、ユーザーによるアプリケーションとのインタラクションによって、更新を監視できない状態になることがあります。
  • ネットワーク接続の安定性を改善すると、自動更新機能の安定性も直接向上します。ネットワークの切断と再接続が繰り返される場合、自動更新が無効になったことをユーザーに通知するエラーが表示されることがあります。
  • 期待される更新が行われない場合は、監視しているオブジェクトセットが限定的すぎる可能性があります。特定のタイプのベースオブジェクトセットや、より広い範囲を対象とするフィルターなど、より広範囲のオブジェクトセットを監視してみてください。そのうえで、この監視対象のオブジェクトセットの下流に、より限定的なフィルターを使用する変数を定義できます。
  • より詳細なエラーメッセージについては、ブラウザーのコンソールを確認します。自動更新の使用中に発生する可能性がある一般的なエラーの詳細は、以下のとおりです。
    • InvalidObjectSetForPlanning:監視対象のオブジェクトセットに、Object Storage v1 でインデックス化済みのエンティティ(オブジェクトタイプまたはリンクタイプ)への参照が含まれています。