Functionality of EPiServer Connect for CRM
|
Product version: |
EPiServer Connect for CRM 1.0 |
|
Document version: |
1.0 |
|
Document last saved: |
03-10-2008 |
Introduction
This Tech Note contains functional descriptions of EPiServer Connect for CRM. EPiServer Connect for CRM is designed to provide connections for CRM applications Microsoft CRM and SalesForce Web Services. EPiServer Connect for CRM contains a framework allowing partners to configure and work with any of these CRM applications. Find out more in the following.
System description
Overview
EPiServer CRM Connector is a special control for provide connection between EPiServer CMS and CRM systems. It allows creating a CRM account for every Web site visitor. This information can be used in dynamic site-content creation.
This window below is an overview of UI of CRM Connector control.

Connector preview
The information in CRM applications can be very useful for creating dynamic Web site content. It allows support a user with special information like prices, contacts, discounts and so on. CRM Connector implements API for selecting this information from CRM and provides easy way to use this information in Web site content.
Solution structure
The CRM Connector solution contains five main projects and two special projects.
EPiServer.CRMConnector.Core
This project contains core wrapper classes to communicate with CRM application Web services. According to the current implementation it has two set of wrappers for Microsoft CRM and Sales Force Web Services.
EPiServer.CRMConnector.Business
This project contains classes that represent business entity of CRM applications. According to the solution architecture it defines a set of interface that allows work with entity without binding with a specific CRM.
EPiServer. CRMConnector.Configuration
This project contains configuration wrapper classes that allow extract settings from configuration files. These classes are used in EPiServer.CRMConnector.Business project during the business entity creating process.
EPiServer. CRMConnector.Provider
This project contains an implementation of Profile provider and Role provider. Profile provider contains functionality to working with the user account information of CRM data storage. Role provider contains functionality to verifying is the user belongs to one of three groups (Low, Medium, High groups) which are in CRM data storage.
EPiServer. CRMConnector.UI
This project contains an UI controls that are used in CRM Connector registration wizard.
EPiServer.CRMConnector.License
This is a special project that generates a license file for CRM Connector solution. If you have not the CRM license file you cannot run any of CRM Connector functionality.
EPiServer. CRMConnector.Sample
This is a special project that is used for generation ZIP module package that can be easy installed on any web site using EPiServer CMS.
Configuration
EPiServer CRM Connector Core
EPiServer CRM Connector Core settings are configured in web.config in the “crmConnector”-sections. The detail descriptions of them are in “CRM configuration” document file. Settings are used in EPiServer CRM core for correct working of EPiServer CMR Connector Wizard, CRM UserProfile provider, CRM VirtualRole provider. The detail descriptions of them are in “EPiServer CRM Connector Installation Instruction” document file.
EPiServer CRM Connector Wizard
EPiServer CRM Connector Wizard settings are configured in web.config in the “crmConnector”-sections. The detail descriptions of them are in “EPiServer CRM Connector Installation Instruction” document file.
EPiServer CRM Virtual Role Provider
EPiServer CRM Virtual Role provider settings configured in web.config in the “virtualRoles”-section. The detail descriptions of them are in “CRM configuration” document file.
This is the configuration of the EPiServer CRM Connector Core:
<virtualRoles replacePrincipal="true">
<providers>
<add name="Low" type="EPiServer.CRMConnector.Provider.CRMVirtualRoleProvider, EPiServer.CRMConnector.Provider" propertyName="LowRole" propertyValue=”true” />
<add name="Medium" type="EPiServer.CRMConnector.Provider. CRMVirtualRoleProvider, EPiServer.CRMConnector.Provider" propertyName="LowRole" propertyValue=”true”/>
<add name="High" type="EPiServer.CRMConnector.Provider.CRMVirtualRoleProvider, EPiServer.CRMConnector.Provider" propertyName="LowRole" propertyValue=”true”/> </providers>
</virtualRoles>
The “propertyName”-attribute contains a name of the property in the user profile section.
EPiServer CRM File Provider
EPiServer CRM Virtual Role provider settings configured in web.config in the “profile”-section. The detail descriptions of them are in “EPiServer CRM Connector Installation Instruction” document file.
Functionality
EPiServer CRM Connector Wizard
The EPiServer CRM Connector Wizard is a special Web control that provides registration of a user in the CRM application and in the EPiServer Membership data storage. The wizard control contains four steps described in the following.
Step 1. Entering the user e-mail address
For a succesful CRM registration, the user must first pass the e-mail address verification. In the registration window, the user enters an e-mail address which will be checked for validity. When the user clicks on "Next", the wizard will send a special confirmation code to this e-mail address.

The confirmation code will then be used in the next step of the registration procedure.
Step 2. Entering the confirmation code
In the next step, the user will enter the confirmation code received through the verification e-mail, in the registration window. Also a "CAPTCHA" picture symbol code must be entered as validation in the registration procedure.

Clicking on "Next" will take the user to step three of the registration procedure.
Step 3. Entering user information
If the verification is successful, the user will be able to enter personal user information in the third step of the registration. This information will be added to the CRM database tables. If the user is associated with a company, the user can select appropriate settings for this company, or add a new company to the list. The user can also choose not to be associated with a company. Finally, the user will set a password for the account.

Step 4. Registration confirmation
In the final step, the user receives a confirmation page. A user account has now been created in the CRM data storage and in the EPiServer CMS membership provider data storage. The user as now able to login to the EPiServer CMS Web site using the e-mail address as user name, and the password set in the previous step.

EPiServer CRM Virtual Role Provider
The functionality of the EPiServer CRM Virtual Role Provider can be used in the appropriate C# code according to standard usage, as the following example:
if (VirtualRoles.IsPrincipalInVirtualRole(genericPrincipal, “Low”, null))
{
// TO DO something
}
Architectural Notes
- When the CRM demo package is being creating, some files are copied from the UI project to the Sample project. Check the view UpdateSampleFromUI target of the crmconnector.targets file.
- To get a new license file you can use the EPiServer.CRMConnector.License project. You will need to copy the LicensePublicKey.key file into the same directory where the EPiServer.CRMConnector.License.exe file is, and then run this command in command line:
EPiServer.CRMConnector.License.exe /mac:<MAC address of PC> /name:LicenseName /inputRsa:LicensePublicKey.key /license:
LicenseFileName
This will generate a License.config file that will need to be placed into the Web site.
- The solution class diagram is available in the EPiServer.CRMConnector.Business project.