MS CRM 2011 Customer Portal Implementation using eService Membership authentication

The accelerators provided for use with MS CRM 2011 are a starting point and are intended to modified. In CRM 4.0 we used eService, but we need to move from the eService accelerator to the new Customer Portal with the upgrade to CRM 2011.

One of the things that put me off immediately was the change in the authentication.  I understand that the LiveID provides a plethora of advantages, but most companies are trying to do these types of upgrades seamlessly.  If you have authentication already set up for your customers asking them to redo their authentication almost makes you look incompetent.  With all of that said.  I am implementing the customer portal without the LiveID authentication. This means that I  skip some steps in the installation guide as they will not be relevant to my implementation.

Link to the Portal Download

I have the download of the customer portal on two servers.  The one I have on my actual CRM server and the one I have on my web development server.  Extract the contents of the cab file you have downloaded on both servers.

We start by working on the CRM server and getting the solution imported into CRM.

Using the installation guide which is under documentation in the cab file you downloaded.  I am doing an On-Premise installation.

I pretty much skipped all of the prerequisites in the documentation and started with the Deployment step #1. It is pretty intuitive and I basically just followed along easily.

The import file that you will need for c.  is kind of buried in the folder… \customerportal\\CustomerPortal\CustomerPortal\ which is in the extracted cab file.

Step 2 is not going to be relevant either for my implementation.  The invitation process will be addressed later.

Step 3.  Not as intuitive.  You will need to find the Websitecopy.exe inside of the sdk that you should have also downloaded.

SDK download link

I used the alternate approach using the GUI.  and followed steps a-g.  These were fairly intuitive.  For my authentication I selected Integrated.  I stopped at step 4 because this deals with registering your application against the WILD you would have set up, that I did not.

So right now my site has been imported into CRM and I have another version of it sitting in Dev environment on web server.  You are not going to have your Customer Portal on the same server as your CRM, but you do need to get your customizations into the version on your web server. This is done with the CrmSvcUtil file inside the \customerportal\\CustomerPortal\CustomerPortal\CustomerPortal\crmSvcUtil

This is a command file that you can open in note pad.  This command regenerates the Xrm.cs file which you will need to copy from the CRM server to the new web server where your portal will live.  Open the CrmSvcUtil and remove the first line that is for online.

The one you want to use should look like this below.

$0\..\..\Microsoft.Xrm\bin\CrmSvcUtil /codeCustomization:”Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration” /out:Xrm\Xrm.cs /url:http://Crm/Contoso/XRMServices/2011/Organization.svc /domain:CONTOSO /username:administrator /password:pass@word1 /namespace:Xrm /serviceContextName:XrmServiceContext /serviceContextPrefix:Xrm

You will need to update the red items to your environment.  One issue I ended up with is that this will by default this spit out everything in this file, which you will see the issue with that after you copy that file over the one in your web server project. If you have items in multiple entities you will get a lot of duplicate attributes in the get set properties area that you will need to remove or address.  All of the duplicates I had were easily just removed and not needed.  Problem with this approach is if I add additional custom fields and need to regenerate this file again I will have to go through that process of removal again.

Now I need to open the Customer Portal solution and to set it to work with my existing authentication I sparingly followed this blog to remove the references to the LiveID authentication.

Some of the code in the Portal had changed from when It was written, but I found I could muddle through it pretty easily.

I needed to make different changes to my web.config to use the aspNetSqlMembershipProvider . I added a new connectionstring that referenced in the following code.

I then set Directory Security to Integrated Authentication in IIS.

Now I have users already assign to users inside of my existing ASP membership.  I will need to reassign those.

I created a page in  Customer Portal called newuser.aspx and added the following asp:createuserwizard control.

I added this newly created page to the contact entity form as a iFrame referencing the URL in my Customer Portal site and added above the web authentication tab.

The administrator will create the new user in the wizard and simply assign the username to the contact and set the logon enabled all right there in CRM.  I do not need to do anything with any of the other fields at this point.  I will probably end up with an iFrame that will allow me to manage all of those items directly from the ASP Membership controls

I hate what I have done here… please reference my new post for a more streamlined contact sign up it uses a workflow to send an invite and the contact creates their own credentials like the original eService

The next part is to set up the Case Access Permission, Account Access Permission and Contact Access Permission.

The system will allow you to add access to multiple account’s cases, but I have not found that it will actually display any of the cases that are not assigned to the parent account of the contact or to a contact who also has the same parent account depending on the scope of the access.  I am still looking for a way to access that functionality.  I feel that allowing contacts to have access to multiple cases, for instance where it is a service technician who enters cases or is a consultant that works with multiple accounts.  At this time we end up with multiple contact records for the same user.

Good luck with your Customer Portal implementation and let me know if I can be assistance.

About dorothyjarry

Super Dots
This entry was posted in CRM, CRM 2011, Customer Portal, Dynamics. Bookmark the permalink.

12 Responses to MS CRM 2011 Customer Portal Implementation using eService Membership authentication

  1. Right away I am ready to do my breakfast, when having my breakfast coming yet again to read other news.


  2. I like the helpful info you provide in your articles. I will bookmark your blog and check again here regularly. I am rather certain I will be told many new stuff right right here! Good luck for the following!


  3. Ezequiel Santana says:

    Really good post. Thanks for sharing your knowledge.


  4. I’d prefer to thank you for that efforts you’ve made in writing this post. I am hoping the exact same greatest get the job done from you within the long term also. In reality your inventive writing abilities has inspired me to begin my personal BlogEngine weblog now.


  5. Normally I don’t learn article on blogs, but I would like to say that this write-up very forced me to try and do it! Your writing style has been amazed me. Thank you, quite great post.


  6. Jesus Sauby says:

    Merely wanna input on few general things, The website design and style is perfect, the content is rattling good : D.


  7. I am not sure if you are aware of this. I read a submit just
    like MS CRM 2011 Customer Portal Implementation using eService Membership authentication | dorothyjarry the other
    day on … crapski I can’t remember the website just now but it was also about desktop publishing too. I will get back to you if it comes to me.


  8. Hola! I’ve been following your weblog for some time now and finally got the
    courage to go ahead and give you a shout out from New Caney Texas!
    Just wanted to tell you keep up the excellent job!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s