연락처 카드에서 누락 된 경험 프로필 필드 데이터 : 이름

Nov 19 2020

조언을 구하고 싶은 매우 이상한 문제가 발생했습니다. 제대로 작동하는 Experience Profile-Sitecore 9.1에서 사용자 지정 패싯을 구현했습니다. 내 환경에는 전혀 문제가 없습니다. 그러나 테스트를 위해 배포 된 후 연락처의 일부 (변경 전후에 추가됨)에 대해 표준 이름 필드가 경험 프로필에 표시되지 않습니다. 일관성이 없습니다. 때로는 특정 연락처의 이름이 돌아 오지만 대부분의 경우 이름이 없습니다. 동시에 모든 연락처의 이름은 목록 관리자에 표시됩니다.

도움이되지 않은 xDB 검색 인덱스를 다시 작성하려고했습니다.

경험 프로필의 모습은 다음과 같습니다.

다음은 목록 관리자입니다.

업데이트 : 내가 추가 한 패싯에 대한 자세한 내용은 다음과 같습니다. 사용자가 양식을 작성할 때 (예 : 강아지 투표 경연 대회에서 강아지를 선택하는) 특정 선택을 반영하기 위해 필요했습니다.

다음은 내가 작동하고 프로필에 표시하는 데 사용한 구성입니다.

  <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; }
  }

다음은 배포 된 json 파일입니다.

  • xconnect 인스턴스 휴식 경로 \ App_Data \ Models
  • xconnect 인스턴스 루트 경로 \ App_Data \ jobs \ continuous \ IndexWorker \ App_data \ Models

https://gist.github.com/epetrashen/3ff4a920496ddffda2c2528aa9064bda (링크에 대해 죄송합니다. 붙여넣고 코드로 표시하려고하면 올바른 형식으로 json을 표시 할 수 없습니다.)

EPEXpress 탭을 사용하여 연락처 카드에 패싯 콘텐츠를 표시합니다. 또한 여기에 설명 된 방법을 사용하여 .csv 내보내기에 추가했습니다. 목록 관리자를 사용하여 연락처와 관련된 모든 정보 내보내기

답변

1 PeteNavarra Nov 21 2020 at 02:39

이 특정 시나리오에서는 사용자 지정 연락처 패싯이 올바르게 적용되고 xDB가 예상대로 개인 패싯을 올바르게 캡처하고 저장하는 것으로 보입니다.

테스트 한대로 작동하는지 확인하기위한 사항은 다음과 같습니다.

  1. 목록 관리자를 열고 연락처에 성과 이름이 표시되는지 확인합니다.
  2. 체험 프로필은 체험 프로필의 제목으로 입증 된 이름을 읽을 수 있습니다.

문제가 작동하기 위해 경험 프로필을 변경하는 EPEXpress Tab의 타사 코드와 관련이있을 수 있습니다. 해당 모듈에 개발자에게 연락해야하는 알려진 문제가있을 수 있습니다.

Jeff Darchuk 은 여기에서 찾을 수있는 EPExpress 탭의 작성자입니다.https://github.com/JeffDarchuk/EPExpressTab

1 ElenaP Dec 08 2020 at 03:51

문제는 경험 프로필에 탭 콘텐츠를 표시하는 데 사용한 .cshtml 파일에있는 것으로 밝혀졌습니다.이 문제는 전혀 내 레이더 아래에 있지 않았습니다. Sitecore 지원의 Sergey가이 사실을 지적했습니다. 내 탭의 콘텐츠를 "Details"탭과 같은 스타일로 유지하고 싶었 기 때문에 Details에서 일부 마크 업을 복사했는데 다음과 같이 보입니다.

<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>

(FirstNameBorder, FirstNameLabel 등에 특별히 첨부 된 스타일이 있습니다.)

따라서 FirstNameBorder가 두 번 렌더링되었고 이로 인해 충돌이 발생했습니다.