Zum Hauptinhalt springen

Generierung der Digital SDK UI Extensions

Jutro enthält einen CLI-Befehl zum Generieren der Digital SDK UI Extensions zusammen mit dem Digital SDK. Auf dieser Seite werden alle Schritte beschrieben, die erforderlich sind, um den Generierungsprozess in der Jutro-Anwendung abzuschließen.

Note: Da die Digital SDK UI Extensions Abhängigkeiten von React aufweisen, eignen sie sich nicht für Vanilla-JavaScript/TypeScript-Anwendungen.

Das Digital SDK kann ohne UI Extensions mit der eigenständigen Digital SDK CLI generiert werden. Dies gilt jedoch nicht für React-bezogene Funktionen.

Voraussetzungen​

Vergewissern Sie sich, dass Sie die folgenden Anforderungen erfüllen, bevor Sie den Generierungsbefehl ausführen:

  1. Erforderliche Abhängigkeiten
    Sie haben eine Jutro-Anwendung mit den folgenden Abhängigkeiten:

    • @jutro/sdk-internal
    • @jutro/schema-adapter-components
    • @digitalsdk/internal

    npm install muss vor dem Generierungsbefehl ausgeführt werden.

  2. Generierungskonfiguration
    Es steht eine Konfigurationsdatei mit allen für den Generierungsprozess erforderlichen Informationen zur Verfügung.

Generierungsbefehl​

Wenn alle Voraussetzungen erfüllt sind, können Sie den Befehl generate:digital-sdk im Stammverzeichnis Ihrer Jutro-Anwendung ausführen:

npm run jutro generate:digital-sdk

Dieser Befehl ruft die OpenAPI-Spezifikationen und die Entitätsschemas aus den in der Konfigurationsdatei angegebenen InsuranceSuite-Instanzen ab. Aus diesem Grund fordert die CLI die entsprechenden Anmeldedaten an.

Die Generierungsergebnisse werden im Verzeichnis src/generated Ihrer Jutro-Anwendung abgelegt. Weitere Informationen zu den generierten Inhalten finden Sie auf der Seite API-Oberfläche der Digital SDK UI Extensions.

Es gibt eine optionale outputPath-Option, mit der Sie den Pfad zur Jutro-Zielanwendung angeben können. Der Ausgabepfad muss immer auf eine Jutro-Anwendung mit den installierten erforderlichen Abhängigkeiten verweisen.

Konfigurationsdatei​

In Abstimmung mit anderen Jutro CLI-Befehlen ruft generate:digital-sdk in Abhängigkeit von Ihrem Betriebssystem eine Konfigurationsdatei von den folgenden Speicherorten ab:

  • Windows: C:\Users\{user}\AppData\Local\@jutro\cli-platform\sdk-generator\config.json
  • macOS: ~/.config/@jutro/cli-platform/sdk-generator/config.json

Diese Konfigurationsdatei enthält ein JSON-Objekt mit allen Eigenschaften, die für die eigenständige Digital SDK CLI gelten.

Note: Für die zu generierenden Digital SDK UI Extensions ist Schemagenerierung erforderlich. Wenn die Eigenschaft disableSchemaGeneration auf true festgelegt ist, werden die UI-Erweiterungen daher nicht generiert.

Im Folgenden finden Sie ein Beispiel für eine Konfigurationsdatei zum Generieren eines SDK sowohl für PolicyCenter als auch für ClaimCenter:

{
"generators": [
{
"name": "PcSdk",
"target": "PC",
"targetUrl": "https://your-policycenter-url"
},
{
"name": "CcSdk",
"target": "CC",
"targetUrl": "https://your-claimcenter-url"
}
]
}

Optionale Eigenschaften​

