These notes are observations about what needs/can be changed upon upgrading dojo versions, as well as pitfalls that may be encountered. Anyone else with ideas/propositions is welcome to edit.
Upgrading Here are some common issues people have had when upgrading (ie, migrating) from 1.3 to 1.4: 1. If your widgets are using templatePath you should ideally update them to use templateString with dojo.cache() instead, or alternately, minimally, make sure that they set templateString to null (to override the templateString setting from a superclass). 2. ContentPane acts more as a layout widget than before, defining isLayoutContainer: true. This may break some custom subclasses. 3. The startup code for widgetsInTemplate has changed; if you have a custom widget that manually adds sub-widgets into its DOM, be sure to add those sub-widgets to this._startupWidgets[] and also this._supportingWidgets[]. Alternately you can set _earlyTemplatedStartup to true to get the 1.3 behavior 4. If your TabContainer is too wide (you must have set width=100% in your markup?), specify controllerWidget=”“dijit.layout.TabController” (see Ticket #10495).
In order to have a successful Dojo upgrade these widgets must be tested and working. These files that contain these widgets, along with files that depend upon the widgets (very useful for testing), can be found using the web reporter script (poirot.py).