Sitecore RocksからSitecore10への接続をセットアップする

samatsu 10/22/2020 1171 N/A Sitecore Rocks

Visual Studio 2019にインストールした Sitecore Rocksから、ローカルにインストールしたスタンドアロンのSitecore10環境への接続をセットアップする方法を記載します。

検証環境は次の通りです

  • Visual Studio 2019 + Sitecore Rocks 4.0.291.0
  • Sitecore 10 Initial Release (開発用のスタンドアロン環境)

記事作成時点のSitecore Rocksのバージョン 4.0.291.0はSitecore 10に正式に対応していないので注意してください。記事の後半で、一部ファイルを変更する手順があります。

Visual StudioにSitecore Rocksをインストールする手順自身は、こちらを参照してください。

1 接続のセットアップ

Sitecoreメニューの、New Connectionを選択します。Sitecoreメニュがトップにない場合は、ExtensionsメニューをクリックしてSitecoreメニューにアクセスします。

接続のセットアップダイアログが表示されます。下図を参考に

Host Nameに https://<サーバー名/

User Name, Password に admin ユーザーのアカウントとパスワード

Location に、Sitecore 本体がインストールされている物理フォルダーのパスを指定します。

Sitecore 9.3 以降、編集サーバーはhttpsがデフォルトで必須になっています。そのため、Host Nameフィールドにはサーバー名だけではく https のプロトコル名も明示的に指定してください。

情報を入力したら Test ボタンをクリックします。

SitecoreのWebアプリケーションフォルダーに必要なファイルがないので、次のようなメッセージが表示されるはずです。その場合 Yes をクリックします。

Update Server Componentsダイアログが表示されたらすべてチェックされていることを確認して、Update Allをクリックします。

下記メッセージが表示されたらOKをクリック。

ファイルをコピーするフォルダーを選択するダイアログが表示されるので、SitecoreのWebアプリケーションのルートフォルダーを指定してOKをクリック。本例の場合は、デフォルトの場所にインストールしているので、C:\inetpub\wwwroot\xp100.dev.local を指定しています。

コンテナを使って開発用の環境を構築している場合は、開発したファイルを編集サーバーにデプロイするためのフォルダーが存在するはずなので、そのフォルダーを指定すればOKのはずです。(動作確認はしていません。)

少し待って、 Yes, it works!というメッセージが表示されたら成功です。

開発環境のパフォーマンスによっては タイムアウトのエラーが表示される場合はあります。その場合は、ダイアログを閉じて、再度Testボタンをクリックしてみてください。単純にタイムアウトしていただけならば、これで解決するはずです。

2.Browse.aspxファイルの修正

Sitecore ExplorerからHomeアイテムを例えばプレビューしようとすると次のエラーメッセージが表示される可能性があります。

Error while previewing the Sitecore item/Sitecore.Pipelines.LoggedIn.LoggedInArgs' does not contain a constructor that takes 0 arguments

冒頭で記載した通り、記事作成時点の最新のSitecore Rocksのバージョン 4.0.291.0 は Sitecore 10に正式に対応していません。

そのため、上記エラーが発生する場合は、<sitecoreのインストールフォルダー>/sitecore/shell/WebService フォルダーのBrowse.aspxファイルを開き次の行(記事作成時点で43行目)

    var args2 = new Sitecore.Pipelines.LoggedIn.LoggedInArgs();

次のように変更してください。

    var args2 = new Sitecore.Pipelines.LoggedIn.LoggedInArgs(Request.RequestContext.HttpContext);

これでSitecore Rocksからエクスペリエンスエディターにアクセスできるようになります。

上記以外は特に問題なく動作しているようでした。