Edit Profile Schema for Sitecore Integration
Enable the provider to process incoming data requests to get or set Sitecore Commerce 8.1 powered by Commerce Server and Commerce Server 11.3 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 theweb.config
file.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 withcs|
or the Commerce Server Profile Provider will ignore the property. The 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.1 powered by Commerce Server and Commerce Server 11.3 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.1 powered by Commerce Server and Commerce Server 11.3 Profile Schema.
Make the following Sitecore Commerce 8.1 powered by Commerce Server and Commerce Server 11.3 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