---
title: "出版目標を設定する"
slug: "create-a-publishing-target"
abstract: "例えばプレビューの公開に使える公開ターゲットの作成方法を説明します。"
---
# 出版目標を設定する

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

デフォルトの公開ターゲットであるInternetは、Webというデータベースを参照していますが、追加の公開ターゲットを作成することも可能です。

追加の出版目標を設定する理由には以下があります:

-   地理的分布:すべてのコンテンツを複数の配信対象に複数のコンテンツ配信サーバーで公開できます。
-   ライブサイトに公開する前に [、プレビュー公開ターゲット](https://doc.sitecore.com/xp/en/users/100/sitecore-experience-platform/setting-up-a-preview-publishing-target.html) に公開したいです。

出版目標を作成するには:

1.  Web[データベースを使って新しいデータベースを展開します。例えば、Sitecoreのバージョンに入っています。](https://docs.microsoft.com/en-us/sql/relational-databases/data-tier-applications/deploy-a-data-tier-application?view=sql-server-ver15)
    
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)を付け、戦略のデータベースパラメータを公開対象の名前に変更します。