1. その他の開発タスク

公開ターゲットの作成

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

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

公開ターゲットは、データベースと、そのデータベースを指定する公開ターゲット定義アイテムで構成されます。Sitecoreは、Masterデータベースから1つ以上の公開ターゲット データベースに公開します。マスター データベースには、未承認のコンテンツ変更を含む、すべてのデータのすべてのバージョンが含まれています。

デフォルトのパブリッシング・ターゲットであるInternetは、Webという名前のデータベースを参照しますが、追加のパブリッシング・ターゲットを作成することもできます。

追加の公開ターゲットを作成する理由は次のとおりです。

  • 地理的な配布: 複数の場所にあるコンテンツ配信サーバー上の複数の公開ターゲットにすべてのコンテンツを公開できます。

  • ライブ サイトに公開する前に、プレビュー公開ターゲット に公開する必要があります。

公開ターゲットを作成するには:

  1. 新しいデータベースをデプロイするには、たとえば、お使いのバージョンのSitecoreのインストール パッケージのWebデータベースを使用します。

  2. CMサーバー上のConnectionStrings.configファイルに、次のようなエントリを追加します。

    <add name="preview" connectionString="Data Source=.;Initial Catalog=web_preview;User ID=;Password=" />
    メモ

    プレビューではなくコンテンツ配信にデータベースを使用するには、CDサーバに接続を追加します。

  3. 次のような構成パッチ ファイルを作成します (設定はSitecore.configファイルにあります)。

    <?xml version="1.0" encoding="utf-8" ?>
     <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
         <sitecore>
             <eventing defaultProvider="sitecore">
                <eventQueueProvider>
                    <eventQueue name="web_preview" patch:after="eventQueue[@name='web']" type="Sitecore.Data.Eventing.$(database)EventQueue, Sitecore.Kernel">
                         <param ref="dataApis/dataApi[@name='$(database)']" param1="$(name)" />
                         <param hint="" ref="PropertyStoreProvider/store[@name='$(name)']" />
                    </eventQueue>
                </eventQueueProvider>
             </eventing>
             <PropertyStoreProvider>
                 <store name="web_preview" patch:after="store[@name='web']" prefix="web_secondary" getValueWithoutPrefix="true" singleInstance="true" type="Sitecore.Data.Properties.$(database)PropertyStore, Sitecore.Kernel">
                      <param ref="dataApis/dataApi[@name='$(database)']" param1="$(name)" />
                      <param resolve="true" type="Sitecore.Abstractions.BaseEventManager, Sitecore.Kernel" />
                      <param resolve="true" type="Sitecore.Abstractions.BaseCacheManager, Sitecore.Kernel" />
                 </store>
             </PropertyStoreProvider>
             <databases>
             <!-- web_secondary -->
                 <database id="web_preview" patch:after="database[@id='web']" singleInstance="true" type="Sitecore.Data.DefaultDatabase, Sitecore.Kernel">
                     <param desc="name">$(id)</param>
                     <icon>Images/database_web.png</icon>
                     <securityEnabled>true</securityEnabled>
                     <dataProviders hint="list:AddDataProvider">
                         <dataProvider ref="dataProviders/main" param1="$(id)">
                             <disableGroup>publishing</disableGroup>
                             <prefetch hint="raw:AddPrefetch">
                                  <sc.include file="/App_Config/Prefetch/Common.config" />
                                  <sc.include file="/App_Config/Prefetch/Webdb.config" />
                             </prefetch>
                         </dataProvider>
                     </dataProviders>
                    <PropertyStore ref="PropertyStoreProvider/store[@name='$(id)']" />
                        <remoteEvents.EventQueue>
                            <obj ref="eventing/eventQueueProvider/eventQueue[@name='$(id)']" />
                        </remoteEvents.EventQueue>
                        <archives hint="raw:AddArchive">
                            <archive name="archive" />
                            <archive name="recyclebin" />
                        </archives>
                        <cacheSizes hint="setting">
                             <data>100MB</data>
                             <items>50MB</items>
                             <paths>2500KB</paths>
                             <itempaths>50MB</itempaths>
                             <standardValues>2500KB</standardValues>
                        </cacheSizes>
                        <BlobStorage hint="raw:AddBlobStorage">
                          <providers default="classic">
                            <provider name="classic" type="Sitecore.Data.Blobs.ClassicSqlBlobProvider, Sitecore.Kernel">
                              <param desc="databaseName">$(id)</param>
                            </provider>
                        </providers>
                      </BlobStorage>
                  </database>
             </databases> 
         </sitecore>
     </configuration>
  4. 新しいデータベースの検索インデックスが必要な場合は、App_Config\Sitecore\ContentSearch\Sitecore.ContentSearch.Solr.Index.Web.config内のsitecore_web_indexの検索インデックスをコピーし、クローラが新しいデータベースを使用するように変更します。また、新しいデータベースからデータを取得するために、インデックス更新戦略を変更する必要もあります。

  5. 新しいインデックス更新ストラテジを作成するには、既存のonPublishEndAysncまたはOnPublishEndAsyncSingleInstanceインデックス更新ストラテジをコピーし、新しい名前 ( onPublishToPreviewEndAsyncなど) を付け、ストラテジのデータベース・パラメータをパブリッシング・ターゲットの名前に変更します。

この記事を改善するための提案がある場合は、 お知らせください!