Transformer! How to Utilize the Conversion Report

Besides the JavaScript conversion itself, Transformer! produces a Conversion Report that contains a wealth of information to help you migrate your JavaScript from the Dynamics CRM 4.0 object model to the Dynamics CRM 2011/2013 object model.

Transformer! will perform a bulk of the JavaScript conversion without issue, but there are some things that just cannot be converted programmatically and must be performed by hand.  Most of the things in this category, in general, require the code to be re-architected.

While this will add to the total conversion time and expense, in the long run, you end up with a code-base that will be must more robust and to a certain extent, future-proof.

So, I thought it would be a good idea to review the different components of the worksheet in-depth.

 

ROI

image

Shows the following information:

  • Number of conversions
  • Estimated hours saved
  • Hourly rate (as set in the Options page)
  • Total savings (rate * hours saved)

Note: These are estimates based on the amount of time it would take you to convert the JavaScript by hand.

Event Summary

image

Lists the following about each file, event, or web resource:

  • Name
  • Lines of Code
  • Conversion alerts
  • Number of conversions

In addition, three checklist columns have been added to help you track your activities during the conversion process. This is the worksheet I use when performing an upgrade to keep track of what has been done and what remains.

 

Duplicate Functions

image

This is a list of duplicate function names that are found throughout the system. This information can be used when refactoring your code to possibly eliminate duplicate code.

The list contains:

  • The function name
  • The number of occurrences
  • The events where the function occurred

A function is considered a duplicate if the function name is the same as another function. If you have two functions with the same name, but with different purposes, this is not considered.

 

Duplicate Events

image

This worksheet contains a list of functions whose contents are exactly the same.

Note: This report is most accurate when converting directly from CRM 4.0 or from a CRM 4.0 customization file.

This comparison is most accurate when converting from Dynamics CRM 4.0 directly or from an exported Dynamics CRM 4.0 customization file.

ActiveX Objects

image

This worksheet lists any ActiveX object found during the conversion process. It lists the event where the ActiveX object was found as well as the name of the ActiveX object. This is an important report because some ActiveX controls are not compatible across browsers. Having a list of their locations helps you determine the amount of time their removal will take.

 

External Files

image

Contains a list of any external file found during the conversion process including:

Extensions:

  • .js
  • .css
  • .aspx
  • .asmx
  • .svc

Document Types:

  • text/javascript
  • stylesheet

This report has several purposes:

1. It helps you identify any external web sites that you may be accessing. These could be Dynamics CRM itself or a custom or commercial site.

2. It was a common practice in Dynamics CRM 4.0 to share JavaScript, CSS style sheets, etc. by placing them in the ISV folder on the Dynamics CRM server (On Premise only). Sometimes these files are overlooked and not included in the conversion process. This report helps you locate that type of file.

 

iFrame Usage

image

Any iFrame found within an Entity form will be documented in this worksheet and will include the following information:

  • Entity Name
  • Entity Logical Name
  • Tab
  • Section
  • iFrame Control Name
  • URL

Like the External File report, this report is useful to find external resources to make sure you are considering them in your upgrade process.


Object Locations

image

The final report contains a list of the following object types:

  • Attributes/Fields
  • Functions
  • iFrames

The following information about each item is reported:

  • Event
  • Object Name
  • Object Type
  • Tab (if applicable)
  • Section (if applicable)

This report is a comprehensive summary of all of the components that Transformer! has found within your JavaScript.

Leave a Reply