devlog

※当ブログでの発言は個人の見解であり、所属する組織の公式見解ではありません。

Sitecore の開発環境についての覚書

毎回、Sitecore の開発環境を作るのに色んな所のドキュメント見て〜とかするのが良い加減うんざりしてきたので覚書としてまとめておく。

Sitecore のインストール

Sitecore のインストールでいつも忘れちゃうものを書いておく。

SQL Server、 SSMS
  • そのまま入れれば OK
IIS
  • Windows 10 の場合は、"Windows の機能の有効かまたは無効化" の所から、IIS を入れる。
  • デフォルトだと入らない以下は個別に入れること (いつもこれを忘れるのでログイン時にエラーが出る)
    • アプリケーション開発機能 - .NET 拡張機能 4.7
    • アプリケーション開発機能 - ASP.NET 4.7
    • アプリケーション開発機能 - ISAPI フィルター
    • アプリケーション開発機能 - ISAPI 拡張
SIM
  • ローカル環境なら、これで Sitecore を入れておけば OK
    github.com
Sitecore Install 後
  • 日本語化
    • Sitecore Download ページ の 「Client translations」 に "Japanese (ja-JP)" なるものがあるので、DL
    • Sitecore の Launch Pad より、"Control Panel" -> "Localization" の "Import languages" から設定する
      • 普通に Upload して適用すれば良いが、適用先の Database は、"core" にすること
        (多分、他に当てると環境が壊れる; やったことないけど)
    • ユーザ毎に言語設定ができるので変更する
      • "Access Management" の "User Manager" から変更する
        • "Language Settings" -> "Sitecore Client" にある 「Client Language」、「Regional ISO Code」を日本に合わせる
        • "Content" にある 「Default Content Language」は、アイテムを作った時にデフォルトで作成される言語バージョンです
          設定する場合は、"Content Editor" を起動し、"sitecore" -> "System" -> "Languages" を右クリックし、日本語を追加すること
          この時、「英語入らねーや、ふふん」と英語の言語バージョンを消さないこと とりあえず動いたはずだけど、なんかやろうとするたびにエラーだったり何かが発生する

Visual Studio 周り

基本的には Sitecore Rocks の使い方がよくわからない (というより必要と思ったことがないので、使ったことがない) ので、自分は入れないで 開発環境を整える。

Project
  • プロジェクトは、"ASP.NET Web アプリケーション (.NET Framework)" で作る
  • とりあえず(2018/8 時点) Framework は、".NET Framework 4.7.2" で作った
  • テンプレートは、"空" を選択して、"MVC" を追加しておけばおk
  • Unit Test はとりあえず入れない
Sitecore の DLL
Unicorn
  • Sitecore 上のアイテムをシリアライズしてくれる素敵ツール
  • これを使わないと、ローカル開発、Staging、Production と手でポチポチ作っていかなきゃダメになって、大変面倒 & 絶対事故る (→ 最近もやらかしてます)
  • Nuget より、"Unicorn" を検索して入れてどーぞ (使い方は別途)
Glass.mapper
  • Sitecore のパーツを作る時に Sitecore で作成した Item のデータにアクセスすることがあると思うけど、Sitecore.なんちゃら みたいなのでアクセスせず提供された Mapper を使ってアクセスする
    これのおかげで単体テストが作成しやすくなる
  • これも Nuget から検索して入れてどーぞ (XX は Sitecore のバージョン)
    以下らへんを入れる (使い方は別途)
    • Glass.Mapper.Sc.XX
    • Glass.Mapper.Sc.XX.Core
    • Glass.Mapper.Sc.XX.Mvc
    • Glass.Mapper.Sc.XX.WebForms

多分このくらいを入れておけばなんとなく開発ができるはず?