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
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
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
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
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
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
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
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
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.