xDB не съхранява никакви взаимодействия

Актуализация: Така че проблемът беше, че моето приложение Global.asax.cs не произлиза от Sitecore.Web.Application.

Така че току-що инсталирах Sitecore 8 с MongoDB 2.6.11.

За тестови цели поставих кода по-долу в събитието за зареждане на страницата, за да активирам целта, която създадох по-рано в sitecore.

Целта беше създадена успешно чрез внедряване и публикуване. Също така потвърдих, че идентификаторът на артикула на целта е правилен.

    if (Sitecore.Analytics.Tracker.IsActive && Sitecore.Analytics.Tracker.Current.CurrentPage != null)
    {
       Sitecore.Data.Items.Item GoaltoTrigger = Sitecore.Context.Database.GetItem("{EDA8EA2C-7AF5-4D0F-AF76-A9C4E6BD7169}");
       if (GoaltoTrigger != null)
       {
           Sitecore.Analytics.Data.Items.PageEventItem registerthegoal = new Sitecore.Analytics.Data.Items.PageEventItem(GoaltoTrigger);
           Sitecore.Analytics.Model.PageEventData eventData = Sitecore.Analytics.Tracker.Current.CurrentPage.Register(registerthegoal);
           eventData.Data = GoaltoTrigger["Description"];
           Sitecore.Analytics.Tracker.Current.Interaction.AcceptModifications();
       }
    }
    Session.Abandon();

За съжаление това не проработи и не мога да видя целта в xDB под взаимодействия.

Други неща, които разгледах, е, че моето оформление определено има етикета

<sc:VisitorIdentification runat="server" />

моят Global.asax внедрява Sitecore.Web.Application

public class Global : Sitecore.Web.Application

И все пак няма късмет. Взаимодействията не могат да се видят в Mongo (използвайки mongo shell и roboMongo, за да търсите колекцията). Пропускам ли нещо друго?

въведете описание на изображението тук

въведете описание на изображението тук

Грешка в ядрото на сайта

ManagedPoolThread #3 16:43:00 INFO  Job ended: Sitecore.ListManagement.Analytics.UnlockContactListsAgent (units processed: )
12980 16:43:05 INFO  Cache created: '[no name]' (max size: 976KB, running total: 2918MB)
12980 16:43:05 INFO  Cache created: '[no name]' (max size: 976KB, running total: 2919MB)
12980 16:43:05 INFO  Cache created: '[no name]' (max size: 976KB, running total: 2920MB)
12980 16:43:05 INFO  Cache created: '[no name]' (max size: 976KB, running total: 2921MB)
12980 16:43:05 INFO  Cache created: '[no name]' (max size: 976KB, running total: 2922MB)
ManagedPoolThread #5 16:43:06 ERROR Failed to perform MaxMind lookup
ManagedPoolThread #5 16:43:06 ERROR Failed to perform GeoIp lookup for 127.0.0.1
Exception: Sitecore.Analytics.Lookups.CannotParseResponseException
Message: Unexpected format. Cannot parse the MaxMind response for IP address: 127.0.0.1

Source: Sitecore.Analytics
   at Sitecore.Analytics.Lookups.MaxMindProvider.GetInformationByIp(String ip)
   at Sitecore.Analytics.Lookups.GeoIpManager.GetDataFromLookupProvider(GeoIpHandle geoIpHandle)

12980 16:43:08 INFO  Cache created: 'WebUtil.QueryStringCache' (max size: 19KB, running total: 2922MB)
2700 16:43:08 INFO  HttpModule is being initialized
12360 16:43:08 INFO  HttpModule is being initialized
7068 16:43:08 INFO  HttpModule is being initialized
9940 16:43:10 INFO  [Experience Analytics]: Reduce agent found zero segments to process
ManagedPoolThread #1 16:43:10 INFO  Job started: Sitecore.ListManagement.Analytics.UnlockContactListsAgent
ManagedPoolThread #1 16:43:10 INFO  Job ended: Sitecore.ListManagement.Analytics.UnlockContactListsAgent (units processed: )

person Bobby    schedule 04.12.2015    source източник
comment
Бихте ли изяснили следното: 1) Има ли Interactions колекция във вашата analytics база данни MongoDB? 2) Има ли някакви документи в тази колекция? 3) Защо използвате приложния програмен интерфейс (API) за регистрация на събитие на страница, вместо да свържете целта с вашия елемент от съдържанието?   -  person Dmytro Shevchenko    schedule 04.12.2015
comment
Здравей @DmytroShevchenko, мога да потвърдя 1) има колекция Interactions в моите анализи MongoDB с 4 индекса. 2) Няма документи в колекцията Interactions 3) Планът е да поставим това създаване на цел в събитие с щракване на бутон, но за да опростя нещата и за тестови цели поставих кода в страницата за зареждане. Вижте изображението по-горе. Благодаря   -  person Bobby    schedule 04.12.2015
comment
Има ли грешки в регистрационните файлове на Sitecore?   -  person Dmytro Shevchenko    schedule 04.12.2015
comment
В момента го изпълнявате през powershell (вижте изображението по-горе) и не виждате нищо вълнуващо. това помага ли Sitecore Виждам грешка (вижте по-горе)   -  person Bobby    schedule 04.12.2015
comment
Коя точно версия на Sitecore използвате?   -  person Dmytro Shevchenko    schedule 04.12.2015


Отговори (1)


