For faster and efficient form loading CRM Online 2015 Update 1 (v7.1) introduced a new form rendering engine. New engine renders forms up to 8 times faster than legacy form.
New form rendering uses cache and an improved process for form loading which results in better performance for end user but for CRM techies it is more than that. With new process unsupported APIs and direct DOM manipulation may not work and it requires careful testing in sandbox particularly if it is an upgrade. A dialogue reports such errors:
CRM team has provided the following examples that may be unsupported:
- Any attempt to access DOM in the content iframe using JS, jQuery or other 3rd party libraries (document.getElementById() or jQuery selectors)
- Creating a new HTML content in the parent window for persistent content (and assumed that the parent window was the main CRM iframe.
- Window.load, parsing iframe/form URL
- Attempting to use unsupported (non-XRM) APIs, especially undocumented ones that may have been shipped with CRM for internal usage only
- Accessing window.parent() from a web resource that may assume for example there’s a variable set in the current window context.
Some other examples:
- Form freeze
- Cannot select or type in a field
- Java Script do not perform intended functionality
- Any thing else unexpected that happens in form
Strategies to identify Potential issues:
- Use CRM 2015 custom code validator to validate deprecated and unsupported APIs
- Switched off new rendering engine from below setting and test unsupported code
Settings -> Administration -> System Settings -> General -> Use legacy form rendering
- If a third party solution is used, check with vendor if the solution is verified with new rendering engine
- Analyse client side code, a simple test can be removing client side code segments
- Try different browsers and their development tools
- Try removing effected fields from form, test and drill down
Form rendering engine effects whole CRM instance it is not per entity or form. Legacy form rendering is still supported and rendering engine can be switched but CRM team’s plan is to remove it in future.