Setting attribute description as a tooltip for a field in entities forms in Microsoft Dynamics CRM 4.0

Great code I have not tried yet but I am certain I will need it by ANDRIY A33IK BUTENKO

Add IFRAME to a form, system and custom entities plus format IFRAME

This is a great piece of code I put together by merging two sets of code. Basically the following creates an IFRAME and formats the IFRAME in a professional manner.

// Builds a string for the source attribute of an IFrame
// Credit is given to Michael Hohne and Andrew Zimmer for the following code.  For additional information, please
// refer to his stunnware site: http://www.stunnware.com/crm2/topic.aspx?id=JS27
//for formatting the IFRAME: http://blogs.inetium.com/blogs/azimmer/archive/2010/01/14/crm-displaying-related-entity-in-iframe-slightly-improved.aspx

function GetFrameSource(tabSet, roleOrd) {

    if (crmForm.ObjectId != null) {

        var roleOrdParamMissing = (typeof(roleOrd) == "undefined") || (roleOrd == null);

        var oId = crmForm.ObjectId;
        var oType = crmForm.ObjectTypeCode;
        var security = crmFormSubmit.crmFormSubmitSecurity.value;

        var url = "areas.aspx?oId=" + oId + "&oType=" + oType + "&security=" + security + "&tabSet=" + tabSet;

        if (!roleOrdParamMissing) {
            url += "&roleOrd=" + roleOrd;
        }

        return url;
    }

    else {
        return "about:blank";
    }
}

 // Waits for the content window of the IFrame to be ready
  function FixStylingInFrameSource(iframeID) {
      // Check the content window's ready state
      if (document.getElementById(iframeID).contentWindow.document.readyState
!= "complete") {
          // Re-run this function in 10 ticks
          window.setTimeout(function() { FixStylingInFrameSource(iframeID) }, 10);
      }
      // Content window is ready
      else {
          // Change the background color
          document.getElementById(iframeID).contentWindow.document.body.style.backgroundColor = "#eef0f6";
          // Remove the left border
          document.getElementById(iframeID).contentWindow.document.body.all(0).style.borderLeftStyle = "none";
          // Remove padding
          document.getElementById(iframeID).contentWindow.document.body.all(0).all(0).all(0).all(0).style.padding = "0px";

          // Make the cell the full width of the IFRAME
         document.getElementById(iframeID).contentWindow.document.body.all(0).style.width = "102%"

          // Show the IFrame
          document.getElementById(iframeID).style.display = "block";
      }
  }

crmForm.all.IFRAME_organizaton_programs.src = GetFrameSource("new_account_organizationswithprograms");

if(crmForm.FormType != 1)
{
FixStylingInFrameSource('IFRAME_organizaton_programs');
}

CRM 4.0 Concatenate Lookup Fields or regular fields on Form

Found a couple of solutions posted in the MS forums on this post, I had the best luck with the following:

To start update new_OpportunityID and new_ContactID with your fields, this example concatenates the Opportunity ID and Contact ID lookup fields.

var lookupItemOppID = new Array;
lookupItemOppID = crmForm.all.new_OpportunityID.DataValue;

var vOpportunityID= (lookupItemOppID[0] != null) ? lookupItemOppID[0].name : "";

var lookupItemConID = new Array;
lookupItemConID = crmForm.all.new_ContactID.DataValue;

var vContactID= (lookupItemConID[0] != null) ? lookupItemConID[0].name : "";

CrmForm.all.new_name.DataValue = vOpportunityID + " - " + vContactID;

This will concatenate two normal fields

crmForm.new_fullname.DataValue = crmForm.new_firstname.DataValue + " " + crmForm.new_lastname.DataValue;

This will concatenate a lookup field and a normal text field

if(crmForm.all.new_abreviationid.DataValue!=null)

var nameval=crmForm.all.new_abreviationid.DataValue[0].name;

crmForm.all.new_uasi.DataValue=nameval+","+crmForm.all.new_name.DataValue;

Then once you have the field completed you will want to force the change to the database. This will be necessary when a user changes one of the values that creates the concatentated field. It will show the change on the form, however it will not force the change to the database.

//force the result to the database
crmForm.all.DesiredField.ForceSubmit = true

Creating a CRM 4.0 test/training organization from your production organization

Great article on creating a CRM 4.0 test/training organization from your production organizationhttp://www.wipfli.com/BlogPost_MCRM_Blog_8_12_09.aspx

Microsoft White Paper on Security and Authentication in Microsoft Dynamics CRM

Security and Authentication in Microsoft Dynamics CRM: Connectivity and Firewall Port Requirements in On-Premise Deployments

This is a great white paper that has come into use for an enterprise solution I am working with on a client site. This document covers Connectivity and Firewall Port Requirements in On-Premise Deployments for Dynamics CRM 4.0.

Overview
Many data centers include firewalls between the end-users and the servers and other integrated systems that support an implementation of Microsoft Dynamics CRM 4.0. This document provides guidance on the connectivity requirements between Microsoft Dynamics CRM 4.0 and other systems to assist readers with proper firewall configuration in customer environments.

