Я использую 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.
Итак, мой вопрос: как лучше всего назначать баллы за посещение для загрузки медиа-элемента?