Задействащи цели

На първо място, това е правилният начин за задействане на цел:

if (Sitecore.Analytics.Tracker.IsActive)
{
    if (Sitecore.Analytics.Tracker.Current.CurrentPage != null)
    {
        var goalId = new Sitecore.Data.ID("{EDA8EA2C-7AF5-4D0F-AF76-A9C4E6BD7169}");

        Sitecore.Analytics.Data.Items.PageEventItem goalToTrigger =
            Sitecore.Analytics.Tracker.DefinitionItems.PageEvents[goalId];

        if (goalToTrigger != null)
        {
            Sitecore.Analytics.Model.PageEventData eventData =
                Sitecore.Analytics.Tracker.Current.CurrentPage.Register(goalToTrigger);
        }
        else
        {
            Sitecore.Diagnostics.Log.Error("Goal with ID " + goalId + " does not exist", this);
        }
    }
    else
    {
        Sitecore.Diagnostics.Log.Error("Tracker.Current.CurrentPage is null", this);
    }
}
else
{
    Sitecore.Diagnostics.Log.Warn("The tracker is not active. Unable to register the goal.", this);
}

Не трябва да се опитвате да промените данните за събитието, след като сте го регистрирали.

Освен това не трябва да извиквате Interaction.AcceptModifications(), тъй като този метод е нещо, което xDB използва вътрешно в даден момент.

CurrentPage.Register() е единственото нещо, което трябва да направите.

Край на сесията

Не препоръчвам да използвате Session.Abandon(). Това вероятно ще доведе до запазване на вашето взаимодействие в базата данни за събиране, но по този начин вие нарушавате нормалния поток на сесията на Sitecore. Един от проблемите, до които това може да доведе, е, че контактът на взаимодействието ще остане заключен за 21 минути (или каквото време за изчакване на вашата сесия е зададено на + 1 минута).

Вместо това, за целите на тестването, ви препоръчвам да зададете изчакване на сесията на 1 минута и просто да изчакате 1 минута след последната ви заявка за страница. Тази настройка се намира в Web.config като атрибут на <sessionState>.

Отстраняване на проблеми при запазване на взаимодействие

  1. Уверете се, че низът за свързване analytics е зададен правилно.
  2. Уверете се, че имате лиценз за xDB. Можете да видите списъка с наличните лицензи в Контролния панел на Sitecore –> Администриране –> Инсталирани лицензи.
    a) В Sitecore 8.0 или по-стара версия името на лиценза е Sitecore.OMS.
    b) В Sitecore 8.1 е Sitecore.xDB.base.
  3. Уверете се, че xDB и неговата подсистема за проследяване са активирани.
    a) В Sitecore 8.0 или по-стара версия Analytics.Enabled трябва да бъде зададено на true в Sitecore.Analytics.config.
    b) В Sitecore 8.1 и Xdb.Enabled, и Xdb.Tracking.Enabled трябва да бъдат зададени на true в Sitecore.Xdb.config.
  4. Проследяването също трябва да бъде активирано за дефиниции на сайтове.
    a) В Sitecore 8.0 или по-стара версия отидете на секцията <sites> в Web.config и проверете дали enableAnalytics е < strong>не е зададено на false на <site name="website"> или който и да е сайт, който използвате.
    b) В Sitecore 8.1 трябва да се уверите, че enableTracking е настроен на true за вашия сайт в Sitecore. конфигурация.
  5. Опитайте да направите няколко заявки за страници вместо само една, преди да оставите сесията да изтече.
  6. Опитайте да деактивирате откриването на роботи, като зададете Analytics.Robots.IgnoreRobots и Analytics.AutoDetectBots на false в Sitecore.Analytics.Tracking.config. Ако взаимодействията бъдат запазени след това, ще актуализирам отговора си с допълнителни инструкции.
  7. Ако нищо не помогне, преминете през стъпките, изброени в статията Отстраняване на проблеми с xDB данни.
person Dmytro Shevchenko    schedule 04.12.2015
comment
Благодаря за това. Ще пробвам това и ще се свържа с вас така или иначе. - person Bobby; 04.12.2015
comment
В 8.1 Analytics.Enabled се премества в Sitecore.Xdb.config и се преименува на Xdb.Tracking.Enabled. Запомнете също enableTracking="true" в дефинициите на вашия сайт (8.1). - person Søren Kruse; 04.12.2015
comment
Редът по-долу ми дава нула. Имайте предвид, че не съм създал събитие на страница, а само цел. Sitecore.Analytics.Data.Items.PageEventItem goalToTrigger = Sitecore.Analytics.Tracker.DefinitionItems.PageEvents[goalId]; - person Bobby; 05.12.2015
comment
@Боби целите са събития на страницата. Особен вид. Във всеки случай не вярвам, че регистрацията на целта е основният ви проблем тук. Справете се с проблемите си един по един. Първо трябва да се уверите, че взаимодействията (уеб посещенията) се запазват в MongoDB. Бих се опитал да премахна кода за регистрация на целта и просто да посетя няколко нормални страници, след като опитате всяка от стъпките, които описах. - person Dmytro Shevchenko; 05.12.2015
comment
Така че проблемът беше, че моето приложение Global.asax.cs не произлиза от Sitecore.Web.Application. Всичко работи сега. Благодаря за връзката за отстраняване на неизправности. Ще актуализирам въпроса. - person Bobby; 07.12.2015