Ext JS 3.0 RC2 Release – Stable, Robust, and Enhanced
June 3, 2009 by Evan Trimboli
We are pleased to announce that the latest release candidate of Ext 3.0 is now publicly available. We are very proud of the stability of this release. We’d like to thank our support team and elite community members who have tested the release candidates. You have assisted in squashing a number of bugs affecting both Ext Core and Ext JS. The time taken to report issues and create test cases is much appreciated. The list of issues resolved for this deployment can be found for Ext Core and Ext JS separately. Some of the major fixes include:
- Items are now automatically laid out when they are first shown – rather than trying to calculate dimensions when they are hidden. This will solve a number of layout issues that occur across all components.
- The toolbar overflow has been improved to support all toolbar items, including CycleButtons and Buttons with toggle enabled (both grouping and otherwise).
- Issues with some animations in the Fx library have been corrected.
New Examples
Several new examples have been added in this version to help you get up and running with Ext 3.0 quickly.
- A new example detailing the new REST support for stores has been included, which supports full CRUD operations.
- An excellent demo illustrating the use of multiple providers together is now available. Here we use the Ext.direct polling to make regular requests to get the server’s time. These requests can be interspersed with those of a remoting provider, which allows both an echo and a multiplication to take place.
- An additional example demonstrates the new writer capabilities of Ext. It provides full CRUD support using a grid, without any use of Ext direct. It shows how the writer can be used with legacy style server interaction.
// A single store using the Proxy, Reader and Writer together // through a RESTful interface var store = new Ext.data.Store({ id: 'user', restful: true, // <-- This Store is RESTful proxy: proxy, reader: reader, writer: writer // <-- plug a DataWriter into the store just as you would a Reader });
<script type="text/javascript" src="php/api.php"></script> //Ext.app.REMOTING_API <script type="text/javascript"> Ext.onReady(function(){ Ext.Direct.addProvider( Ext.app.REMOTING_API, { type:'polling', url: 'php/poll.php' //additional Provider } ); }); </script>


