App Configuration API

Version: 20.x
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

ヘッドレス サービスの App Configuration API を使って、開発者は次の目的に必要な設定を行うことができます。

  • Sitecore への Sitecore JavaScript レンダリング SDK (JSS) アプリケーションのインポート、または統合モードでの JSS アプリケーションの実行

  • Next.js 向けの ASP.NET レンダリング SDK および JSS で構築されたアプリケーションと高度な Sitecore エディターの統合

JSS アプリケーションの設定パッチを次のファイルに追加できます。

Sitecore インスタンスでは、\App_Config\Sitecore\JavaScriptServices\Sitecore.JavaScriptServices.ExampleApp.config.example の名前を変更して編集できます。

<javaScriptServices> 設定ノードの <apps> ノードにパッチを追加する必要があります。

App Configuration API の例

最小設定には次の必須属性が含まれます。

  • name

  • sitecorePath

  • inherits

例:

RequestResponse
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <javaScriptServices>
      <apps>
        <app name="exampleApp"
             sitecorePath="/sitecore/content/ExampleApp"
             inherits="defaults"
        />
      </apps>
    </javaScriptServices>
  </sitecore>
</configuration>

App Configuration API の属性

次の表に、使用可能な App Configuration の属性とその既定値を示します。

defaults 設定パッチの \App_Config\Sitecore\JavaScriptServices\Sitecore.JavaScriptServices.Apps.config ファイルで、いくつかの利用可能な属性の既定値を確認することができます。

ヒント

App Configuration API には、configuration.replaceConfigurationTokens パイプラインで実装される基本的なトークン置換システムが含まれます。既定では、パイプラインは $name トークンのみをサポートします。

Sitecore でアプリを設定するには、次の属性を使用できます。

属性

使用方法

name

必須。アプリケーションの一意の名前。

sitecorePath

必須。インポート時のアプリケーションのコンテンツとルートへのパス。最初のインポート時に作成されます。

inherits

必須。指定されていない他の設定をどの app から継承するかを示します。継承は複数の app 定義を通してカスケードされます。

filesystemPath

JavaScript レンダリング SDK のファイル システム デプロイ パス。package.jsonsitecoreDistPath と同じである必要があります。

既定: /dist/$name

serverBundle

アプリケーションの server.js のバンドル ファイル名。

既定: server.bundle

importUser

インポート プロセスで使用する Sitecore ユーザー アカウント。ユーザー アカウントを指定すると、セキュリティとワークフローにより、インポート アクションを制限できます。

既定: sitecore\JssImport

importLanguage

マニフェストに language 値が含まれていない場合にインポート中に使用する Sitecore のフォールバック言語。

既定: en

importDatabase

インポート中に使用する Sitecore データベース。

既定: master

importDevice

インポート プロセスでレンダリングを作成するデバイス レイヤー。

既定: /sitecore/layout/Devices/Default

rootPlaceholders

アプリ レイアウトのルートにあるプレースホルダー名のコンマ区切りリスト。

既定: main

templatesPath

生成されたテンプレートをインポートするパス。パスが存在しない場合は、先祖フォルダーを含め、インポート プロセス中に作成されます。

既定: /sitecore/templates/$name

renderingsPath

生成されたレンダリングをインポートするパス。パスが存在しない場合は、先祖フォルダーを含め、インポート プロセス中に作成されます。

既定: /sitecore/layout/renderings/$name

layoutPath

生成されたアプリのメイン レイアウトをインポートするパス。パスが存在しない場合は、先祖フォルダーを含め、インポート プロセス中に作成されます。

既定: /sitecore/layout/Layouts/JavaScriptServices/$name

placeholdersPath

生成されたプレースホルダー設定をインポートするパス。パスが存在しない場合は、先祖フォルダーを含め、インポート プロセス中に作成されます。

既定: /sitecore/layout/placeholder settings/$name

appDatasourcesPath

生成されたアプリ レベルのデータソース アイテムをインポートするパス。パスが存在しない場合は、先祖フォルダーを含め、インポート プロセス中に作成されます。

既定: /sitecore/content/$name/Components

routeDatasourcesPath

ルート レベルのデータソース アイテムのルート アイテムの下に作成する子フォルダー名。

既定: Page Components

mediaLibraryPath

生成されたメディア アイテムをインポートするパス。パスが存在しない場合は、先祖フォルダーを含め、インポート プロセス中に作成されます。

既定: /sitecore/media library/$name

defaultWorkflow

生成されたテンプレートの標準値に適用される既定のワークフロー。

既定: /sitecore/system/Workflows/JSS Development Workflow

appTemplate

生成されたルート アプリ アイテムのテンプレート。これを変更する場合、テンプレートは既定のアプリ テンプレートから継承する必要があります

既定: /sitecore/templates/JavaScriptServices/App

routeBaseTemplate

インポート プロセス中に、アプリ固有のルート テンプレートの生成でベースとして使用するテンプレート。これを変更する場合、テンプレートは既定のルート テンプレートから継承する必要があります

既定: /sitecore/templates/JavaScriptServices/Route

routeTemplateName

生成されたルート テンプレートに使用する名前。

既定: $name Route

layoutTemplate

アプリのメイン レイアウト アイテムの作成に使用するテンプレート。これを変更する場合、JSS の JavaScript Main Layout から継承する必要があります

既定: /sitecore/templates/JavaScriptServices/JavaScript Main Layout

