CRM 2011 IFD Multi-Tenency Migration Tips

image

Today we posted a blog about How to configure IFD Hosted Setup in CRM 2011

Following on from that we tested the migration from CRM 4.0 hosted CRM instillations to the newly configured test environment for CRM 2011.

We ran into a few problems (and a few things we did not know) and thought others may benefit from this.

CRM Migration

The process was reasonably simple for us and for that reason we will just list the steps.

  1. Backup the CRM 4.0 database to file.
  2. On the new CRM 2011 SQL server, perform a normal SQL database restore from the backup file.
  3. Use the CRM 2011 deployment tool to “Import and Organisation”. Specifying the obvious settings for the database selection and user mapping. (In our case, we were on the same domain, so user mapping was easy).

All this worked well, but there were a few problems when we went to browse the new Org from outside the server. In other words, using the IFD to access the org.

Internally the org was accessible with https://internalcrm.domain.com/orgname  but external access: https://orgname.domain.com:xxx  failed.

The Problems

First one

Was simple but only because we have seen it before. Originally we had accessed the org from our IE 9 browser with https://org.domain.com and accessed the CRM 4.0 IFD. Actually we used it for over a year.

Now we wanted to use the new IFD on CRM 2011, but on the same browser. We found when going to: https://org.domain.com:444 that the browser was not even rendering the request for user name and pass that we expected:

The IE failure gave no message or indication of why. Basically a 404 failure to hit anything useful.

Yet in another “real browser” (not IE) we could at least get prompted for user and pass info.

The Cause

IE really sucks with clearing old data. The delete all / clear cache / remove cookies appears on the outset to dump everything, but it does not. In our case, it cached something from the previous connection to CRM 4.0 that was killing our access. We then also deleted data in “C:\Windows\Temp”  Can’t explain what the cause is… I would just rather put it down to the fact that IE 9 “blow chunks” (big ones).

The solution is to manually navigate to the Temporary Internet Files directory under Windows, and manually delete everything you find in there. That fixes the page rendering issue.
More information here: http://www.interactivewebs.com/blog/index.php/crm/crm-2011-server-error-404-file-or-directory-not-found/

The Second One

Second, we entered a user name and pass, and received a message:

There was a problem accessing the site. Try to browse to the site again. If the problem persists, contact the administrator of this site and provide the reference number to identify the problem. Reference number: numbers

There was a matching set of AD FS 2.0 Event Logs that looked like this:

image

A token request was received for a relying party identified by the key ‘https://org.domain.com:444/default.aspx’, but the request could not be fulfilled because the key does not identify any known relying party trust.
Key: https://org.domain.com:444/default.aspx

This request failed.

User Action
If this key represents a URI for which a token should be issued, verify that its prefix matches the relying party trust that is configured in the AD FS configuration database.

and

Encountered error during federation passive request.

Additional Data

Exception details:
Microsoft.IdentityServer.Web.InvalidScopeException: MSIS7007: The requested relying party trust ‘https://org.domain.com:444/default.aspx’ is unspecified or unsupported. If a relying party trust was specified, it is possible that you do not have permission to access the trust relying party. Contact your administrator for details.
at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.SubmitRequest(MSISRequestSecurityToken request)
at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.RequestBearerToken(MSISSignInRequestMessage signInRequest, SecurityTokenElement onBehalfOf, SecurityToken primaryAuthToken, String desiredTokenType, Uri& replyTo)
at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.RequestBearerToken(MSISSignInRequestMessage signInRequest, SecurityTokenElement onBehalfOf, SecurityToken primaryAuthToken, String desiredTokenType, MSISSession& session)
at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.BuildSignInResponseCoreWithSerializedToken(String signOnToken, WSFederationMessage incomingMessage)
at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.BuildSignInResponseCoreWithSecurityToken(SecurityToken securityToken, WSFederationMessage incomingMessage)
at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.BuildSignInResponseForProtocolRequest(FederationPassiveContext federationPassiveContext, SecurityToken securityToken)
at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.BuildSignInResponse(SecurityToken securityToken)

The solution

An easy one, but something we did not know. With CRM 2011 in IFD. Each time you add an org, you need to update your Relying Party Trusts from Federation Metadata. Big words that mean…

  1. Open AD FS Management Tool
  2. Expand Trust Relationships
  3. Click on Relying Party Trusts
  4. Click on you IFD Trust, Right Click and Select Update From Federation Metadata

image

I have no idea why this is not automatically updated every time the service starts, or even every time the service is called upon….

In any case, that fixed the issue and we are on our way for testing our CRM – DotNetNuke integration suite with CRM 2011 and DotNetNuke 6.0. Wish us luck.

DNN Word Editor Ready for DotNetNuke 06.00.00

image

Today we released a version of Word Editor that is ready and tested on DotNetNuke 06.00.00 release.

The popular Word Editor module allows users to edit the content of HTML on a DotNetNuke website using Microsoft Word 2007 or later.

If you have not seen the module, check out the website here:

http://www.interactivewebs.com/dnnwordeditor/AboutDNNWordEditor.aspx

Or the online demo here: http://demo.interactivewebs.com.au/dnnwordeditor_demo/dnnwordeditor_demo.htm

DotNetNuke Automated Backlink Module

