1. Sitecoreホスト

プラグインフィルタリング

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

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

プラグインはSitecoreホストアプリケーションに個別の機能を提供します。1つ以上の機能を持つアプリケーションを展開しつつ、実行時にプラグインをフィルタリングすることで含めたり除外したりすることができます。Sitecoreホストの設定では、sitecorehost.xmlファイルの変更やコマンドラインの使用でプラグインをフィルタリングできます。

Sitecore、メインアプリケーションから読み込むプラグインでも、sitecoreruntimeフォルダを使って動的に読み込む場合でも、すべてのプラグインにフィルタリングを適用します。

デフォルトではフィルタリングは適用されず、すべてのプラグインが読み込まれます。

タグマッチング

タグマッチングは、sitecore.plugin.manifestファイルで定義されたタグに基づいてプラグインの包含または除外を可能にします。これらのタグはプラグインの作者によって提供されます。単一のタグで0つ以上のプラグインをマッチングできます。

構文論

タグをマッチングする際、タグ名に基づいて含めたり除外したりできます:

構文論

概要

+私のタグ

タグが付いたプラグインを含めてくださいmytag

-マイタグ

タグが付いているプラグインは除外してくださいmytag

構文の詳細

+文字や-文字の後の値は、任意の英数字文字列やピリオド文字(.)でできます。複数のプラグインが同じタグを持つ場合、マッチはすべてのプラグインに適用されます。フィルターは大文字を区別しないため(MyTagはmytagと同じです)。

この例では、タグTagBを持つプラグインを除外するようにsitecorehost.xmlファイルを編集します。タグ付けされたプラグイン以外はすべて読み込まれますTagB:

-TagB

この例では、sitecorehost.xmlファイルを編集してタグTagAを持つプラグインのみを含ませます。タグ付けされたプラグイン以外は読み込みませんTagA:

+TagA ## プラグインマッチング

プラグインマッチングは、どのプラグインがマッチングされるかをより正確に把握できます。プラグインマッチング構文を使うことで、IDとプラグインのバージョンでマッチングできます。プラグインマッチは0つか1つのプラグインしかマッチングできません。

構文論

プラグインをマッチングすると、プラグインIDやオプションでプラグインバージョンに基づいて含めたり除外したりできます。

構文論

概要

+@mypluginid

プラグインを含めてくださいMyPluginId

-@mypluginid

プラグインを除外するMyPluginId

+@mypluginid

.2.3

バージョンにプラグインMyPluginIdを含めてください1.2.3

-@mypluginid

.2.3

プラグインMyPluginIdを除外する1.2.3

構文の詳細

+文字や-文字の後の値は、任意の英数字文字列やピリオド文字(.)でできます。フィルターは大文字を区別しません(MyPluginIdはmypluginidと同じです)。

この例では、sitecorehost.xmlファイルを編集して、ID(名前)PluginBを持つプラグインを除外します。名前が一致するプラグイン以外はすべてのプラグインが読み込まれPluginB:

-@PluginB

この例では、sitecorehost.xmlファイルを編集して、ID PluginOneを持つプラグインのみを含めるようにします。他のプラグインは読み込まれません。ただし、ID PluginOne:

+@PluginOne

この例では、ID PluginOneとバージョン1.0.0を持つプラグインを除外するためにsitecorehost.xmlファイルを編集します。

-@PluginOne:1.0.0 ## 複数のフィルターを供給してください

構成内の任意の数のフィルターを別々のキーとして提供できます。フィルターが適用されるとそれらは結合されます。以下の2つの構成は同じフィルターになります:

+TagA +TagB +TagA +TagB

フィルターの各部分に別々のキーを提供することで、コマンドラインや環境sitecorehostファイルを通じて設定を上書きしやすくなります。

最初の例(上記)では、構成キーをパッチできるのはPlugins:Filters

2つ目の例(下記)では、パッチが当てられた構成セクションを備えたsitecorehost.development.xmlファイルを提供できます:

## 依存関係エラー

1つ以上のプラグインを削除しても、他のプラグインがそれに依存している場合、エラーが発生します。これはカスタムプラグインフィルターが適用されたときに起こります。例えば、sitecorehost.xmlをPluginAを削除するように変更した場合、タグ付けはTagA:

-TagA

しかし、別のプラグイン(PluginB)がそれに依存している場合、Sitecore Hostアプリケーションを実行するとエラーが出ます:

Unhandled Exception: Sitecore.Framework.Runtime.Plugins.MissingPluginDependencyException: Plugin dependency could not be found. Loading plugin PluginB : PluginB -> PluginA Missing dependency: PluginA

問題を解決するには、すべての依存プラグインを除外することができます:

-TagA -TagB ## コマンドラインでのオーバーライド

アプリケーションを呼び出した際に、コマンドラインの引数を渡してプラグインフィルターを設定できます。アプリケーションが呼び出された後、configセクションへのパスと新しい値を提供することで設定オーバーライドを追加できます。例えば:

--Plugins:Filters

'-TagB -TagA'

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