Pages

Monday, May 23, 2011

Scribe Online

Scribe Online is Scribe's latest product offering. The current offering is limited to work with Microsoft CRM and basically allows for a CRM Online solution to be replicated locally. The value add of such a solution is perhaps a little less obvious than Scribe's flagship offering: Scribe Insight. Simply put - whenever you are entertaining the notion of building any sort of integration with Microsoft CRM (or for that matter standalone databases, or any of the other Scribe templates such as GP, Salesforce etc.), Scribe Insight is going to have to be one of the options considered for accomplishing this. The benefit of using a tool such as Scribe Insight over say, a custom built solution, is fairly substantial and I've reviewed some of the considerations in a former post.

The Scribe Online Replication Service though has - at least to me - a somewhat less obvious niche.

First and foremost, this offering is not meant to be a backup solution which - in fairness - Scribe has made fairly clear. Although CRM Online cannot be backed up as you could for say an On Premise implementation, I think that it has to be kind of axiomatic of the cloud model that your data is secure (I'm sure Google and SalesForce would agree...). Having said that, it could provide companies with a "sense of comfort" that their online data is also available locally. But I personally would not encourage that type of thinking as it goes against the kind of thinking that is necessary in order to move into the cloud.

I think it can also be argued that Scribe Online's Replication Service is perhaps a little anachronistic in that it kind of defeats the purpose of going online in the first place. The major driver for going to CRM Online in the first place is so you can subscribe to the SaaS model and not have to deal with servers, environments, maintenance etc. But yet - here we have Scribe Online that will require you to have a local server with SQL installed in order for it to work...

If so, I think it is fairly clear that the Scribe Online Replication Service is going to be required in a given number of scenarios. So what are these? Below I will attempt to outline where I think such as service can come in handy which is based both on my own considerations and information garnered from Scribe demos:


  • Reporting - As highlighted previously, reporting in CRM 2011 Online is significantly more robust than it was in 4.0. And therefore for most companies - at least initially - you should be able to handle the reporting requirements that you have using the CRM Online model. But what if you have sophisticated reported needs? Or better yet - what if you want to create a data warehouse that you can use for setting up Key Performance Indicators (KPIs) to enable you to slice/dice your data in various ways that you cannot do using your operational database (i.e. CRM Online)? Such reporting is typically a more sophisticated requirement to see trends, perform data mining, etc. in order to analyze your business. In such a case, Scribe Online can be a perfect complement to your CRM Online offering allowing you to bring the data into your local environment where it can be combined with Business Intelligence (BI) tools to deliver the goods. I believe that Scribe may also be looking at partnering with BI vendors that may facilitate the delivery of pre-packaged metrics or something along those lines. Time will tell...
  • Data Cleanup/Import etc. - Another use could be if you have a need to clean up (e.g. de-dup) your production data but do not want to do it in the live environment. This requirement combines the capability of Scribe Insight with Scribe Online Replication Services. Using this approach, you could bring your data to a local environment, perform all the clean up in that environment, and when you're done you could use Scribe Insight to update your production data.


These are the major benefits that I can think of right now. And based on this, I believe Scribe Online only has value when using CRM Online as opposed to Partner Hosted. With the latter, although your data is still "online" you typically will have more access to your environment, database etc. than in the pure online model. I think it also bears mentioning that the cost of Scribe's Online Replication Service is fairly nominal at $99/month which makes it that much easier to take the plunge should you wish to experiment.

It's still very early days with regards to Scribe's Online offering and the Replication Service is only the first offering using this platform. It will therefore be interesting to see where this product heads as more capabilities get added. For those who want to know more about the strategic direction of this product, you can review Lou Guercia's (Scribe's president and CEO) interview with IT Business Edge.

Thursday, May 19, 2011

Extending the IFD timeout

After deploying IFD, we noted that the default ADFS timeout setting was too short and kept on timing out users.

The IFD Configuration guide has a section describing how to modify the timeout setting. The following is a simple walkthrough:
  • Open up a windows powershell session

  • In ther powershell session type in: 
    • Add-PSSnapin Microsoft.Adfs.PowerShell
    • Get-ADFSRelyingPartyTrust -Name:"Relying_Party"
    • Set-ADFSRelyingPartyTrust -TargetName:"Relying_Party" -TokenLifetime 480


Note that the Relying_Party value should be the Relying Party you see in ADFS. So in this example it would be "CRM External".




The token lifetime is in minutes, so 480 equals 8 hours.

CRM 2011 IFD Setup: Part 2

My previous post refers to some resources for setting up IFD in CRM 2011. Overall the process looks scarier than it actually is. And the benefit of having IFD is that you can access CRM without having to jump through any firewalls etc. in about the same way as you can access your webmail from any location (or maybe not in your case...?). Not to mention the fact that some third party solutions may require that you have IFD set up as a prerequisite for configuring the solution.