image

 

Today we released an update to the Automatic Backlink Module for DotNetNuke.

Details of the update are available here: http://www.interactivewebs.com/automaticlinkbuilder/Support/VersionHistory.aspx

But include improvements on the way site monitoring is handled and the way the module works with the known GZIP issues.

image

An example of the module can be seen here: http://www.interactivewebs.com/Admin/DotNetNukeWebsites.aspx?&action=add

where you can add your site for back linking.

DotNetNuke Users Online Gadget Widget iPhone App

Today we have released a new version of our Users Online gadget is getting ready for our iPhone app release that will support this module.

Today we have released a new version of the DotNetNuke Users Online Gadget module that allows you to monitor your website from:

  • Windows Gadget
  • Mac Widget
  • Google Gadget

Todays update can be seen here: http://www.interactivewebs.com/usersonline/Support/VersionHistory.aspx

and is getting the module ready for the pending release of our iPhone app that will allow you to connect and monitor your site directly on your iPhone.

Configuring Users Online Gadget Widget App

imageMonitoring your DotNetNuke users is easy with the DotNetNuke Users Online Gadget Widget App.

After Installing the DNN Module, you add it to a page on your DotNetNuke website as you would any other module.

The page can be visible to the public or visible to only administrators. Either way the module will function fine.

Once on the site the module will display something like this.

 

 

image

Steps to Using the Gadget Widget App on your site

1. Download the appropriate Gadget, Widget or App by selecting the “Click do Download” link at the top of the module.

2. Install the Gadget to your local website.

3. Enter the configuration of the Gadget / Widget as you would any others on your local computer.

image

4. In the Settings for the Gadget / Widget enter a Title to use to identify the site you are connecting to. The title will display in the top of the gadget.

image 

image

5. Then enter the URL for your site, remembering to use the child portal name if you are on a child portal. For Example:

Parent Portal: http://www.interactivewebs.com

Child Portal: http://www.interactivewebs.com/usersonline

(Where UsersOnline is the Child Portal name)

6. Enter a refresh cycle for the gadget / widget to run off to your site and retrieve new data. (Recommended 300 seconds).

OK and you are done!

Note:

Clicking on the Users name in the Gadget will deliver you to the sites user profile page.

image

Eating Our Own Dogfood – InteractiveWebs

image

We “Eat our Own Dog food”; as the saying goes (user our own software), and use the module on our own site in many locations. Have a look at these pages, much of the content is from our blog site here:

www.interactivewebs.com/blog

image

image

http://www.interactivewebs.com/feedbackdesigner/Support/HelpandSupport.aspx

image

image

http://www.interactivewebs.com/mushroom-image/Support/HelpandSupport.aspx

Check out the links and the way the Mushroom Lite Module for DotNetNuke works.

Mushroom Lite Module for DotNetNuke

Mushroom Lite Module for DotNetNuke is a module developed to bring rich content in an RSS feed directly into your DNN website.

We created the module to fill a particular need we have that would allow us to bring a WordPress blog to DNN, but it could be any sort of blog, or any RSS feed with images and text.

An Example

Our blog is at: http://www.interactivewebs.com/blog

We use WordPress to power the blog, because it is extremely powerful as blog technology, and far superior to many other blog technologies available.

image

The blog allows RSS feeds of almost every item listing, either by cloud tag, or category. It is one of the powerful features of WordPress. If you click on a Category such as iPhone, you receive this web view: http://www.interactivewebs.com/blog/index.php/category/apple-mac/

and if you add /feed/ to the end of that URL, you will be given the same content in an RSS feed.

http://www.interactivewebs.com/blog/index.php/category/apple-mac/feed/

Shown in Internet Explorer

image

The same content can then be fed into the InteractiveWebs Mushroom Lite DotNetNuke Module using the same URL as above.

image

Giving a great result on page. Note that the module is automatically pulling

image image

or

image

So in this way, you can bring your blog content in the form of an RSS feed directly to the page of your DotNetNuke website, and display it in style.

Best of all, the module allows you to customize the layout using CSS, jQuery and a template.

image  ajax-loading-bar-19Loading Effect

With Loading Effect also controlled by template, allowing you to select a number of effects.

The last tab on the module shows the installed version, and if there are any updates available past the version installed.

image

Look and Feel

With the images pulled from you RSS feeds, you can set the image display size.

image

Set the number of characters pulled from the feed source:

image

image

with the automatic truncation of the content stream.

Linking to the Full Content

The module allows for the reader of your page to click on the content and view the original stream in several styles:

image

 

image  image

With handy information sharing links built into the popup:

image for sharing your posts.

There are also options that allows for sorting the feed:

image

To allow you to use the module and it’s feeds in different ways. For example we use the post on this page.

http://www.interactivewebs.com/mushroom-lite/Support/HelpandSupport.aspx

to provide a help and support for one of our other modules. The posts in this page were done with the most relevant to least, so the content we want at the top of the page remains there.

Caching

An important part of performance is that the module does not hit an RSS stream each time the page loads. We have provided for this with server site caching, controlled within the module.

image

Allowing you to define how frequently the module reloads the RSS stream with new content.

For more information and demonstration, see our site here:

http://www.interactivewebs.com/mushroom-lite/MushroomLite.aspx