---
title: "App Configuration API"
slug: "app-configuration-api"
abstract: "JSSアプリケーション向けのSitecore構成パッチ追加の概要。"
---
# App Configuration API

Headless Services App Configuration APIは、開発者が以下の設定を設定できるようにします。

-   [Sitecore JavaScript Services SDK(JSS)](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/sitecore-javascript-services-sdk--jss-.html "Sitecore JavaScript Services SDK (JSS)")アプリケーションをSitecoreにインポートするか、JSSアプリケーションを[統合モードで](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/start-a-jss-app-in-integrated-mode.html "Start a JSS app in integrated mode")実行します。
-   高度なSitecoreエディタを、ASP.NETレンダリングSDKおよびJSS for Next.jsで構築したアプリケーションと統合します。

JSSアプリケーションの設定パッチは以下のファイルに追加できます:

-   公式テンプレートに基づくJSSアプリケーションについては、アプリケーションのソースコードの/sitecore/configディレクトリに必要な<app />設定を含みます。
-   Sitecoreインスタンスでは、名前を変更して \\App\_Config\\Sitecore\\JavaScriptServices\\Sitecore.JavaScriptServices.ExampleApp.config.exampleを編集できます。

パッチは<javaScriptServices>設定ノードの<apps>ノードで追加しなければなりません。

## App Configuration APIの例

最小構成には以下の必要な属性が含まれます:

-   name
-   sitecorePath
-   inherits

例えば:

<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\_Config\\Sitecore\\JavaScriptServices\\Sitecore.JavaScriptServices.Apps.configファイルのdefaults設定パッチでは、利用可能な属性のデフォルト値を確認できます。

> !ヒントアプリ構成APIには、configuration.replaceConfigurationTokensパイプラインによって実装された基本的なトークン置換システムが含まれています。デフォルトでは、パイプラインは $nameトークンのみをサポートしています。

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

属性

使用例

name

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

sitecorePath

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

inherits

必須。他の指定されていない設定を継承する app を示します。継承は複数の app 定義を通じて連鎖的に行われます。

filesystemPath

JavaScriptレンダリングSDKアプリケーションのファイルシステムの展開パス。package.jsonのsitecoreDistPathと一致しなければなりません。  
  
デフォルト: /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。設定されていない場合、アプリケーション辞書はコンテキストデータベースのデフォルト辞書にフォールバックします。  
  
デフォルト:(なし)

dictionaryPath

現在のアプリの辞書ドメイン項目のアイテムパスまたはGUIDです。パスが存在しない場合は、インポートプロセス中に作成され、祖先フォルダも含まれます。インポートサービスは辞書ドメインを作成し、この場所で辞書エントリをインポートします。  
  
デフォルト: /sitecore/content/$name/$name Dictionary

layoutServiceConfiguration

統合モードアプリレンダリング用の名前付きレイアウトサービス構成の名前です。  
  
可能な値: jss, default  
  
デフォルト: jss  
  
\> \[!注\]  
\> 一般的に、レイアウトサービスのRESTリクエストには jss 構成Sitecore、TGraphQクエリExperience Edge for XM default 構成を使用します。  
\>すべてのEdgeクエリには言語の指定が必要です。Edge GraphQLスキーマに対して統合GraphQLクエリを使用する場合、 default 構成によりすべてのクエリに $language 値が注入されます。 jss 構成では言語値は提供されず、バージョン18.0.0との後方互換性を保っています。

graphQLEndpoint

[統合されたGraphQL](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/customizing-the-layout-service-rendering-output.html#UUID-06fb9e04-92dc-98f7-eaa0-a0a439628a44_section-idm1403267378843612)クエリを可能にします。統合GraphQLを使用していない場合は、この属性を削除または省略できます。

serverSideRenderingEngine

JSSアプリのサーバーサイドレンダリング時にどの [レンダリングエンジン](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/rendering-engines.html) を使うかをSitecoreに指示します。  
  
可能な値: nodejs と http。  
  
デフォルト: nodejs

serverSideRenderingFunctionName

統合モードでレンダリングする際に呼び出すために serverBundle にエクスポートされたJS関数の名前。  
  
serverSideRenderingEngineの値をnodejsに設定した場合にのみ関係があります。  
  
デフォルト: renderView

serverSideRenderingEngineEndpointUrl

リモートレンダリングホストのHTTPエンドポイントを定義します。  
  
serverSideRenderingEngineの値をhttpに設定した場合にのみ関係があります。  
  
デフォルト:「」

serverSideRenderingEngineApplicationUrl

レンダリングHTML内の任意の相対リンクに対して絶対リンクを作成するためのURLを定義し、エクスペリエンスエディターに必要なものです。指定されていない場合(デフォルト)、インポートプロセスは serverSideRenderingEngineEndpointUrlからホスト名を抽出します。  
  
serverSideRenderingEngineの値をhttpに設定した場合にのみ関係があります。  
  
デフォルト:「」

serverSideRenderingEngineEditOnly

外部レンダリングホストを使用する場合Sitecore非APIルートへのリクエストを処理しなければならないかどうかを制御します。  
  
デフォルト: true。

deploymentSecret

アプリのインポート共有秘密の設定を行います。  
  
秘密は32+のランダム生成文字でなければならず、JSSアプリの scjssconfig.json の秘密と一致していなければなりません。  
  
デフォルト:(なし)  
  
\> \[!注\]  
\> [Sitecore優先開発ワークフロー](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/sitecore-first-development-workflow.html)を使用する場合、 deploymentSecretの設定は不要です。  
  
\>\[!重要\]  
\> この秘密をソース管理にコミットしないでください。すべての環境ごとに固有の秘密を使いましょう。この秘密を持つことで、管理的にSitecoreアイテムを作成・変更する能力が実質的に与えられます。

debugSecurity

セキュリティデバッグを有効または無効化するためのブール値。アプリインポート接続の問題がある場合は true に設定し、共有シークレットのサーバー側処理の詳細をログにしてください。 *接続問題はデバッグしない限り使用*しないでください。クライアント側のセキュリティ問題を診断 \--debugSecurity CLIフラグと組み合わせて使ってください。  
  
デフォルト: false