Edit Sitecore Commerce 8.0 powered by Commerce Server and Commerce Server 11.2 Profile Schema for Sitecore Integration

Enable the provider to process incoming data requests to get or set Sitecore Commerce 8.0 powered by Commerce Server and Commerce Server 11.2 profile data.

Complete the following prerequisites:

At your Visual Studio solution setup:

  1. Insert a new add element underneath the properties element of the profile section of the web.config
    type
    .NET type of the property
    name
    key that will be used to get or set the property value in the profile property collection object of a user
    customProviderData
    value must start with cs| or the Commerce Server Profile Provider will ignore the property, rest of the value must be the full name of the property on the UserObject profile
    <profile defaultProvider="switcher" enabled="true" inherits="Sitecore.Security.UserProfile, Sitecore.Kernel">
      <providers>
        <add name="cs" type="CommerceServer.SitecoreIntegration.CommerceServerProfileProvider, CommerceServer.SitecoreIntegration" applicationName="sitecore" readOnly="false" />
        <add name="sql" type="System.Web.Profile.SqlProfileProvider" connectionStringName="core" applicationName="sitecore" />
        <add name="switcher" type="Sitecore.Security.SwitchingProfileProvider, Sitecore.Kernel" applicationName="sitecore" mappings="switchingProviders/profile" />
      </providers>
      <properties>
        <add type="System.String" name="SC_UserData" />
        <add type="System.String" name="user_id" customProviderData="cs|GeneralInfo.user_id" />
        <add type="System.String" name="email_address" customProviderData="cs|GeneralInfo.email_address" />
        <add type="System.String" name="preferred_address" customProviderData="cs|GeneralInfo.preferred_address" />
        <add type="System.String" name="address_list" customProviderData="cs|GeneralInfo.address_list" />
        <add type="System.String" name="preferred_credit_card" customProviderData="cs|GeneralInfo.preferred_credit_card" />
      </properties>
  2. If you are using Sitecore to control your authentication, ensure the UserObject table can accept null values.
    Make the following changes in your Sitecore Commerce 8.0 powered by Commerce Server and Commerce Server 11.2site profile database UserObject table:
    • Drop indexes: Idx_UserObject_liveid, Idx_UserObject_emailaddress
    • Drop columns: u_live_id_make_unique, and u_live_id
    • Alter u_email_address column to be NVARCHAR(64) and allow NULL
    • Add column: u_external_id NVARCHAR(256) NOT NULL
    • Add column: u_comment NVARCHAR(256) NULL
    • Create Index on: u_external_id, UNIQUE NONCLUSTERED INDEX and ASC
  3. Update Sitecore Commerce 8.0 powered by Commerce Server and Commerce Server 11.2 Profile Schema.
    Make the following Sitecore Commerce 8.0 powered by Commerce Server and Commerce Server 11.2 Profile Schema changes:
    • Make sure email_address and the data member it maps to are no longer required
    • Add a new GeneralInfo.ExternalId profile property that maps to the external id column, it must be required and unique
    • Add a new GeneralInfo.Comment profile property that maps to the comment column