オープン状況管理

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:7分
  • オープン状況モデルは、コンフィギュレーション状況モデル API のプログラムによるフレームワークであり、セールスと注文管理製品コンフィギュレーターに表示される製品オプションのバリエーションをプログラムできます。API フレームワークには、 製品コンフィギュレーター ユーザーインターフェイスのノードの表示方法を制御するための特定のステータスとヘルパー API メソッドが用意されています。

    開発者は、 オープン状況管理の拡張ポイント を使用して、ロード時または製品選択の変更時に発生するイベントに基づいて、任意のコンフィギュレーターノードの表示専用または編集可能状況を設定できます。オプションで、ノードの状態の変更とともに情報メッセージをスクリプト化することもできます。これらのメッセージは、製品コンフィギュレータのユーザーインターフェイスでコンテキストに応じて表示されます。任意のノードで状態を読み取ったり設定したりするために、さまざまなヘルパー API メソッドが利用できるため、大掛かりな JSON スクリプティングが不要になります。
    注:
    エンタイトルメントを確認して、これらの機能にアクセスできるかどうかを判断します。

    構成状況管理のユースケース

    次の表は、 製品コンフィギュレーターに表示される製品オプションを制御するさまざまな方法を示しています。
    表 : 1. 構成ステータスモデルのユースケースの例
    製品コンフィギュレーターのユースケース
    顧客の特定のオプションを非表示にする 州の安全規制により、カリフォルニア州のお客様には製品属性の選択が表示されません。
    顧客の特定のデフォルトオプションの設定 アップグレードの場合、プレミアムプランをご利用の既存のお客様には、Ultimateプランのみが表示されます。
    他の属性オプションに基づいて特定のオプションのみを選択できるようにする ノートパソコンなどの特定の製品では、13 インチ、15 インチ、17 インチのすべてのサイズを表示しますが、タッチスクリーン機能のみが必要な場合は 15 インチと 17 インチのノートパソコンのみを表示します。
    製品に数量を設定できるようにする 一部の製品では、デフォルトの数量値が異なる場合があります。値がその製品に許可されている最小数量と最大数量の範囲内である限り、エージェントが数量を設定できるようにします。
    特定の特性の選択のみを許可します。 特定の製品を選択するには、特定の特性値を選択する必要があります。たとえば、アルティメット インターネット プランを選択した場合、選択できる接続速度は 5G です。

    構成状況モデル API フレームワークを使用して、 製品コンフィギュレーター 内のオプションの表示を管理できます。

    ノード状況

    製品コンフィギュレーターのノードには、製品リレーションシップグループ、子製品、および特性オプションが表示されます。ノードには次の状況があります。
    Visible - はい (ノードを表示可能にする) または No (ノードを非表示にする)
    製品コンフィギュレーターでエージェントに表示される、または表示されない構成。エージェントが行った他の選択と互換性がない場合、オプションが表示されないことがあります。たとえば、特定の車のホイールサイズでは、互換性のないタイヤオプションは表示されません。
    編集可能 - はい (ノードを表示して選択可能にする) またはいいえ (ノードを表示して選択不可にする)
    エージェントが製品コンフィギュレーターで編集可能な、または編集できない構成。エージェントは、製品に必要な制約を維持しながら、製品の特定の側面をカスタマイズできます。たとえば、特定の車種では、互換性のある外装色のみが編集可能です。
    数量:表示 (はい/いいえ)、編集可能 (はい/いいえ)
    製品に数量を設定し、数量に関連するルールを適用し、適切なノードで数量に関連する情報メッセージとエラーメッセージを表示するコンフィギュレーション。
    オン - はい (ノード選択を表示) またはいいえ (ノード選択を非表示にする)
    コンテキストに基づいて選択できる構成オプションを示す構成。
    値:表示 (はい/いいえ)、編集可能 (はい/いいえ)
    特性の値を設定し、特性に関連するルールを適用し、適切なノードに関連する情報メッセージまたはエラーメッセージを表示する構成。
    注:
    エージェントは、ノードレベルでメッセージを設定して、ステータス変更の理由を示すことを選択できます。

    イベント

    構成状況モデル API フレームワークを使用してノード状況を管理します。構成状況モデルのイベントフレームワークで次の 2 つのイベントを使用して、これらの状況をアクティブ化します。
    • ロード時: 各ノードの状態 (表示可能性、編集可能性) は、最初は [はい] (true) に設定されています。オープン状態はロード時に呼び出されます。
    • On Change - この関数は、 製品コンフィギュレーター ユーザーインターフェイスでノードの値が変更されるたびに呼び出されます。ただし、このステータスは、 製品コンフィギュレーターで数量の変更が発生した場合には呼び出されません。これらの状態は、オンロード、選択中、またはインスタンスがトランザクションに同期される直前のいずれかの方法でプログラムによって設定できます

    ヘルパー API メソッド

    次のヘルパー API メソッドを使用して、任意のノードの状態を読み取って設定できます。
    適用ステータス
    Getter メソッドと Setter メソッドを使用して、製品リレーションシップグループ、製品特性、および製品特性オプションの表示可能および編集可能な状態を設定し、構成モデルのステータスを読み取って変更します。
    Getter メソッド
    任意の構成ノードの状態とともにノードパスを取得します。
    • getAllNodes():ノードパス (コードへの参照) と、すべての状態を含むそれぞれの相対パスを含む JSON を返します。
    • getNode(nodePath):指定されたノードパスのノードの javascript オブジェクトを返します (存在する場合)。
    • getNodeDetails(nodePath: 指定されたノードパスが存在する場合は、そのすべての状態を返します。
    セッターメソッド
    • 製品リレーションシップグループ、製品特性、および製品特性オプションの表示可能および編集可能なステータスを設定します。
      • setVisible: すべてのレベルで True/False
      • setVisible(True/False)
      • setEditable:すべてのレベルで True/False
      • setEditable(真)
      • 実装例:
        var newHandler = configInstance.getNode(nodePath);
        newHandler.setVisible(true, “This is a sample message for setVisible”);
        newHandler.setEditable(false, “This is a sample message for setEditable”);
    • オファーと仕様の数量を設定します。nodePath は積を決定し、値は設定する数量です。
      • setQuantity(value);
      • 実装例:
        var newHandler = configInstance.getNode(nodePath);
        newHandler.setQuantity(value, “This is a sample message for setQuantity”);
    • 構成オプションを設定して、選択されている内容を確認します。
      • setChecked(値);True/False
      • 実装例:
        var nodePath = “QUADPLAYHO1/OPTIONALPRODUCTS/CONNECTEDC2/CONNECTEDC1/VIN”
        var newHandler = configInstance.getNode(nodePath);
        var newHandler.setChecked(true, “This is a sample message for setChecked”)
        
    • 入力タイプが 1 行のテキストである特性ノードの値を設定します。
      • setValue( value);
      • 実装例:
        var nodePath =
        “QUADPLAYHO1/OPTIONALPRODUCTS/CONNECTEDC2/CONNECTEDC1/VIN”
        var newHandler = configInstance.getNode(nodePath);
        newHandler.setValue(“9TKN332”, “This is a sample message for
        setValue”);
    Getter コンテキスト変数メソッド
    製品コンフィギュレーターユーザーインターフェイス内のコンテキスト変数を取得します。
    • getHeaderContextVariables():すべてのヘッダーコンテキスト変数のリストを返します。
    • getHeaderContextVariableValue(contextVariable):ヘッダー内の特定のコンテキスト変数の値と表示値を返します。
    • getLineContextVariables():すべての行コンテキスト変数のリストを返します。
    • getLineContextVariableValue(nodePath, contextVariable):行内の特定のコンテキスト変数の値を返します。