Sitecore の開発環境についての覚書
毎回、Sitecore の開発環境を作るのに色んな所のドキュメント見て〜とかするのが良い加減うんざりしてきたので覚書としてまとめておく。
Sitecore のインストール
Sitecore のインストールでいつも忘れちゃうものを書いておく。
SQL Server、 SSMS
- そのまま入れれば OK
IIS
- Windows 10 の場合は、"Windows の機能の有効かまたは無効化" の所から、IIS を入れる。
- デフォルトだと入らない以下は個別に入れること (いつもこれを忘れるのでログイン時にエラーが出る)
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" にすること
(多分、他に当てると環境が壊れる; やったことないけど)
- 普通に 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" を右クリックし、日本語を追加すること
この時、「英語入らねーや、ふふん」と英語の言語バージョンを消さないこと とりあえず動いたはずだけど、なんかやろうとするたびにエラーだったり何かが発生する
- "Access Management" の "User Manager" から変更する
Visual Studio 周り
基本的には Sitecore Rocks の使い方がよくわからない (というより必要と思ったことがないので、使ったことがない) ので、自分は入れないで 開発環境を整える。
Project
- プロジェクトは、"ASP.NET Web アプリケーション (.NET Framework)" で作る
- とりあえず(2018/8 時点) Framework は、".NET Framework 4.7.2" で作った
- テンプレートは、"空" を選択して、"MVC" を追加しておけばおk
- Unit Test はとりあえず入れない
Sitecore の DLL
- Nuget の参照先に "https://sitecore.myget.org/F/sc-packages/api/v3/index.json" を入れる
- ソリューションの Nuget パッケージに以下を入れる
- Nuget の参照先の最新版は、以下のページ Sitecore Documentation: Sitecore public NuGet feed FAQ
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
多分このくらいを入れておけばなんとなく開発ができるはず?
Web Apps のログ監視について
覚書 (=カスみたいな文章)
Application Insight に出力したログでエラーとか Exception が発生した時にメール通知とかできるようにするやつ。 Application Insight の 「アラート」を使用する。
Trace ログとかは、Severity Level でログレベルが出ているので、以下のような感じで検索クエリを書いてあげれば良い。
union (traces), (requests), (customEvents), (exceptions) | where ((itemType == 'trace' or (itemType == 'request' or (itemType == 'customEvent' or (itemType == 'exception' )))) and severityLevel == 2)
条件の書き方がわからない場合は、「メトリックスエクスプローラ」でログを検索して、 「分析」を押せばそれっぽい感じで確認できるので、あとは要らない部分を削除するなりなんなりする。
SeverityLevel については、 SeverityLevel Enum (Microsoft.ApplicationInsights.DataContracts) | Microsoft Docs を確認すれば、値がわかる。
Sitecore 8.2 Update 5 (rev. 170728) Release
しれっと、 Sitecore 8.2 Update 5 がリリースされていました。 Sitecore Developer Portal: Sitecore Experience Platform 82 Update5
Azure AppService
Update 4 までは、 AppServices 向けのイメージは一つの Zip ファイルになっており、 DL にも時間がかかっていましたが、 XP に関しては 2つに分けられているようです。 Deploy パターンは特に増えているわけではないです。
新機能・改善点
Configuration
Sitecore で、 FIPS に準拠した暗号化に対応したようです。 そもそも Sitecore 8.2 Update 5 よりも前のバージョンでは対応していなかったらしく、今回新たに対応したようです。 ただし、FIPS の対応は、 CMS Only Mode のみに対応しているようなので、 xDB を有効にする可能性がある場合は導入できないかと思います。
設定方法について、以下の Sitecore のドキュメントを参照のこと。
Sitecore Documentation: Enable FIPS
Marketing Foundation
Mongo .NET Driver が 2.4.4 にアップグレードされました。 2.4.x は、 Mongo DB 3.4 に対応しており、今回のアップグレードはマイナーバージョンアップということもあり細かい情報は見つけられませんでした。
とはいえ、 Cosmos DB には未だに対応せず…
なので、 Sitecore からサポートされませんが、 Sitecore で Cosmos DB を使用する場合は、以下を使用してみましょう。
blogs.perficient.com
Sitecore では、Cosmos DB をサポートしていません。
本番での利用はやめましょう。
Resolved Issues
以下を参照。