Sie können zwei Arten von optionalen Eigenschaften in Ihrer Konfigurationsdatei hinzufügen:

  1. Mit der Eigenschaft optInFeatures können beliebige optionale Funktionen des Digital SDK hinzugefügt werden. Diese Funktionen sind detailliert beschrieben in der Dokumentation zum Digital SDK. Alle Funktionen, die über optInFeatures gesteuert werden, werden auf alle Generatoren angewendet, wenn sie aktiviert sind.

    Tip: Wenn Sie das Objekt optInFeatures verwenden, um die optionale Funktion jsonSchemaWithFieldsDynamicCalculation zu aktivieren, können zusätzliche Digital SDK UI Extensions generiert werden. Diese optionale Funktion führt zu einer engeren, expliziteren Typisierung, mit der der Generator besser erkennen kann, welche Digital SDK UI Extensions generiert werden können.
  2. Die Eigenschaft jutroUtilsForDigitalSdkConfig ist für die zusätzlichen Konfigurationsvariablen verfügbar, die für die Digital SDK UI Extensions spezifisch sind. Die ersten untergeordneten Elemente der Eigenschaft jutroUtilsForDigitalSdkConfig sind die Namen der in der Eigenschaft generators definierten Generatoren. Dadurch können Sie die optionalen Funktionen für jeden Generator einzeln aktivieren.

Diese Funktionen werden als zusätzliche Objekte in der Konfigurationsdatei hinzugefügt. Der folgende Codeausschnitt veranschaulicht beispielsweise, wie die vorherige Konfigurationsdatei geändert werden kann, um einige optionale Funktionen zu aktivieren.

{
"generators": [
{
"name": "PcSdk",
"target": "PC",
"targetUrl": "https://your-policycenter-url"
},
{
"name": "CcSdk",
"target": "CC",
"targetUrl": "https://your-claimcenter-url"
}
],
"optInFeatures": {
// this will apply to both generators
"jsonSchemaWithFieldsDynamicCalculation": true,
},
"jutroUtilsForDigitalSdkConfig": {
// "PcSdk" here is designating which generator will be amended
"PcSdk": {
"dangerouslyForceEntityFieldGeneration": {
"job": ["Account"]
}
}
}
}

Erzwingen der Generierung von Erweiterungen auf Feldebene​

Ein Teil der Funktionen der Digital SDK UI Extensions ist nur für Entitäten verfügbar, die den Typ JSONSchemaWithFields (und andere JobLines-spezifische Typen) im Digital SDK verwenden:

  • Generierte React-Komponenten für die Entitätsfelder.
  • Die von den Entitäts-Hooks zurückgegebene fields-Eigenschaft.

Der Typ JSONSchemaGW garantiert nicht, dass alle Schemaeigenschaften auf Stammverzeichnisebene primitive Werte enthalten oder als UI-Felder dargestellt werden können. Einige der Eigenschaften in diesen Entitäten könnten jedoch tatsächlich in diese Beschreibung passen. Sie werden derzeit mit dieser Erweiterung auf Feldebene nicht standardmäßig unterstützt.

Mit der Eigenschaft dangerouslyForceEntityFieldGeneration können Sie die Generierung von UI-Erweiterungen auf Feldebene für eine Entität erzwingen, auch wenn sie nicht mit dem Typ JSONSchemaWithFields kompatibel ist.

Warning: Diese Eigenschaft ist mit Vorsicht zu verwenden.

Obwohl der Generator der Digital SDK UI Extensions so konzipiert ist, dass Schemaeigenschaften übersprungen werden, die nicht als Felder gelten, ist das Ergebnis des Generierungsprozesses durch die Arbeit mit JSONSchemaGW-Entitäten weniger vorhersehbar.

Im folgenden Beispiel wird die Account-Entität in der job-API des PcSdk-SDK so konfiguriert, dass die Generierung von UI-Erweiterungen auf Feldebene erzwungen wird.

{
"generators": [
{
"name": "PcSdk",
"target": "PC",
"targetUrl": "your-policycenter-url/"
}
],
"jutroUtilsForDigitalSdkConfig": {
"PcSdk": {
"dangerouslyForceEntityFieldGeneration": {
"job": ["Account"]
}
}
}
}
On this page