Brak danych pola profilu doświadczenia na karcie kontaktu: Imię

Nov 19 2020

Napotkałem bardzo dziwny problem, w sprawie którego miałem nadzieję uzyskać porady. Zaimplementowałem niestandardowy aspekt w profilu doświadczenia - Sitecore 9.1, który działa dobrze. W moim środowisku nie ma żadnego problemu. Jednak po wdrożeniu do testów dla części kontaktów (dodanych przed i po moich zmianach) standardowe pole Imię nie jest obecne w Profilu doświadczenia. To nie jest spójne: czasami imię wraca do konkretnego kontaktu, ale w większości przypadków go tam nie ma. W tym samym czasie wszystkie kontakty mają swoje imię widoczne w Menedżerze list.

Próbowałem odbudować indeks wyszukiwania xDB, ale to nie pomogło.

Oto, jak to wygląda w profilu doświadczenia:

Oto menedżer list:

Aktualizacja: Oto więcej szczegółów na temat dodanego aspektu: potrzebowałem go, aby odzwierciedlić konkretny wybór, którego dokonuje użytkownik, wypełniając formularz, tj. Wybiera szczeniaka w konkursie głosowania na szczeniaki.

Oto konfiguracja, w której działał i wyświetlał się w profilu:

  <sitecore>
    <dataAdapterManager defaultProvider="xconnect">
      <providers>
        <add name="xconnect" type="Sitecore.Analytics.XConnect.DataAccess.XConnectDataAdapterProvider, Sitecore.Analytics.XConnect" fallbackProvider="mongo">
          <facets hint="raw:AddFacet">
            <facet facetKey="ChosenPuppy" />
          </facets>
        </add>
      </providers>
    </dataAdapterManager>

    <xconnect>
      <runtime type="Sitecore.XConnect.Client.Configuration.RuntimeModelConfiguration,Sitecore.XConnect.Client.Configuration">
        <schemas hint="list:AddModelConfiguration">
          <schema name="PuppyFacetModel" type="Sitecore.XConnect.Client.Configuration.StaticModelConfiguration,Sitecore.XConnect.Client.Configuration" patch:after="schema[@name='collectionmodel']">
            <param desc="modeltype">AcmeCorporation.Feature.TestFeature.Models.ChosenPuppyFacet.PuppyFacetModel, AcmeCorporation.Feature.TestFeature</param>
          </schema>
        </schemas>
      </runtime>
    </xconnect>
  </sitecore>


  public class PuppyFacet: Facet
  {
      public const string FacetName = "ChosenPuppy";

      public const string FacetFriendlyName = "Chosen Puppy";

      public string ChosenPuppy { get; set; }
  }

Oto plik json wdrożony w:

  • Ścieżka roost wystąpienia xconnect \ App_Data \ Models
  • Ścieżka główna wystąpienia xconnect \ App_Data \ jobs \ continuous \ IndexWorker \ App_data \ Models

https://gist.github.com/epetrashen/3ff4a920496ddffda2c2528aa9064bda (przepraszam za link, nie mogłem wyświetlić pliku json w odpowiednim formatowaniu, jeśli go wkleię i spróbuję wyświetlić jako kod)

Używam zakładki EPEXpress, aby wyświetlić zawartość aspektu na karcie kontaktu. Dodałem go również do eksportu .csv w sposób opisany tutaj: Eksportuj wszystkie informacje związane z Kontaktami za pomocą Menedżera list

Odpowiedzi

1 PeteNavarra Nov 21 2020 at 02:39

W tym konkretnym scenariuszu wydaje się, że Twój niestandardowy aspekt kontaktu jest prawidłowo stosowany i xDB prawidłowo przechwytuje i przechowuje aspekt osobisty, zgodnie z oczekiwaniami.

Sprawy, które sprawdziłeś, aby upewnić się, że działa, obejmują:

  1. Otwieram Menedżera list i widzę, że kontakty pokazują imię i nazwisko.
  2. Profil doświadczenia może odczytać imię, o czym świadczy tytuł w profilu doświadczenia.

Wydaje się, że Twój problem może obejmować kod strony trzeciej karty EPEXpress Tab, który wprowadza zmiany w Profilu Doświadczenia, aby działał. Możliwe, że istnieje znany problem z tym modułem, w sprawie którego musisz skontaktować się z programistami.

Jeff Darchuk jest autorem zakładki EPExpress, którą można znaleźć tutaj:https://github.com/JeffDarchuk/EPExpressTab

1 ElenaP Dec 08 2020 at 03:51

Problem okazał się być w pliku .cshtml, którego użyłem do wyświetlenia zawartości zakładki w Profilu Doświadczenia - i nawet nie dostałem się pod mój radar, zwrócił mi na to uwagę Sergey z Sitecore Support. Chciałem zachować zawartość na mojej karcie w tym samym stylu, co na karcie „Szczegóły”, więc skopiowałem część znaczników z sekcji Szczegóły i wyglądało to tak:

<div data-sc-id="FirstNameBorder" class="sc-border sc_Border_505 data-sc-registered">
   <span data-sc-id="FirstNameLabel" class="sc-text sc_Text_436 data-sc-registered">@Model.PuppyLabel</span>
   <span data-sc-id="FirstNameValue" class="sc-text sc_Text_439 data-sc-registered">@Model.PuppyName</span>
</div>

(istnieją style dołączone specjalnie do FirstNameBorder, FirstNameLabel itp.)

Tak więc FirstNameBorder został wyrenderowany dwukrotnie i z tego powodu wystąpiły konflikty.