Цели Sitecore для Media Item не влияют на ценность участия

Я использую Sitecore 7.2 ревизия 140526 + DMS. Я пытаюсь назначить цель для медиа-элемента (PDF). Когда я пытаюсь загрузить этот элемент мультимедиа, цель регистрируется в таблице PageEvents, но ценность посещения не меняется. Я нашел следующий код внутри StartTrackingProcessor:

Tracker.CurrentPage.OnCancel += (EventHandler)((obj, args) =>
{
    AcceptChangesArgs acceptChangesArgs = args as AcceptChangesArgs;
    if (acceptChangesArgs == null)
        return;
    VisitorDataSet.VisitsRow currentVisit = acceptChangesArgs.Visitor.CurrentVisit;
    if (currentVisit == null)
        return;

    Tracker.CurrentPage.RollBackValue(pageEventData, currentVisit);
});

Этот код предотвращает увеличение значения вовлеченности для страниц, которые были отменены где-то в конвейере. И затем я нашел код, который отменяет страницу в Sitecore.Analytics.RobotDetection.Media.MediaRequestEventHandler, где Sitecore.Analytics.RobotDetection.config включен:

using (new ContextItemSwitcher(obj))
{
    try
    {
        this.StartTracking();
        VisitorDataSet.PagesRow previousPage = Tracker.CurrentVisit.PreviousPage;
        if (previousPage != null)
        {
            Guid pageId = previousPage.PageId;
            foreach (VisitorDataSet.PageEventsRow pageEventsRow in Enumerable.ToArray<VisitorDataSet.PageEventsRow>(Tracker.CurrentPage.PageEvents))
                pageEventsRow.PageId = pageId;


            Tracker.CurrentPage.Cancel();
        }
        this.EndTracking();
    }
    catch (Exception ex)
    {
        Log.Error("Media request analytics failed", ex, this.GetType());
    }
}

Таким образом, этот MediaRequestEventHandler отменяет страницу, и, следовательно, ценность участия не увеличивается. Я могу переопределить это поведение или отключить RobotDetection.config, но я хочу понять последствия и почему это было сделано таким образом, и я знаю, что есть рекомендации не отключать Sitecore.Analytics.RobotDetection.config

Итак, мой вопрос: каков наилучший способ присвоить баллы посещению для загрузки медиа-элемента?

1 ответ

Решение

Для тех, кто может столкнуться с той же проблемой, вот ответ от поддержки sitecore. Такое поведение было сообщено как ошибка, и в качестве обходного пути они предложили закомментировать следующие строки в Sitecore.Analytics.RobotDetection.config:

<event name="media:request">
    <handler patch:instead="*[@type='Sitecore.Analytics.Media.MediaRequestEventHandler, Sitecore.Analytics']" type="Sitecore.Analytics.RobotDetection.Media.MediaRequestEventHandler, Sitecore.Analytics.RobotDetection" method="OnMediaRequest"/>
</event>
Другие вопросы по тегам