Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む
目次
絞り込み条件を選択

          結果がありません
          結果がありません
          検索のヒントをいくつかご紹介します

          キーワードの入力ミスがないか確認する。
          より一般的な検索語を使用する。
          絞り込み条件を減らして、検索範囲を広げる。

          Salesforce ヘルプ全体を検索
          OmniScript のベストプラクティス

          OmniScript のベストプラクティス

          推奨される OmniScript のベストプラクティスに従って、OmniScript のパフォーマンスと使いやすさを向上させます。

          ビジネスプロセスとロジック

          ビジネスプロセスとロジックのベストプラクティスは次のとおりです。

          • OmniScript 要素と OmniStudio データマッパー応答ノードには一意の名前を使用します。
          • OmniScript 全体のアウトラインを作成して、再利用可能な要素を特定します。
          • 要素の [内部メモ] プロパティで要素の目的を文書化します。
          • 本番へのリリース後に要素名を変更しないでください。やむを得ない場合は、要素が参照されるすべての場所に名前の変更を適用します。
          • OmniScript 内で ContextId を割り当てないでください。OmniScript の ContextId は、URL からレコード ID を割り当てる予約キーです。
          • 複数の OmniScript でプロセスを繰り返すことができる場合は、再利用可能な OmniScript を作成し、適切な親 OmniScript に追加します。「別の OmniScript への OmniScript の埋め込み」を参照してください。
          • フォームの最後ではなく、現在のステップで必須データと検証を適用します。これにより、ユーザーは入力をすぐに修正できます。入力規則やエラーを最後に確認して、修正手順を辿る必要はありません。
          • 可能な場合は、複数の OmniScript を使用してアプリケーションの複雑な ToDo を分解します。必要に応じて、FlexCard で OmniScript を使用します。いくつかのステップを使用して大きな OmniScript を作成すると、パフォーマンスとユーザーエクスペリエンスが低下する可能性があります。

          ユーザーインターフェース

          OmniScript は Lightning Web コンポーネントを使用して、個々の要素と OmniScript 自体のスタイルを定義します。

          ベストプラクティスは次のとおりです。

          アクセシビリティ

          アクセシビリティのベストプラクティスは次のとおりです。

          • 現在、OmniScript のテーブルモードで設定された編集ブロックはスクリーンリーダーと互換性がありません。スクリーンリーダーを使用する場合は、OmniScript ではなく FlexCard を使用することをお勧めします。FlexCard では、スクリーンリーダーと互換性のあるデータテーブルまたは Lightning データテーブルを使用できます。「 Show Data in a Table on a Flexcard and Lightning Web Component – Datatable 」を参照してください。

          セキュリティ

          データセキュリティのベストプラクティスは次のとおりです。

          • データセキュリティを確保し、Salesforce 暗号化アクセス制御へのコンプライアンスを維持するには、暗号化フィールドの復号化された値を表示または処理する前に、ユーザーに「暗号化データの参照」権限があることを必ず確認してください。

          ユーザーエクスペリエンス設計の原則

          UX 設計の原則は次のとおりです。

          • コンテキストデータを使用して項目を事前入力することで、ユーザーが情報を入力する必要がある項目の数を減らします。詳細は、「値を設定する入力要素の入力」アクションを参照してください。
          • 認知的負荷を回避するために、プロセスの分割方法を慎重に検討します。最小限の要素のみを含む短いステップが多すぎると、複数の要素を含む大きなステップと同じくらい簡単にユーザーが困惑する可能性があります。
          • コンテキストヘルプテキストを作成し、入力項目を論理的に並び替えてユーザーをガイドします。
          • OmniScript 内の再帰的なネストされたブロックが 10 を超えないようにしてください。

          パフォーマンス要素

          クライアント側のパフォーマンスとサーバー側のパフォーマンスの両方に関する一連のベストプラクティスが存在します。

          クライアント側のベストプラクティスは次のとおりです。

          • 可能な場合は、条件付きビュー、差し込み項目、数式を減らします。
          • Response JSON を切り取って、応答の適用を高速化します。詳細は、「送信/応答変換プロパティを使用した JSON の操作」を参照してください。
          • 要素名からスペースを削除して、OmniScript の読み込み時間を短縮します。
          • スクリプトの要素数を減らします。1 つの OmniScript は最大 750 要素に制限してください。
          • 可能な場合はサーバーでロジックを実行します。たとえば、インテグレーション手順の条件ロジックやデータマッパーの数式などです。
          • 250 KB を超える PDF の生成が遅い。1 MB を超える PDF は、生成に数分かかり、タイムアウトになることがあります。

          サーバー側のベストプラクティスは次のとおりです。

          • JSON 要求を切り捨てて、要求のペイロードサイズを減らします。詳細は、「送信/応答変換プロパティを使用した JSON の操作」を参照してください。
          • 4 MBを超えるLightning Webコンポーネントを使用してOmniScriptを作成しないでください。プレビューでは、4 MB を超える OmniScript は、OmniScript が無効であるかリリースされていないことを示すエラーを表示します。OmniScript LWC をダウンロードしてサイズを確認します。
          • ステップ間に複数のアクションがある場合は、インテグレーション手順を使用してサーバーの往復数を減らします。fire and forget プロパティを有効にして、インテグレーション手順を非同期で実行します。
          • データマッパーの抽出出力を切り取って不要なデータを削除します。
          • OmniStudio を使用して機能を構築するときは、Apex ガバナの制限に留意してください。これらの制限により、1 つのプロセスで共有リソースが制御されなくなります。開発中は、デバッグログを使用してガバナ制限を追跡および管理し、開発が効率的で実行中に Salesforce 制限を超えないようにします。「Apex ガバナ制限」を参照してください。

            実行時にOmniStudioコンポーネントによってガバナ制限がどのように使用されるかを監視するには、トランザクションのApexデバッグ ログを収集します。たとえば、OmniScriptの有効化、FlexCardの起動、OmniScriptのステップの実行などです。Apex デバッグ ログを収集するには、追跡フラグを作成し、OmniStudio プロセスを実行するユーザーに設定します。「デバッグログの設定」を参照してください。

            OmniScript、Integration Procedure、またはデータマッパーを実行すると、デバッグログですべてのトランザクションが取得され、ガバナ制限の利用状況に関するインサイトが提供されます。

          実装の使用事例

          • Flexcard データテーブルから選択したレコードを OmniScript に保存します。
            1. FlexCard を作成し、データテーブル要素を追加します。
              メモ
              メモ

              FlexCard を作成し、FlexCard 内に必要なデータテーブルコンポーネントを追加していることを確認します。

            2. Flexcard 設定でイベントリスナーを設定します。
              1. FlexCard の設定タブに移動します。
              2. 次の設定でイベントリスナーを追加します。
                • イベント種別: カスタムイベント
                • イベント名: selectrow
                • Action Label (アクションの表示ラベル): 希望する表示ラベルを選択します。
                • アクション種別: OmniScript を更新
                • 親ノード: OsDataNode

                この設定により、OmniScript の配列内の特定のノードを確実に更新できます。これにより、選択したレコードを追跡および更新できます。必要に応じて、レコードを任意のアレイノード名で置き換えることができます。

                メモ
                メモ 正確なデータ処理のために、OmniScript で正しいノードを更新してください。
            3. 次の設定で入力パラメーターを追加します。
              • キー: 選択したレコードに適切な JSON タグを選択します。
              • 値: {action.result}

              この設定により、レコードが選択されているかどうか (true または false) を示す selectrow 変数と共にデータ行全体が含まれます。

              メモ
              メモ データが正しく転送されるように、入力パラメーターは OmniScript 変数名と一致する必要があります。
            4. 必要に応じて、条件を追加します。たとえば、action.result.selectrow を使用して、レコードを追加または削除するかどうかを決定します。

              この条件は省略可能です。選択したレコードと選択していないレコードで異なるアクションが必要な場合は、ケースごとに異なる条件で 2 つのイベントリスナーを作成できます。ワークフローの要件に基づいて条件を追加することで、ロジックをさらにカスタマイズできます。

          設定

          特定の設定で OmniScript を設計すると、埋め込みサイトで意図しない動作が発生することがあります。これは、OmniScript の設計方法または OmniStudio の範囲外の要素の組み合わせが原因で発生する可能性があります。ここでは、既知の問題と関連ベストプラクティスについて説明します。

          設定のベストプラクティスは次のとおりです。

          • [アクション]、[値の設定]、または [データマッパー] 要素を使用して OmniScript 内の [編集] ブロックにデータを入力する場合、[保存オプション] セクションで [Merge saved data JSON to the updated version (保存済みデータ JSON を更新バージョンにマージ)] チェックボックスがオンになっていて、ユーザーが保存済みセッションを再開すると、データの重複が発生する可能性があります。これを回避するには、アクション、データマッパー、または [値を設定] 要素の実行を追跡するフラグを追加し、[条件付きビュー] セクションに条件を含めて、フラグが false の場合にのみ続行します。たとえば、[値を設定] 要素でフラグを使用すると、次のようにデータの重複を防止できます。
            ステップ間に [値を設定] 要素がある OmniScript 内の編集ブロック。[要素値の対応付け] セクションには、設定値要素が実行されたかどうかを確認するフラグが表示されます。条件付きビューセクションには、フラグが false の場合に次のステップを実行する追加の条件が表示されます。
          • テキストブロック内ではテーブルはサポートされません。
           
          読み込み中
          Salesforce Help | Article