Sitecore では、エンゲージメント オートメーションなどの、さまざまなタイプの条件に基づいてパーソナライズ ルールを作成できます。例えば、次のようなルールを使用して、訪問者が特定のエンゲージメント プランに追加されているかを確認できます。
しかし、Sitecore バージョン 7.5以降のエンゲージメント オートメーションの条件は、条件付きレンダリング コンテキスト用には設計されていません。したがって、これらのルールは、パーソナライズのルール セット エディターでは、デフォルトで使用できなくなりました。
註: 「/sitecore/system/Settings/Rules/Conditional Renderings/Tags/Default」アイテムの「Tags」フィールドに「Engagement Automation」を追加する際に、「Rule Set Editor」ダイアログにルールが表示されます。しかし、これらの条件を使用すると、ログ ファイルに次のエラーが記録されます。
ERROR Failed to get type of condition
Exception: System.ArgumentException
Message: GenericArguments[0], 'Sitecore.Rules.ConditionalRenderings.ConditionalRenderingsRuleContext', on 'Sitecore.Analytics.Automation.Rules.Workflows.Conditions.HasAutomationStateCondition`1[T]' violates the constraint of type 'T'.
Source: mscorlib
at System.RuntimeType.ValidateGenericArguments(MemberInfo definition, RuntimeType[] genericArguments, Exception e)
at System.RuntimeType.MakeGenericType(Type[] instantiation)
at Sitecore.Reflection.ReflectionUtil.GetGenericType(String typeName, Type genericArgumentType)
at Sitecore.CodeDom.Scripts.ItemScripts.GetGenericType[T](Item item)
at Sitecore.Rules.RuleFactory.GetRuleCondition[T](Database database, XElement element)
...
本事象を修正するには、次のパッチを適用してください。
Sitecore.Support.Analytics.Automation.Rules.Workflows.Conditions.HasAutomationCondition,Sitecore.Support.424148
Sitecore.Support.Analytics.Automation.Rules.Workflows.Conditions.HasAutomationStateCondition, Sitecore.Support.424148