Anyway when you walk through the videos, you will have ended up creating at least 4 URLS (which you'll need to configure in your DNS):


  • adfs.yourdomain.com (or sts1.yourdomain.com as shown in one of the videos) - External facing. URL used for authenticating to ADFS.
  • auth.yourdomain.com - External facing. Your IFD federation endpoint.
  • dev.yourdomain.com - External facing. Discovery web service.
  • org1.yourdomain.com - External facing. Your IFD access URL for your CRM organization (org1 = whatever your CRM organization name is)

I say "at least 4" because you may end up with more. This would be the case if:

  • You create an internal alias for your CRM deployment e.g. crm.yourdomain.com (you may do this even if you're not configuring IFD but as it's mentioned in the video I thought I'd mention it here too)
  • Access to additional organizations in your CRM deployment. Relevant if you're a hosting partner or for whatever reason you decide to have multiple orgs in your company's deployment (this will be the subject of a future post). For example:
    • org2.yourdomain.com
    • org3.yourdomain.com
    • ...
    • orgn.yourdomain.com

CRM 2011 IFD Setup

Setting up an Internet Facing Deployment in CRM 2011 is very different from it's predecessor. CRM 2011 uses ADFS to enable the IFD access.

Microsoft has an article with links to white papers and a video for setting this up.It should be pointed out though that the above article originally linked to the following video for configuring IFD:

http://www.youtube.com/watch?v=T9jZIxDTsBw

At around the end of April, another video was linked to the article:

http://www.youtube.com/watch?v=ZD5qaa-G99E

The reason I mention this is because I think both videos are helpful. The original video is more useful if you are deploying ADFS on the same server as where you have CRM installed. Whereas the second is better if you are deploying ADFS on a separate server.

For example, when deploying ADFS on the same server as you have deployed CRM, you will only require a single Relying Party Trust (assuming a single domain), Whereas the second video will walk you through setting up two relying party trusts which can perhaps be confusing.

Just my 2 cents.

Upgrading to MSCRM 2011

We upgraded our internal installation from CRM 4.0 to CRM 2011 several months ago so this entry is from memory. But in a nutshell, the upgrade from CRM 4.0 to CRM 2011 was by far the smoothest one yet.

Essentially all we needed to do was take the CRM 4.0 old database, import it onto the new SQL 2008 server and then use the CRM 4.0 import manager which pretty much took care of the rest. At that point, we just had to sit back and wait and put our faith in Microsoft... (which is true any time you click that "install" button at the end of the installation wizard process).

What's nice about this type of upgrade where you move to a new server is that you can pretty much leave your existing 4.0 installation in place until you've crossed the proverbial rubicon. Therefore the risk factor is much lower and you always have the option of rolling back (although you should never have to exercise that option...).

Obviously there are a lot of other things that need to be planned for and verified post upgrade such as plugins, reports, workflows etc. which will vary from installation to installation - those should be part of your due diligence upgrade plan. But assuming those have all been accounted for, the upgrade experience has thus far been a very smooth one.

The only things encountered in our internal upgrade were some strange "unknown" headers  appearing in the system:


Not exactly sure why these came about but it's likely due to the fact that we had made some changes to our 4.0 Site Map that caused the upgrade to get confused. Anyway this was easily handled by exporting the Site Map, adding title attributes to the relevant Groups and reimporting:

        <Group Id="System_Setting" Title="System">

The other oddity was that certain sections were missing the header groupings altogether:


Once again this was solved by going to the Sit Map and adding the ShowGroups attribute to the relevant areas:

 <Area Id="MA" ResourceId="Area_Marketing" Icon="/_imgs/marketing_24x24.gif" DescriptionResourceId="Marketing_Description" ShowGroups="true">

And that was pretty much it.

Importing Customizations in CRM 2011

My previous post dealt with approaches for exporting  customizations from CRM.  Importing the customizations has also changed a little.

In CRM 4.0, the export file was self contained and it could be imported from anywhere. You also had the ability of importing zip as well as xml files. When you imported files such as the Site Map and ISV.config files, the changes took effect immediately.

In CRM 2011, the exported zip contains some additional files such as those shown below:



The only file you want to be editing is the "customizations" file. Once you have finished making your edits (e.g. Site Map modifications) you'll need to zip up the parent folder (SiteMap_0_1 as shown in the screenshot above) and import the zip file as shown below:


Finally, note that unlike 4.0, you'll need to publish for ALL imports before the changes will take effect.

Exporting Customizations in CRM 2011

In CRM 4.0 exporting customizations was straight forward. You just went into the Customizations | Export section of CRM, selected the entities you wished to export and export. You could then make modifications to your exported files (such as the Site Map or ISV.config) and go into CRM and re-import the modified file.

With CRM 2011, this process has become slightly more involved due to the introduction of the concept of "Solutions". You can still very easily export all customizations by navigating to Customizations | Customize the System | Export Solution.

However what if you just want o export individual files as you could do in 4.0? It is easier to make modifications to say the Site Map if it's the only exported file than trying to work with the global export file.

As the Site Map and ISV.config (now Application Ribbon) are arguably the files you most frequently want to export, you may want to create a solution for each of these and then another general "export" solution for backing up other customizations files. Something like what is shown below:


...with the SiteMap solution (for example) just containing the SiteMap extension in it:


From now on to export the Site Map, all you'll need to do is open up the Site Map solution and click Export Solution.

It goes without saying that the above is not to get around the "solution" functionality in CRM. You should use solutions for what they were intended - managing the delivery of new functionality. But for quick tweaks such as modifications to the Site Map - while you can be a purist and create a solution for each one - it might make more sense to follow an approach like the one listed above.