マーケティング アセットを持っていないメディア アイテムの不適切な検証について


説明

メディア ライブラリのルートにあるすべてのメディア アイテムは、マーケティング アイテムとみなされます。名称に文字、数字、ダッシュまたはアンダーバー以外の文字を含まれるアイテムをアップロード、コピー、作成、名前の変更もしくは保存しようとすると、例外が発生します。これは、マーケティング オペレーション機能が、ItemNameValidation設定を考慮せずに、マーケティングのアイテム名の制限を実施するためです。
また、ItemEventHandlerクラスは、メディア アイテムを検証する前に、そのアイテムにマーケティング アセットがあるかどうかの確認を実施しません。

例:

ManagedPoolThread #0 2018:10:23 12:58:48 ERROR One or more exceptions occurred while processing the subscribers to the 'item:creating' event.
Exception[1]: System.ArgumentException 
Message[1]: 'Name' should consist only of letters, digits, dashes or underscore 
Source[1]: Sitecore.Marketing.Core 
   at Sitecore.Marketing.Core.Extensions.ConditionValidatorExtensions.IsValidAlias(ConditionValidator`1 validator)
   at Sitecore.Marketing.xMgmt.Definitions.ItemEventHandler.ValidateItemName(ItemData itemData)
   at Sitecore.Marketing.xMgmt.Definitions.ItemEventHandler.OnItemCreating(Object sender, EventArgs args)
   at Sitecore.Events.Event.EventSubscribers.RaiseEvent(String eventName, Object[] parameters, EventResult result) 
5968 19:08:31 ERROR One or more exceptions occurred while processing the subscribers to the 'item:saving' event.
Exception[1]: System.ArgumentException 
Message[1]: 'Name' should consist only of letters, digits, dashes or underscore 
Source[1]: Sitecore.Marketing.Core 
   at Sitecore.Marketing.Core.Extensions.ConditionValidatorExtensions.IsValidAlias(ConditionValidator`1 validator)
   at Sitecore.Marketing.xMgmt.Definitions.ItemEventHandler.ValidateItemName(ItemData itemData)
   at Sitecore.Marketing.xMgmt.Definitions.ItemEventHandler.OnItemSaving(Object sender, EventArgs args)
   at Sitecore.Events.Event.EventSubscribers.RaiseEvent(String eventName, Object[] parameters, EventResult result) 

解決策

各hotfixは特定のSitecore XPバージョン専用に作成されたものであるため、他のSitecore XPバージョンにインストールしたり、(互換性が確認できるまでは)他のhotfixと組み合わせてインストールしたりしないでください。SitecoreXPインスタンスに他のHotfixが既にインストールされている場合は、互換性チェックのご依頼をSitecoreサポートにご連絡ください。

ZIPファイルを解凍し、インストールの手順書や関連のファイルを確認してください。HotfixはCMインスタンスにインストールしてから、貴社の標準の開発方法にて他のインスタンスと同期する必要があります。