New Features
It wouldn’t be a cool release if we didn’t add some goodies. The documentation has been significantly improved, with a number of classes getting extra information or examples added to their reference page. Peruse the new and updated documentation to find some hidden gems.
REST support
Many web frameworks today are implementing REST services to simplify the CRUD process. With Ext’s new data package enhancements, designing a RESTful Store is a snap. Simply plug a suitable DataWriter extension, like JsonWriter, into any Store along with a standard HttpProxy and set the new Store configuration-property restful: true. Your Store will now automatically generate GET, POST, PUT and DELETE requests to your server.
DataWriter
The Ext JS 3.0 data package introduces compelling enhancements with a new component called DataWriter (along with descendant JsonWriter). These collection of enhancements will simplify your interaction with Ext.data.Store by automatically generating CRUD requests to your server-side framework. Once you plug a suitable DataWriter extension, like JsonWriter, into your Store you’ll never have to manually compose Ajax CRUD requests to your server again — it’s all automated now and highly configurable.
//define and we'll handle the rest var proxy = new Ext.data.HttpProxy({ api: { read : 'app.php/users/read', create : 'app.php/users/create', update : 'app.php/users/update', destroy : 'app.php/users/destroy' } });
Ext.Error
A base error class has been added, with the intention of extending this to provide more robust error handling throughout the framework in the debug build. As part of this, we will be looking at introducing extra code into the debug build to check for common errors and problems. The developer will be alerted to the issue allowing them to quickly find the point of failure and rectify the problem. These extra checks will be automatically removed in the production build so that performance is not negatively impacted. Stay tuned for more details.
As an example, here are some errors used in data namespace to make it easier for new and seasoned developers:
"DataProxy attempted to execute an API-action but found an undefined url / function.
Please review your Proxy url/api-configuration.""Could not locate your "root" property in your server response. Please review your JsonReader config to ensure the config-property "root" matches the property your server-response. See the JsonReader docs for additional assistance."
We look forward to community input on where we should add additional checks based on your experiences.
Ext.direct interoperation with Ext.Component subclasses
The main feature that has been added in this release candidate is extra interoperability between Ext.direct and other Ext.Component classes. Both the Ext.tree.TreePanel and Ext.form.FormPanel can now load their data via Ext.direct.
Loading a tree using Ext Direct
In this case our server side method takes a single parameter (the id of the node) and returns an array of JSON nodes. An example of this can be found here.
API Definition:
Ext.app.REMOTING_API = { "url": "php/router.php", "type": "remoting", "actions": { "TestAction": [{ "name": "getTree", "len": 1 }] } };
Sample code
Ext.onReady(function(){ Ext.Direct.addProvider(Ext.app.REMOTING_API); //setup provider var tree = new Ext.tree.TreePanel({ width: 400, height: 400, autoScroll: true, renderTo: document.body, root: { id: 'root', text: 'Root' }, loader: new Ext.tree.TreeLoader({ directFn: TestAction.getTree //specify directFn on tree }), fbar: [{ text: 'Reload root', handler: function(){ tree.getRootNode().reload(); } }] }); });
Forms and Ext Direct
By popular demand, we’ve added Ext.direct for loading and submitting data via forms.
var form = new Ext.form.FormPanel({ api: { load: App.ss.ClientForm.load, submit: App.ss.ClientForm.submit }, paramOrder: ['uid'], defaultType: 'textfield', items: [/* Ext.form.Fields go here */] });
We encourage you to download and use the latest release candidate. We hope you enjoy using Ext JS 3.0 – we had a blast creating it.
Lastly, following a tradition started with Ext 1.0, we are offering a pre-release sale with hefty discounts to upgrade your 2.x license. If you’ve thought about purchasing an Ext License, for a limited time, you can purchase online for less than an Ext 2.x License. There’s no better time to support the Ext team. Enjoy.


Posted on June 3rd, 2009 at 2:14 am
Awesome. I love the form loading and submitting idea using direct. Maybe I will tie this into FormFu,,,,
Posted on June 3rd, 2009 at 2:36 am
Congratulation Ext Team !!!
We have been expecting for Ver 3.0 , and having a new stable RC is exciting.
Keep on the good work !!
El
Posted on June 3rd, 2009 at 2:45 am
Congratulation Ext Team !!!
We have been expecting for Ver 3.0,and welcome to the most popular extjs forum of China 17ext.com
Posted on June 3rd, 2009 at 4:19 am
Congratulation Ext Team !!!
NICE WORK!!!
Posted on June 3rd, 2009 at 4:23 am
First of all: congratulation.
Just asking for the missing Java stack in the Ext.Direct Pack on Ext JS Downloads page.
Thank you.
Posted on June 3rd, 2009 at 4:31 am
Ext Core download page is still refering to Beta 1. Shouldn’t this be updated?
Posted on June 3rd, 2009 at 6:44 am
Congratulations!
Posted on June 3rd, 2009 at 7:46 am
[...] Ext JS 3.0 RC2 est disponible. [...]
Posted on June 3rd, 2009 at 7:52 am
Congratulation !!!
In the example “RESTful Store Example”, if I changed column position
pop up (edit)showed error msg even if I haven’t changed when changed
from one row to another.
Posted on June 3rd, 2009 at 8:02 am
When are we going to see the air support come back in. I’m holding off on starting an Air App until I see the 3.0 AIR stuff.
Posted on June 3rd, 2009 at 8:24 am
@Jon The Air package will be updated for Ext 3.0 after its final release.
Posted on June 3rd, 2009 at 8:25 am
@KimH Look for an Ext Core 1.0 final release coming soon
Posted on June 3rd, 2009 at 9:13 am
Can we get RC2 added to CacheFly? That would be suupper!
Posted on June 3rd, 2009 at 9:30 am
verygood
thinks
Posted on June 3rd, 2009 at 9:40 am
What about the missing Java stack in the Ext.Direct Pack on Ext JS Downloads page ?
Posted on June 3rd, 2009 at 9:49 am
Great news guys. Keep kicking out awesome code.
Posted on June 3rd, 2009 at 10:06 am
[...] Ext JS公式ブログより。 [...]
Posted on June 3rd, 2009 at 10:28 am
[...] Read the full article on Ext JS Blog [...]
Posted on June 3rd, 2009 at 10:42 am
[...] так, сегодня вышел следующий кандидат-релиз 3-й версии ExtJS, а также вторая бета-версия Ext Core, они обновляются [...]
Posted on June 3rd, 2009 at 11:34 am
Woohoo! Error messages! This is what I’ve been wanting forever!
Posted on June 3rd, 2009 at 2:30 pm
Excellent!! thanks you so much!!
Posted on June 3rd, 2009 at 3:01 pm
[...] realizar algunos tutoriales para estos nuevos componentes, para mayor información puedes ir al blog oficial donde nos hablan al [...]
Posted on June 3rd, 2009 at 3:36 pm
[...] интересной, автор сeгoдня и пoгoвoрим. Из чего следует, сегодня вышел плывущий кандидат-релиз 3-й версии ExtJS, а как и вторая бета-видоизменение Ext Core, они [...]
Posted on June 3rd, 2009 at 4:19 pm
Google REST basics (http://code.google.com/intl/lt/apis/gdata/docs/2.0/basics.html) say:
If your firewall does not allow PUT, then do an HTTP POST and set the method override header as follows:
X-HTTP-Method-Override: PUT
Maybe here it should be configurable?
Posted on June 3rd, 2009 at 4:51 pm
Bugs logged in 3.0 RC1 have not been corrected.
Why we have a RC2 before RC1 correction ?
Half of Demos provided with RC1 don’t work with RC2 today with IE the most used browser.
Posted on June 3rd, 2009 at 6:38 pm
good news,good day
Posted on June 3rd, 2009 at 8:10 pm
@Marco Hundreds of issues have been resolved between the Ext 3.0 RC1.1 and RC2 release. If you have open issues, please post them in the Ext 3.0 Bug forum http://extjs.com/forum/forumdisplay.php?f=41 so that they can be addressed.
Thanks!
Posted on June 3rd, 2009 at 9:53 pm
[...] 这个应该是ExtJS 3.0的最后一个RC版本啦,正式版应该很快发布啦,不过现在如果想了解ExtJS 3.0的特性,应该可以啦,RC2应该很稳定啦,接下来就是等正式版进行项目啦。详细信息请移步: http://extjs.com/blog/2009/06/03/ext-js-30-rc2-release-stable-robust-and-enhanced/ [...]
Posted on June 4th, 2009 at 4:29 am
Marco, IE isn’t the most used browser.
http://www.w3schools.com/browsers/browsers_stats.asp
Anyway it would be good to have the bugs solved for it.
Great work!! I really love this, and I’m waiting to see the final release.
Pau
Posted on June 4th, 2009 at 8:03 am
This is truly great work! Hopefully remaining issues will be worked out soon!
@Pau Ubach,
By reading the explanation on w3schools you will soon find out that statistics provided is collected from w3schools logfiles and represent users of their site only. It’s not realistic to use their numbers for the whole web.
Posted on June 4th, 2009 at 11:06 am
What about the missing Java stack in the Ext.Direct Pack on Ext JS Downloads page ?
Is it absent because it’s beta (version 0.31)?
Any response from ExtJS team?
Posted on June 4th, 2009 at 11:44 am
Good news.
But we had many problems updateing our ext 2 apps to ext 3. this is the reason we are waiting for some kind of migration guide. Is a guide for migration to ext 3 available anywhere?
Posted on June 4th, 2009 at 7:01 pm
[...] Ext JS – Ext JS 3.0 RC2 Release – Stable, Robust, and Enhanced – We are pleased to announce that the latest release candidate of Ext 3.0 is now publicly available. [...]
Posted on June 5th, 2009 at 9:00 am
Thanks for the hard work guys! the REST and CRUD examples are great!
Posted on June 5th, 2009 at 10:59 am
getAttribute throw error on windows 2003,IE8
Posted on June 5th, 2009 at 3:37 pm
Belated congratulations from my side, too!
For all Rails developers out there, I wrote a Rails backend for the RESTful example: http://www.extjswithrails.com/2009/06/restful-store-example-with-rails_04.html
Cheers,
Steffen
Posted on June 6th, 2009 at 3:48 am
I must say I am impressed with the amount of work that has gone in to releasing this build. Kudos to the entire ExtJS team! Looking forward to the final release.
Posted on June 7th, 2009 at 11:36 pm
Very good,
http://www.extjs.cn
Posted on June 8th, 2009 at 1:38 am
아직 안써봐서 모르지만~ 좋아보임~ ㅋ
Posted on June 8th, 2009 at 7:09 pm
Thanks! Keep up the good work!!
Posted on June 8th, 2009 at 9:50 pm
中国人民发来贺电
Posted on June 8th, 2009 at 10:56 pm
不错!!!!!!!!!!!!!!!
Posted on June 8th, 2009 at 11:02 pm
广东人民发来贺电!
Posted on June 9th, 2009 at 4:04 am
武汉人民恭贺3.0,你的设计器什么时候好啊。
再不好,就不跟你玩,去玩dojo
Posted on June 9th, 2009 at 12:04 pm
For when is the 3.0 final planned?
Posted on June 9th, 2009 at 9:01 pm
good!
Posted on June 9th, 2009 at 9:45 pm
lots of bugs in IE
Posted on June 10th, 2009 at 3:52 am
发现了一个bug,在拖拽gridpanel的header时,在IE中和FF中都不行
Posted on June 10th, 2009 at 10:39 pm
tree has bugs in ie6
Posted on June 11th, 2009 at 4:50 am
在IE6下 http://extjs.com/deploy/ext-3.0-rc2/examples/tree/check-tree.html
Checkbox TreePanel有Bug, 导入最新的ext-3.0-rc2包后的项目,在IE6下也一样会出现同样的问题.
Posted on June 12th, 2009 at 1:23 am
有个小bug
28900行 this.runCallback(callback, scope || node,[node]);少个[node]参数
Posted on June 12th, 2009 at 1:58 am
[...] Ext JS 3.0 RC2 Release – Stable, Robust, and Enhanced [...]
Posted on June 12th, 2009 at 2:39 am
why delete Ext.StatusBar?
Posted on June 12th, 2009 at 8:16 am
[...] Ext JS 3.0 RC2 Release – Stable, Robust, and Enhanced [...]
Posted on June 14th, 2009 at 11:02 pm
[...] Ext JS 3.0 RC2 Release – Stable, Robust, and Enhanced [...]
Posted on June 15th, 2009 at 9:25 pm
ExtJS 점점 좋아지는군요 ^^
요즘 잘 쓰고 있습니다.
더욱더 발전하는 ExtJS 가 되길 기원합니다 ^^
Posted on June 16th, 2009 at 12:23 am
asdfasdfasfdasfds
Posted on June 16th, 2009 at 5:08 am
The final release was expected for June 15th, any update on this??
Pau
Posted on June 16th, 2009 at 2:53 pm
[...] Ext JS 3.0 RC2 Release – Stable, Robust, and Enhanced [...]
Posted on June 17th, 2009 at 1:18 pm
So da ro!
Posted on June 17th, 2009 at 1:19 pm
전암의 자슥… ^^;
Posted on June 17th, 2009 at 1:20 pm
왜 울나라 색희들은 외국웹사이트에다가도 지렁이 꺽쐬 꼭 넣어가면서 글쓸까?
Posted on June 17th, 2009 at 2:53 pm
1. When is the full version ready by? (Could you at least give a rough approximate date?).
2. Why axe the StatusBar?
3. I love ExtJS.
Posted on June 23rd, 2009 at 3:18 pm
Am I the only one getting a little frustrated by the silence with regard to the questions about a release date for final v3? I’ve asked a couple of times, and others have as well, and I’ve never seen an answer yet. To be clear, I have NO PROBLEM WHATSOEVER if the date slips… I’ve been a developer long enough to know that happens and I’m not going to be upset about it, I’ll cope and happily wait for a product I consider great and that I’ve been a big proponent of… but not seeing even a rough, ballpark date anywhere is not cool IMO. I’m close to using my paid support credits to get an answer, but I shouldn’t have to. Come on Ext guys, I love your product, can you help a happy customer out here? Even if you can’t give an iron-clad answer, I’ll take even a real rough estimate at this point.
Posted on June 24th, 2009 at 3:17 pm
My answer is no
Posted on June 24th, 2009 at 4:58 pm
Our software relies heavily on EXT. I have purchased a license for 3.0. It is difficult for me to understand why someone cannot give us an update on when the final release will be out. We have a release of our product ready to go to final testing. I do not know whether to begin testing with the intent of using the RC 2 for our production release or if I should be waiting for the final release. How about an answer to a question that was first asked on June 9th? What is the current schedule for the release?
Posted on June 24th, 2009 at 5:22 pm
Ext 3 final?
the devs probably just don’t read these comments, has anyone posted this question on the forums?
Posted on June 25th, 2009 at 3:35 am
There’s an answer on forums:
http://extjs.com/forum/showthread.php?t=71363
Posted on June 25th, 2009 at 10:56 pm
郑州人民发来贺电
Posted on June 26th, 2009 at 5:19 am
很好很强大!
Posted on June 27th, 2009 at 5:39 am
kabin de 1 numara
Posted on June 28th, 2009 at 11:43 am
Very good, Thanks!
آقا این سایت واقعا محشر کرده
دست مریضاد
کی میاد اینهمه اطلاعات رو مفت در اختیار عموم بذاره
من که حال کردم
Posted on June 29th, 2009 at 10:14 pm
Confirmed, this seems to be happening “at random” on IE. The weird thing is, if I include Ext.Lib.Event after ext-all-debug, before my test code:
Ext.Lib.Event = {…..};
Ext.onReady(function(){
var p = new Ext.Panel({
width: 400,
height: 400,
renderTo: document.body,
autoLoad: {url: ‘x.html’, scripts: true}
});
});
Posted on June 30th, 2009 at 12:27 pm
Wow this looks amazing. I’m really looking forward to the charts… Right now I’m using AMCharts which is fine, but I wanna go all the way EXT!
Posted on July 1st, 2009 at 9:59 pm
南京人民发来贺电
Posted on July 2nd, 2009 at 10:26 am
Being using extjs since early versions on my projects. Nice to hear that you keep making it a better framework!
Thanks from Brazil
Posted on July 2nd, 2009 at 10:25 pm
广州人民发来贺电
Posted on July 3rd, 2009 at 8:27 pm
It’s very good!I love it!
Posted on July 7th, 2009 at 9:34 pm
It’s very good!I love it!
Posted on July 9th, 2009 at 4:52 pm
Да уж, автор этого блога действительно добрый и отзывчивый человек. Спасибо
Posted on September 19th, 2009 at 8:11 pm
[...] Ext JS 3.0 vs CP2JavaWS & Direct2CP September 20, 2009 The RC2 of Ext JS 3.0, unveiled last June, 3 (that was just on day after the 0.7 version of CP2JavaWS, that brought management for [...]
Posted on October 4th, 2009 at 5:58 pm
Это очень хорошо! Я люблю его!
Posted on October 6th, 2009 at 4:49 am
Wow this looks amazing,а также вторая бета-версия Ext Core, они обновляются
Posted on October 8th, 2009 at 5:44 pm
Lots of bug at ie.The missing Java stack in the Ext.Direct Pack on Ext JS Downloads page
Posted on October 26th, 2009 at 9:29 am
Wow. Das sieht erstaunlich. Danke.
Posted on November 5th, 2009 at 10:15 pm
about rails-extjs-direct
question:rails Back to the data not the data needed for extjs
Use firebug view the post is “(” action “:” Cptcategory “,” method “:” index “,” data “: [" 0 "],” type “:” rpc “,” tid “: 2)”
Response: is html language other than the data they need
rails code is:
include Rails::ExtJS::Direct::Controller
direct_actions:index
def index(id=[params[:node])
puts id.to_i
plcs = Cptcategory.find_children(id)
data =plcs.map {|r| r.attributes}
return data
end
I want to ask, how is the rails to use rails-extjs-direct reply is extjs be able to parse data?
Please contact me, thanks email: fy_name@yahoo.com.cn
Posted on November 8th, 2009 at 6:17 am
it’s buggy in ie8 for me..
Posted on November 10th, 2009 at 3:45 am
So da ro!