To improve the
performance of form rendering, Microsoft dynamics CRM come up with new form
rendering engine since Online 2015 update 1 (V7.1). Before that we had legacy
rendering where everything will works on sequence order.
Turbo form rendering
or new form rendering forms will load significantly faster and more efficient.
Turbo form rendering has same support as legacy forms are having for client
scripting, form XML Schema that means no fundamental changes made in terms of what
forms generally does.
So what are the main
changes?
Changes were mainly
based on optimizing the form loading process. Optimization have been done on
mainly two ways.
- Loading process of the form
- Handling of Cache.
Loading process of
the form: Here optimization has been done by running maximum no of operations
parallel to avoid browser idle time, amount of content being cached has been
increased, event part of rendering process have been moved partially to server
and optimized the initialization of controls.
CRM forms do have
iframes internally to load webresources, earlier these iframes are discarded
and reloaded on each form load. But in new design iframes will not be discarded but keep them around, as common
scripts are already parsed need not load again. But for custom scripts and ISV
scripts new design will load these in new iframe which will be discarded when
form closes. Earlier, these would be loaded in the same iframe as the form.
Examples of things
that will break:
- 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.
Below are the
navigation details to enable or disable legacy rendering.
Settings ->
Administration -> System Settings -> General. Select "Yes"
under "Use legacy form rendering" to disable turbo forms or else
select "No"
No comments:
Post a Comment