View Full Version : Ext3 to Ext4 migration

23 Apr 2013, 1:37 PM

I am slowly porting an application from ExtJS 3.3 to ExtJS4.2. In doing so, I was planning on replacing panels on the main viewport with ExtJS4 components using the sandbox file, but not the compatibility layer, as the compatibility invalidates some of the components I am not ready to port over yet. In running some early tests, if I populate an Ext3 viewport with with a Ext4 component directly (declare the panel in the items array), I am seeing errors such as Object has no method initRef and and cannot call getHeight of undefined in the Ext3 source. Conversely, if i wait for the Ext3 viewport to be rendered and then add the panel (and prompt the viewport to doLayout()), while i get a render of the panel, an accordion in this case, on initial render, i get an error on that object has no method getSizeModel and if i click on the accordion panels, i get an error that object has no method getHierarchyState.
So depending on the order of instantiation I am getting errors from either the Ext4 sandbox or from the Ext3 source.
Is there a way to achieve what I am looking to do, a phased transition from Ext3 to Ext4 using the sandbox method described, or is a higher level of initial investment required?

Thanks for any insight,


25 Apr 2013, 12:46 PM
I suspect a higher level of initial investment may be required. The compatibility layer isn't optimized for 4.2 and 4.2.1 is in Beta now. The migration path may require some rewrite at this point to move to 4.2, but I and the community will be happy to try and answer questions along the way.

25 Apr 2013, 1:04 PM
Got it; thanks for the reply.

What would the most appropriate (and ironed out) version of 4.0 be to try to achieve a gradual (sandboxed) port? Obviously compatibility is a critical piece, keeping in mind the eventual full migration to the latest version of ExtJs is the goal.

Thanks again for your help,


26 Apr 2013, 11:56 AM
I think it would be best to build against 4.2. 4.2.1 Beta is in progress now, but I don't believe you'll find any changes (fixes really) from 4.2 to 4.2.1, but 4.2 does include a rewrite of the grid component and works with the latest of Sencha Cmd which was recently refactored to allow for extensible theming.