In Kontaktkarte fehlende Erfahrungsfelddaten: Vorname
Ich bin auf ein sehr seltsames Problem gestoßen, zu dem ich gehofft hatte, einen Rat zu bekommen. Ich habe eine benutzerdefinierte Facette in Experience Profile - Sitecore 9.1 implementiert, die einwandfrei funktioniert. In meiner Umgebung gibt es überhaupt kein Problem. Nach der Bereitstellung zum Testen ist jedoch für den Teil der Kontakte (der vor und nach meinen Änderungen hinzugefügt wurde) das Standardfeld "Vorname" im Erfahrungsprofil nicht vorhanden. Es ist nicht konsistent: Manchmal ist der Vorname für einen bestimmten Kontakt zurück, aber meistens ist er nicht da. Gleichzeitig wird bei allen Kontakten der Vorname im Listenmanager angezeigt.
Ich habe versucht, den xDB-Suchindex neu zu erstellen, das hat nicht geholfen.
So sieht es im Erfahrungsprofil aus:

Hier ist der Listenmanager:

Update: Hier sind weitere Details zu der Facette, die ich hinzugefügt habe: Ich brauchte sie, um eine bestimmte Auswahl widerzuspiegeln, die der Benutzer beim Ausfüllen des Formulars trifft, dh einen Welpen im Welpenwahlwettbewerb auswählt.
Hier ist die Konfiguration, die ich verwendet habe, damit sie funktioniert und im Profil angezeigt wird:
<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; }
}
Hier ist eine JSON-Datei, die bereitgestellt wird für:
- xconnect Instanz-Roost-Pfad \ App_Data \ Models
- Stammpfad der xconnect-Instanz \ App_Data \ jobs \ Continuous \ IndexWorker \ App_data \ Models
https://gist.github.com/epetrashen/3ff4a920496ddffda2c2528aa9064bda (Entschuldigung für den Link, ich konnte den JSON nicht in der richtigen Formatierung anzeigen lassen, wenn ich ihn einfüge und versuche, ihn als Code anzuzeigen.)
Ich verwende die Registerkarte EPEXpress, um den Facetteninhalt in Contact Card anzuzeigen. Ich habe es auch auf die hier beschriebene Weise zum CSV-Export hinzugefügt: Exportieren Sie alle Informationen zu Kontakten mit dem Listen-Manager
Antworten
In diesem speziellen Szenario scheint Ihre benutzerdefinierte Kontaktfacette korrekt angewendet zu sein und xDB erfasst und speichert die persönliche Facette erwartungsgemäß korrekt.
Zu den Dingen, die Sie getestet haben, um sicherzustellen, dass es funktioniert, gehören:
- Öffnen Sie den Listen-Manager und sehen Sie, dass die Kontakte Vor- und Nachnamen anzeigen.
- Das Erfahrungsprofil kann den Namen lesen, der im Titel des Erfahrungsprofils angegeben ist.
Es scheint, dass Ihr Problem den Code eines Drittanbieters von EPEXpress Tab betrifft, der Änderungen am Erfahrungsprofil vornimmt, um zu funktionieren. Möglicherweise gibt es ein bekanntes Problem mit diesem Modul, das Sie an die Entwickler weiterleiten müssen.
Jeff Darchuk ist der Autor des EPExpress-Tabs, den Sie hier finden:https://github.com/JeffDarchuk/EPExpressTab
Es stellte sich heraus, dass das Problem in der .cshtml-Datei lag, mit der ich den Inhalt der Registerkarte in Experience Profile angezeigt habe - und es kam überhaupt nicht unter mein Radar, darauf hat mich Sergey vom Sitecore-Support hingewiesen. Ich wollte den Inhalt in meinem Tab im selben Stil wie den Tab "Details" behalten, also habe ich ein Markup aus Details kopiert und es sah folgendermaßen aus:
<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>
(Es gibt Stile, die speziell an FirstNameBorder, FirstNameLabel usw. angehängt sind.)
FirstNameBorder wurde also zweimal gerendert und es gab Konflikte.