CRM Migration Assistant 1.3 Released

Version 1.3 of our JavaScript conversion tool, CRM Migration Assistant has been released.

More information is available here.

 

Release Notes

This month’s release focused mainly on enhancements to the conversion process.

 

Bug Fixes

  • Corrected an issue that produced an error when connecting directly to CRM 4.0 to extract customizations.

 

  • Corrected an connection string issue when publishing to CRM 2011 via Internet Facing Deployment ( IFD ).

 

  • Fixed incorrect conversion of:   
  • var result = document.all("name").style.visibility;
    to
    var result = Xrm.Page.getAttribute("name").getVisible();

 

  • Fixed issue where, in certain cases, the internal CRM onload JavaScript event was being selected instead of user-defined onload JavaScript event.

 

  • Corrected improper conversion of SetRequiredLevel and setAttrbute(“req”,x);

 

  • Corrected an issue with the Picklist.DefaultValue conversion.

4.0:      crmForm.all.new_mypicklist.DefaultValue = 2;
2011:     Xrm.Page.getAttribute("new_mypicklist").setValue(2);
4.0:      var result = crmForm.all.new_mypicklist.DefaultValue;
2011:     var result = Xrm.Page.getAttribute("new_mypicklist").getInitialValue();

Enhancements

 

change0() Method

This is an undocumented and unsupported CRM method sometimes used by developers. This now gets converted to .fireOnChange.

 

Additional Toolbar IDs Added

Added “_MS” and “ISV_” to the list of toolbar control IDs which will generate a conversion warning.

 

.value

.value is not supported in the same way as .DataValue.

Example:

crmForm.all.name.value = crmForm.all.line1.value;
Xrm.Page.getAttribute(\"name\").setValue(Xrm.Page.getAttribute(\"line1\").getValue());

 

document.all now converts like crmForm.all

Example:

document.all.name.value = document.all.line1.value;
Xrm.Page.getAttribute(\"name\").setValue(Xrm.Page.getAttribute(\"line1\").getValue());

 

[IFRAME].url now converts like [IFRAME].src

 

Added support for Partially-qualified Field Names.   

Example:

crmForm.name.DataValue;
Xrm.Page.getAttribute("name").getValue();

 

Modified conversion to treat: crmForm.elements like crmForm.all.

 

Added conversion issue notes for:

  • AddParam
  • additionalparams
  • lookuptypeIcons
  • lookuptypes
  • setAttribute(“defaulttype”, “2”);
  • onabort
  • onblur
  • onchange
  • onclick
  • ondblclick
  • onerror
  • onfocus
  • onkeydown
  • onkeypress
  • onkeyup
  • onload
  • onmousedown
  • onmousemove
  • onmouseout
  • onmouseover
  • onmouseup
  • onreadystatechange
  • onreset
  • onresize
  • onscroll
  • onselect
  • onsubmit
  • onunload
  • areaActivityHistory
  • areaActivities
  • crmNavBar
  • mnuBar1

 

If raw Navigation Items are found, they are converted:

navAsyncOperations.style.display = "none";
Xrm.Page.ui.navigation.items.get("navAsyncOperations").setVisible(false);
 
if (document.all.navSubConts != null)
if (Xrm.Page.ui.navigation.items.get(\"navSubConts\") != null)
 

 

Added conversion alert for non-standard try/catch block at the end of the event.

 

Reduced the conversion time by 50%.

Leave a Reply