Thursday, June 3, 2010

Customer Portal Accelerator's Content Management

In this brief lesson I'll describe the basic setup of the content management role in the Customer Portal Accelerator. This lesson will focus on setting up a power user that can modify the look and feel of the website by simply logging into the portal.

First things first, read the Content Management Guide located within the documentation folder. This document is found in your install files you got from CodePlex.

Setting up a Power User:
To set up a power user, go to the Content Management tab located in the main bar on the left and navigate to Web Roles.

If the Customer Portal Administrators role does not exist, you'll need to create it. Just select New, name it Customer Portal Administrators and set it to your website.

Once this is done you'll add a Contact record to the role. This Contact needs to have already registered with the website.

Now login to the website with this Contact and you'll see the various Edit buttons and WYSIWYG areas.

Troubleshooting:
If you're not seeing any of the Edit buttons, you should verify two things:

1. Make sure your web.config has this node in it:
<location path="Services/Cms.svc">
<system.web>
<authorization>
<allow roles="Customer Portal Administrators"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
Notice this node has the Customer Portal Administrators role defined.
 
2. Make sure the server the website is hosted on has the WCF roles needed.
Verify:
.Net 3.0 is installed.
Windows Communication Foundation HTTP Activation is turned on.
Windows Communication Foundation Non-HTTP Activation is turned on.
 
Conclusion:
With this post you should now be able to hand off the design of the website to a webmaster or marketing user. To restrict their access simply remove them from the role and they will no longer be able to update.
My next post will deal with adding custom controls to the website to add another layer of functionality.
 
Happy Coding!

Tuesday, June 1, 2010

Installing Customer Portal Accelerator for Dynamics CRM 4.0

This post will focus on the Customer Portal Accelerator developed by CodePlex. According to CodePlex:
"The Customer Portal accelerator for Microsoft Dynamics CRM provides businesses the ability to deliver portal capabilities to their customers while tracking and managing these interactions in Microsoft Dynamics CRM"

I see this tool as a great way to set up meeting hubs (webinar, online tutorials, etc) and to utilize Web To Lead functionality. The Portal can use an internal login or Windows LiveID which is a big advancement over the eService Portal. The interface can be modified simply by logging in and selecting which section of the webpage to modify. All values are stored in the database and can be modified on the fly.

The meeting feature allows your organization to set up marketing lists that can be e-mailed a direct link to your event. However you can also host an open registration event for things like a webinar or open house. When the user registers CRM will store a response from the contact if they are in your system. If they aren't in your system, the Portal will create a Lead. All of this is tied back to the Windows LiveID. Once a user is logged in they can see various events your organization will host throughout the calendar year.

Installation:
The installation is quite simple and if you follow the documentation you shouldn't have a problem. I would suggest backing up the entities it wants to overwrite as well as your ISV Config and your sitemap. You will need a Windows LiveID to get the Application ID. I would recommend creating a LiveID for your company as this App ID will be linked directly to the LiveID.

Suggestions:
When installing you will need to manually create a website in IIS. Move the website provided into a new folder where you see fit (i.e. c:\inetpub\wwwroot\CustomerPortal).
I ran into issues with the WebsiteCopy.exe command line input.
Here's what I used:
websitecopy.exe /targetconnectionstring:"Authentication Type=AD; User ID=domain\username; Password=password; server=http://server:port/OrgName" /targetwebsitename:"Customer Portal" /sourcefile:"C:\Documents and Settings\Administrator\Desktop\CUSTOMER_PORTAL_RTW_R1\Installation\Customizations\customerportal.xml"

When I ran this for the server property I used localhost. This will register the site inside of CRM, NOT create the website in IIS.
The other issue I ran into was modifying the web.config.
<appSettings>
<add key="crm-site" value="Customer Portal"/> <!-- Make sure to change this to the name you used in IIS -->
<add key="Microsoft.Xrm.Portal.Web.CmsServiceBaseUri" value="/Services/Cms.svc"/>
</appSettings>
And for the connection strings:
<connectionStrings>
<add name="Xrm" connectionString="Authentication Type=AD; Server=http://localhost:port/orgname; User ID=domain\username; Password=Password; />
<add name="Live" connectionString="Application Id=FromLiveIDWebsite; Secret=FromLiveIDWebsite"/>
</connectionStrings>
Again this is ONLY FOR IFD. There is additional connection string advice located within the install documentation.
 
Once this is done you should be able to access your site and login using Windows LiveID credentials.
 
My next post will deal with modifying access for individuals including Webmasters, generic users and your marketing team.
 
Happy Coding!