Removing the CRM For Outlook button appears in Microsoft Dynamics CRM

Made the mistake of leaving the “CRM for Outlook” button my web form before turning users loose into a UAT preparation enviornment. Here is an article on removing the link from the Microsoft Support Site @ http://support.microsoft.com/kb/2004601

This is interesting. Looks like others have been searcing perhaps?

Note This is a “FAST PUBLISH” article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use (http://go.microsoft.com/fwlink/?LinkId=151500) for other considerations.

CRM Concatenate two fields (or more than two)

Always a good one to remember.

crmForm.new_fullname.DataValue = crmForm.new_firstname.DataValue + " " + crmForm.new_lastname.DataValue

CRM Volume License Key & Product Registration

Received this note from MS on pre-pided CRM Volume License Keys! In my case I had already copied all instalaltion media over to the new hardware from an old product download. Then I went searcing for my license key to find out its pre-pidded in the Volume Licensing .iso file still on the MS site. To get to the license key you have to break/open the .iso file. I used WinCDemu loaded on another machine to mount the .iso then browsed the results.

Here is the txt frm Microsoft directly.

License Keys
New to Microsoft Dynamics CRM 4.0, for media obtained under Volume Licensing programs, license keys are embedded on the media (Media is ‘Pre-pidded*’) and will no longer need to be entered upon installation. If you have downloaded a Trial or time limited version of Microsoft Dynamics CRM, and later purchase Volume License media and do not wish to re-install, you may input the license key from your purchased media within the Microsoft Dynamics CRM License Manager.

The License Key may be located by searching the installation files contained on the media for the \server\i386\license.txt or \server\amd64\license.txt file, depending on whether you are installing in a 32 or 64 bit environment).

No License Keys posted to MVLS/VLSC
IMPORTANT! Microsoft Dynamics CRM 4.0 license keys will not appear in the license key product listing that appears for some products in MVLS/VLSC. The product keys are embedded in the VLSC downloads and on the physical media, so there is no need to enter a product key, except in the event a TRIAL version has been installed first. If this is the case – see the TRIALs section.)
Product Registration: Register within 30 Days!
IMPORTANT! Upon installation of software, customers are required to register the product on-line (Internet Access is required) within 30 days. If the product is not registered within 30 days it will be disabled for any further use. However, product can be re-enabled for use upon registration any time if disabled due to the 30 day expiration. Additional CALs added to the installation after initial purchase do not require additional registration. Certain programs such as SPLA and the ISV Royalty Program, do not require registration.

Registration happens:
• Upon initial Installation of any edition
• When users Step Up/Upgrade from Trial or time limited to full license for all editions
• When users Step Up/Upgrade from Microsoft Dynamics Workgroup to Professional Server, or to Enterprise Server. (Will need to re-register)
• When users Step Up/Upgrade from Microsoft Dynamics Professional Server to Enterprise (will need to re-register)

Registration is required when a license key is obtained from these channels:
• Volume Licensing
• MSPP Gold and Gold Certified Partners
• Microsoft Action Pack (MAPS)
• System Builder Channel

Registration is NOT required when a license key is obtained from these channels:
• Trial
• ISV Royalty Program
• SPLA
• MSDN
• TechNet
• BRL/DPL

IIS6 Compatibility Mode for IIS7

Great article on compatibility between II6 and II7 b y ActiveXperts.

http://www.activexperts.com/support/activmonitor/online/ii6metabase/

How to install the IIS 6 Metabase Compatibility components on IIS 7
The ActiveXperts Network Monitor Web Configurator requires that the Windows Server 2008-based or Windows Vista-based computer where you are configuring a Virtual Directory has the IIS 6 Metabase Compatibility components installed.

To install the IIS 6.0 Management Compatibility Components by using the Windows Server 2008 Server Manager

Click Start, click Administrative Tools and then Server Manager.
In the left navigation pane, expand Roles, and then right-click Web Server (IIS) and select Add Role Services.
On the Select Role Services pane, scroll down to IIS 6 Management Compatibility.
Select the check boxes for IIS 6 Metabase Compatibility and IIS 6 Management Console.
Click Next from the Select Role Services pane, and then click Install at the Confirm Installations Selections pane.
Click Close to leave the Add Role Services wizard.
To install the IIS 6.0 Management Compatibility Components by using the Windows Vista Control Panel

Click Start, click Control Panel, click Programs and Features, and then click Turn Windows features on or off.
Open Internet Information Services.
Open Web Management Tools.
Open IIS 6.0 Management Compatibility.
Select the check boxes for IIS 6 Metabase and IIS 6 configuration compatibility and IIS 6 Management Console.
Click OK.

Unable to add custom entity in CRM 4.0

Just had a strange issue on a development server where I was not able to add a new custom entity? After a little research I found the following two articles on this topic. It seems that an old rollup was the cause, in my case a simple IISRESET did the trick however here are the two dated links.

Techreplies Blog
Sonoma Partners Blog