前回のパート1では、Publishing Serviceのインストールと必要な構成を実施しました。このパートでは実際にPublishing Serviceを使ってみます。
Sitecoreのクライアントインタフェースにログインすると、Content Editing グループに Publishing アプリケーションが登録されていることがわかります。
Publishing をクリックすると、下図のように Publishing Dashboard アプリケーションにアクセスできます。ここで、アクティブなパブリッシュジョブやキューイングされているジョブや過去のパブリッシュジョブを確認することができます。
ちなみに日本語でも表示できます!微妙な翻訳はきっと改善されます。
コンテンツエディターでも、下図のようにパブリッシュ タブに パブリッシュダッシュボードを起動するためのコマンドが登録されています。ここでは、パブリッシュを実際に行ってみます。アイテムを選択して、[アイテムをパブリッシュ]をクリックします。
Publishing Service用のパブリッシュダイアログが表示されます。アイテムレベルのパブリッシュでは、表示されるオプションは既存のアイテムのパブリッシュと同じであることがわかります。
[パブリッシュ]をクリックすると、下図のようなパブリッシュをPublishing Serviceのキューに投入した旨のメッセージが表示されるはずです。[ダッシュボードに移動]ボタンをクリックします。
すると、パブッシュダッシュボードに移動できます。最近のジョブに Item Publish が表示されていることがわかります。
今度は コンテンツエディターのパブリッシュタブの中の パブリッシュ > [サイトをパブリッシュ]をクリックします。すると、今度は下図のようなダイアログが表示されます。サイトのパブリッシュは既存のパブリッシュでいうところのインクリメンタルパブリッシュに相当します。言語バージョンとパブリッシュターゲットを選択して[パブリッシュ]ボタンをクリックすればサイトのパブリッシュを行えます。
[パブリッシュ]ボタンをクリックすると下図のようにパブリッシュがキューに正常に登録できた旨のメッセージが表示されます。[ダッシュボード]ボタンをクリックすると Publish Dashboardに移動できます。
ダッシュボードの最近のジョブに Site publish が表示されていることを確認できます。
通常の運用では、 アイテムのパブリッシュと、サイトパブリッシュ(インクリメンタルパブリッシュ相当)を行う運用になります。
これまであった サイトレベルのパブリッシュである スマートパブリッシュとリパブリッシュ相当の機能は存在するでしょうか?この種類のパブリッシュは許可されたロールに所属するユーザーのみが実行できます。パブリッシュダッシュボードの左上に[完全なリパブリッシュ]ボタンがあります(英語名:Publish all items)。このボタンをクリックしてみます。
下図の完全なりパブリッシュダイアログが表示されます。パブリッシュオプションで、 フル リパブリッシュをチェックすると、これまでの リパブリッシュ相当のパブリッシュを行います。チェックしない場合はスマートパブリッシュ相当のパブリッシュを行うことができます。 "全てのデータキャッシュを削除"オプションは、ほとんどのアイテムがパブリッシュされることが分かっている場合にチェックすることで、個別のアイテムのデータキャッシュを個別にクリアするコストを省くことができます。そこまでアイテムが実際にパブリッシュされないのであれば有効化する必要はありません。
パブリッシュを行えば、パブリッシュジョブのキューに登録された旨のメッセージが表示されます。
パブリッシュがPublishing Serviceで実行中の場合は、 下図のように Publish Dashboard のアクティブジョブに現在実行中のパブリッシュジョブが実行されます。下図では Full republish (フル リパブリッシュを有効化した状態の Publish all items,完全なリパブリッシュ)を行っているジョブが表示されています。
ちなみに下図を参考に、 タイプ別に従来のパブリッシュの種類を比較すると次の表のようになります。
タイプ | 従来のパブリッシュの種類 |
Full republish | リパブリッシュ |
Full publish | スマートパブリッシュ |
Site publish | インクリメンタルパブリッシュ |
Item publish | アイテムレベルのパブリッシュ |
最近のジョブやジョブの詳細画面で、開始してから終了するまでの時間を確認できます。
ちなみに、単一マシンに、クリーンインストールしたSitecore(CM,CDサーバー兼任),SQL サーバー,Publishing Service が同居している環境でパブリッシュの速度を比較してみるとした図のようになりました。
アイテム数が5000くらいしかないのと、ネットワーク的な遅延がない、アイテムの変更がないなどにより、Full publish(スマートパブリッシュ)では違いはありませんでした。検証環境が適切ではありませんでした。一方 Full Republishでは大きな実行時間の差異を確認できました。
タイプ | 時間(sec) | 従来のパブリッシュ | 時間(sec) |
Full publish | 5 | スマートパブリッシュ | 5 |
Full republish | 14 | リパブリッシュ | 134 |
一通りざっと動作確認してみましたが、Full republishがかなり高速な結果になったことから、バルクデータ転送が有効に聞いてくるであろう、地理的に離れているデータセンター間のパブリッシュやアイテム数が多いパブリッシュなどでPublishing Serviceは効果を発揮してくれそうです。
さんのコメント: さんのコメント: