1. Sitecoreコンテンツシリアライズ

攻略:NuGetとnpmでのシリアライズ

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

パッケージ参照(NuGetやnpm)を使って、シリア化されたアイテムをソリューションにインポートできます。

このウォークスルーでは、以下の方法を説明します:

  • パッケージを作成する

  • NuGetパッケージを作成する

  • npmパッケージを作成する

  • パッケージ参照を追加する

パッケージを作成する

Sitecoreシリアライゼーションを含むパッケージを作成するには:

  1. パッケージのルートにsitecore.jsonファイルを追加します。このファイルには、シリアライゼーションモジュールファイルへのmodulesプロパティが含まれています。

    注記

    モジュールファイルはパッケージ内で異なるパターンに対応するために特定の方法で整理されていません。

    パッケージ構造の例:

    • 語根

      • sitecore.json

      • modules

    sitecore.jsonファイルの例:

    {
      "modules": [
        "modules/*.module.json"
      ]
    }

    Sitecore.DevEx.NuGetResourcesExample.module.jsonという名前のモジュールファイルの例:

    {
      "namespace": "Sitecore.DevEx.NuGetResourcesExample",
      "description": "Content serialization example",
      "items": {
        "includes": [
          {
            "name": "Content",
            "path": "/sitecore/content/home"
          }
        ]
      }
    }
  2. パッケージの設定が正しくできているか確認するために、以下のコマンドを実行します:

    dotnet sitecore serialization info

    コマンドが次のメッセージを返す場合、パッケージの設定は成功しています:

    Sitecore.DevEx.NuGetResourcesExample
    Content serialization example
      Subtrees:
        Content: /sitecore/content/home

NuGetパッケージを作成する

パッケージのルートにsitecore.jsonファイルを追加した後、NuGetパッケージを作成できます。

Sitecoreリソースを含むNuGetパッケージを作成するには:

  1. パッケージを定義するためにPackageName.nuspecファイルを追加します。例えば:

    <?xml version="1.0"?>
    <package >
      <metadata>
        <id>NugetResourcesExample</id>
        <description>Example NuGet package containing Sitecore resources</description>
        <authors>Sitecore</authors>
        <version>1.0.0</version>
      </metadata>
      <files>
        <!-- the sitecore.json and modules and items must be copied to the package -->
        <file src="NuGetResourcesExample\sitecore.json" target="" />
        <file src="NuGetResourcesExample\sitecore\**" target="sitecore" />
      </files>
    </package>
    注記

    ファイルパスが相対的であれば、プロジェクト内のPackageName.nuspecファイルの特定の場所はありません。

  2. パッケージしたいSitecoreリソースファイル(モジュールファイルやシリアル化されたアイテム)をPackageName.nuspecファイルのfilesセクションに追加してください。

  3. パッケージを構築するには、nuget packを実行してNuGetフィードにプッシュします。

npmパッケージを作成する

パッケージルートにsitecore.jsonファイルを追加した後、npmパッケージを作成できます。

注記

npmパッケージはローカル開発でしか使えません。配備中は使用できません。

Sitecoreリソースを含むnpmパッケージを作成するには:

  1. パッケージを定義するためにpackage.jsonファイルを追加します。例えば:

    {
      "name": "npm-example-package",
      "version": "1.0.0",
      "description": "Sample of providing SIC resources via npm"
    }
  2. .gitignore.npmignoreファイルを、npmパッケージに自動的に含めたいリソースを無視していないかOpenしてください。

注記

ほとんどのnpmパッケージは、選択したパッケージリポジトリに公開する前に必ずしもビルドする必要はありません。

パッケージ参照を追加する

大事な

パッケージ参照を使用するには、Sitecore CLI操作中にパッケージをインストールするために、PATH上でnugetまたはnpmコマンドを用意している必要があります。

パッケージ参照をソリューションに追加するには:

  • sitecore.jsonファイルのmodulesプロパティで、以下のいずれかのエントリを追加します:

    • nuget:<packagename>

    • npm:<packagename>

    例えば:

    "modules": [
      "local-file-modules/*.module.json",
      "npm:my-package",
      "npm:[email protected]", // version specs allowed per npm install
      "npm:./path/to/local/package", // local package on filesystem
      "nuget:Organization.MyPackage",
      "nuget:[email protected]", // version specs allowed. No wildcards.
    ],
    注記

    NuGetパッケージ参照は、あなたのマシン上で登録されたパッケージソースを使ってインストールします。カスタムパッケージソースを指定するには、リポジトリのルートにNuGet.configファイルを作成し、パッケージ参照を解決するためのカスタムフィードを格納できます。

    詳細については 、「NuGetによるコマンドラインインターフェースの拡張」をご覧ください。

パッケージ参照が登録されると、モジュールを使用する任意のSitecore CLI操作中に自動的にインストールされ、モジュールの解析が行われます。モジュールの取り付けはsitecore ser infositecore ser pushで確認できます。モジュールの更新は、どのバージョン仕様にも基づき自動的に行われます。

この記事を改善するための提案がある場合は、 お知らせください!