Edit Profile Schema for Sitecore Integration
Enable the provider to process incoming data requests to get or set Sitecore Commerce 8.2 powered by Commerce Server and Commerce Server 11.4 profile data.
Complete the following prerequisites:
Your profile schema is already defined and setup
At your Visual Studio solution setup:
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>
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.2 powered by Commerce Server and Commerce Server 11.4 site 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
Update Sitecore Commerce 8.2 powered by Commerce Server and Commerce Server 11.4 Profile Schema.
Make the following Sitecore Commerce 8.2 powered by Commerce Server and Commerce Server 11.4 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 uniqueAdd a new
GeneralInfo.Comment
profile property that maps to the comment column