folderTemplate

汎用フォルダー (データソース アイテム用など) を作成するためのテンプレート。

既定: /sitecore/templates/Common/Folder

placeholderSettingsFolderTemplate

プレースホルダー設定フォルダーを作成するためのテンプレート。

既定: /sitecore/templates/System/Layout/Placeholder Settings Folder

renderingsFolderTemplate

レンダリング フォルダーを作成するためのテンプレート。

既定: /sitecore/templates/System/Layout/Renderings/Rendering Folder

layoutFolderTemplate

アプリのメイン レイアウト用のフォルダーを作成するためのテンプレート。

既定: /sitecore/templates/System/Layout/Layout Folder

templateFolderTemplate

テンプレート フォルダーを作成するためのテンプレート。

既定: /sitecore/templates/System/Templates/Template Folder

mediaLibraryFolderTemplate

メディア ライブラリにフォルダーを作成するためのテンプレート。

既定: /sitecore/templates/System/Media/Media folder

protectDeveloperItems

テンプレートやレイアウト アイテムなどの開発者アイテムの読み取り専用/保護フラグをインポート プロセスでオンにする必要があるかどうかを示すブール値。

既定: true

optimizeImportIndexing

インポートで BulkUpdateContext を使用する必要があるかどうか、またインポートの完了時にインデックスを更新するかどうかを示すブール値。

既定: true

datasourceStrategy

データソース インポート戦略の名前。この設定は、/javaScriptServices/datasourceStrategies 設定セクションの IDatasourceStrategy で設定された名前を参照する必要があります。

既定: preferRouteLevel

analyzeAllowedControls

インポートされたルート内のレンダリングの使用状況に基づいて、インポート中にプレースホルダー設定の Allowed Controls フィールドを入力する必要があるかどうかを示すブール値。

既定: true

dictionaryDomain

アプリで使用される Sitecore ディクショナリ ドメインの名前または GUID 。設定しない場合、アプリケーションのディクショナリは、コンテキスト データベースの既定のディクショナリにフォールバックします。

既定: (なし)

[en] dictionaryPath

[en] The item path or GUID for the dictionary domain item of the current app. If the path does not exist, it is created during the import process, including any ancestor folders. The import service creates dictionary domains and imports dictionary entries in this location.

[en] Default : /sitecore/content/$name/$name Dictionary

layoutServiceConfiguration

統合モード アプリ レンダリングのレイアウト サービス設定の名前。統合モードで実行していない場合、アプリはこの設定を明示的に参照する必要があります。

[en] Possible values: jss, default

既定: jss

注記

[en] Generally, you use the jss configuration for Sitecore Layout Service REST requests and the default configuration for Experience Edge for XM GraphQ queries.

[en] Specifying the language is required for all Edge queries. When using integrated GraphQL queries against the Edge GraphQL schema, the default configuration ensures that a $language value is injected in all queries. The jss configuration does not provide the language value, keeping it backward compatible with version 18.0.0.

[en] graphQLEndpoint

[en] Enables integrated GraphQL queries. If you are not using integrated GraphQL, you can remove or omit this attribute.

serverSideRenderingEngine

サーバーサイドで JSS アプリをレンダリングする際に使用するレンダリング エンジンを Sitecore に指示します。

使用可能な値は、nodejs および http です。

既定: nodejs

serverSideRenderingFunctionName

統合モードのレンダリングで呼び出す serverBundle にエクスポートされた JS 関数の名前。

serverSideRenderingEngine の値を nodejs に設定した場合のみ使用されます。

既定: renderView

serverSideRenderingEngineEndpointUrl

リモート レンダリング ホストの HTTP エンドポイントを定義します。

serverSideRenderingEngine の値を http に設定した場合のみ使用されます。

既定: ""

serverSideRenderingEngineApplicationUrl

レンダリングされた HTML のすべての関連リンク用の絶対リンクの作成に使用する URL を定義します。これは、エクスペリエンス エディターで必要です。指定しない場合 (既定)、インポート プロセスは serverSideRenderingEngineApplicationUrl からホスト名を抽出します。

serverSideRenderingEngine の値を http に設定した場合のみ使用されます。

既定: ""

serverSideRenderingEngineEditOnly

外部レンダリング ホストを使用する際に、Sitecore が非 API ルートへの要求を処理するかどうかを制御します。

既定: true

重要

[en] To use the Experience Editor explore mode, you must change the value to false,

deploymentSecret

アプリ インポートの共有シークレットを設定します。

シークレットは 32 文字以上のランダムに生成された文字列で、JSS アプリの scjssconfig.json のシークレットと一致する必要があります。

既定: (なし)

注記

Sitecore ファーストの開発ワークフローを使用する際は、deploymentSecret を設定する必要はありません。

重要

このシークレットをソース管理にコミットしないでください。すべての環境で一意のシークレットを使用してください。このシークレットを所有することで、Sitecore アイテムの作成および変更を管理することができます。

debugSecurity

セキュリティ デバッグを有効/無効にするブール値。共有シークレットのサーバーサイドでの処理に関するアプリのインポート接続の問題がある場合は true に設定します。接続の問題のデバッグ以外では使用しないでください。クライアントサイドのセキュリティ問題も診断するには、--debugSecurity を併用します。

既定: false

何かフィードバックはありますか?

この記事を改善するための提案がある場合は、