前回は Types という全部の項目を利用するコンポーネントを作成しました。今回はこのコンポーネントを利用して、CLI を利用して Staging のサーバーに追加していきます。
コンポーネントのシリアライズ
作成をしたコンポーネントをシリアライズして、リポジトリに反映させます。シリアライズの設定に関しては、手元の環境では src\SitecoreDemo.module.json というファイルを用意して、内容は以下のように設定しています。
JSON
{
"namespace": "SitecoreDemo",
"references": ["InitItems"],
"items": {
"includes": [
{
"name": "placeholders",
"path": "/sitecore/layout/Placeholder Settings/Project/sitecoredemo-jp"
},
{
"name": "demo-renderings",
"path": "/sitecore/layout/Renderings/Feature/Demo"
},
{
"name": "demo-settings",
"path": "/sitecore/system/Settings/Feature/Demo"
},
{
"name": "demo-branches",
"path": "/sitecore/templates/Branches/Feature/Demo"
},
{
"name": "demo-template",
"path": "/sitecore/templates/Feature/Demo"
},
{
"name": "renderings",
"path": "/sitecore/layout/Renderings/Project/sitecoredemo-jp"
},
{
"name": "templates",
"path": "/sitecore/templates/Project/sitecoredemo-jp"
},
{
"name": "languages",
"path": "/sitecore/system/Languages"
}
]
}
}
上記にテンプレートやレンダリングなど、追加をした項目に関してはシリアライズをする形になっています。コンテンツに関しては別の Json ファイルにしているため、これに絞ればコンテンツツリー以外はすべてシリアライズが可能です。
Sitecore CLI を利用することで、関連するファイルをシリアライズすることができます。
PowerShell
dotnet sitecore ser pull -n default -i SitecoreDemo
実際にいくつかのデータがシリアライズされて、以下の画面のように追加、更新されています。
![uploadconmponent01.png](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fzi1ovlormku8%2F2xP5hJ0RaGLV23gFcoUSnG%2Fd9d28592a3dae75d7cf98f7f95c4362a%2Fuploadconmponent01.png&w=750&q=75)
以下のコマンドで Staging に反映させます。
PowerShell
dotnet sitecore ser push -n staging -i SitecoreDemo
この状態では、まだサイトではコンポーネントを認識していません。/sitecore/content/sitecoredemo-jp/sitecoredemo-jp/Presentation/Available Renderings/Demo の利用できるコンポーネントに対して、Types を設定します。
![uploadconmponent02.png](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fzi1ovlormku8%2F3V54zMX0LohKeSFlpCNx4y%2F54a37eeb432464b49c73634707e4f667%2Fuploadconmponent02.png&w=1200&q=75)
これで準備ができたので Pages を開きます。コンポーネントが左側に追加されているのがわかります。
![uploadconmponent03.png](/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fzi1ovlormku8%2F3bPCp8OdbPMhNW4XgsQM8s%2F806fae07e66c1d59cdadf320b458d9c5%2Fuploadconmponent03.png&w=3840&q=75)
まとめ
ローカルで作成したコンポーネントを XM Cloud 側に反映させる手続きを今回は CLI を利用して実施しました。シリアライズをする仕組みをうまく活用することで、コンポーネントを開発、関連するデータとともにクラウドに反映させることができます。