DIGG IT!
Published
Wednesday, June 06, 2007
at
8:20 AM
.
There are some wide ranging changes within the Flex SDK and components within Flex. These new classes/components/features include AdvancedDataGrid, new Collection classes, Deep Linking API (BrowserManager), Resource Bundles, Runtime Localization, and Container support in Flex Component Kit for Flash CS3. These features broaden the capabilities of Flex in providing deeper integration with AJAX, advanced visualization, and support for complex resource management/localization. Lets take a deeper look:
Advanced DataGrid:The AdvancedDataGrid support complex views of both hierarchical and tabular data. In supporting these new types of data new collection classes where required. Also included are some helper classes to organize columns into groups and provide support for SummaryObjects and SummaryRows. Here are the new collection classes that were added:
mx.collections.HierarchicalData
mx.collections.Grouping
mx.collections.GroupingCollection
mx.collections.GroupingField
mx.collections.HierarchicalCollectionView
mx.collections.HierarchicalCollectionViewCursor
mx.collections.ListCollectionView
mx.collections.SummaryField
mx.collections.SummaryObject
mx.collections.SummaryRow
Here are some images of the AdvancedDataGrid in action:











Deep Linking: The deep linking feature of Flex 3 allows a Flex application to manage data within a URL using the HTML Anchor(#) feature. Using the new BrowserManager a Flex application can bind to data within the URL to both set and detect changes in the URL. This feature makes it easy to persist data in the URL for bookmarking and provide a new way to input data into a Flex application. The new classes added include:
mx.events.BrowserChangeEvent;
mx.managers.IBrowserManager;
mx.managers.BrowserManager;
mx.utils.URLUtil;
Application.historyManagementEnabled
The cool part is that this API is open and can be used for many purposes outside of the deep linking feature. It allows the URL of the browser to be in sync with the context of a Flex application.
Deep Link 1Deep Link 2Resource Bundles and Runtime Localization:The MXML compiler supports the creation of resource bundles (SWF) files. These bundles are created from java .properties files using the property sheets format like so:
YES_LABEL = Yes
DATE_FORMAT = MM/DD/YYYY
AGE_OF_CONSENT = 16
SOME_FLAG = trueThese values are compiled into objects within a SWF file so they load quickly and are highly compressed. The key is that they allow you to create large sets of data that can be loaded in and out of the ResourceManager within Flex 3 like so:
//create a resource bundle in AS3 and add to Resource Manager
var newBundle:ResourceBundle = new ResourceBundle("fr_FR", "myBundle");
newBundle.content["OPEN"] = "Ouvrir";
newBundle.content["CLOSE"] = "Ferme";
resourceManager.addResourceBundle(newBundle);With resource bundles it becomes easy to provide support for Localization so that you can build resource that support different languages within your application but are switchable at runtime. Within your application binding to a resource is simple and abstracts which resources are loaded into the ResourceManager. When writing your application, you bind to resource values and all strings are stored within resources that are easily recompiled and loaded.
Binding to Resource values
<mx:Button label="@Resource(bundle='controls', key='OK_LABEL')"/>Obtaining a Resource typed value using ActionScript 3
fooBundle.getNumber("AGE_OF_CONSENT") Loading a Resource Bundle via url
resourceManager.loadResourceBundles(url);
Flex Component Kit for Flash CS3:Although we have released an early build of the Flex component kit for Flash CS3, we will be updating it for the Flex 3 release. We are adding support for container creation and support for more fine grained animation.
Sample


I ran out of time for todays update and could not cover the SQLLite implementation for Apollo, Chart enhancements, and FABridge integration. I will be covering all Flex 3 enhancements for Apollo on Friday.
Tomorrow I am covering my favorite feature in Flex 3. This feature will forever alter how Flex is deployed and I am pretty confident that you will be shocked. Flex is about to become much more distributed. :)
Until tomorrow's episode!
Cheers,
Ted :)
Deep Linking is one of my favorite features thus far!!! And the Flex Kit is looking good too.
oh man, I was excited from yesterday's post. given the new datagrid and deep linking, I'm freaking out. did I hear correctly that beta will be available later this week?
flex is sounding better and better all the time...I can't wait to get my hands on the new datagrid...a beta this week would be awesome...any chance flex builder 3 will support linux?
The new features are looking great! I'm very excited about the beta.
Just some early beta feedback: the deep linking examples are throwing a JavaScript error in IE7.
Can't wait for tomorrow's post... Why not post it today? :)
This all sounds really exciting , but
how much will the upgrade fee be ?
@matthew bassett
did you ever try installing the plugin on FB2 on Linux? It is possible, http://www.dustypixels.com/blog/2006/07/15/flex2-flash9-in-ubuntu/
I'm really hoping FABridge gets a significant tuning and fix-up considering how handy it could be to integrate Flex apps with Google Gears.
OK, the workflow and the code enhancements were nice, but not enough to get me excited. But now I totally want to get my hands on that AdvancedDataGrid!
great!!!
I confirm the javascript error with IE7 and vista.
Is it true that this will be release this week?
I'd be interested in building a list with more than one line of text for certain fields. An example of this would be how Outlook's inbox has multiple lines for the subject, and only one line for other fields. Is this going to be possible?
Can we have a smaller component set, please? Something that doesn't produce SWFs in excess of 100K for just a few controls? Please? Pretty please? With sugar on top??
deep linking, ressource bundles , wooow, can't wait :)
Ted Wrote: "Tomorrow I am covering my favorite feature in Flex 3. This feature will forever alter how Flex is deployed and I am pretty confident that you will be shocked. Flex is about to become much more distributed. :)"
...do you mean something like "distribute as an Apollo app"? ...would be nice ;-)
Is this deeplinking feature based on the work by Joe Berkovitz & Todd Rein?(http://joeberkovitz.com/blog/urlkit/).
We have been using UrlKit successfully for a while now, but having it straight in Flex is a nice addition.
Anyway, cool stuff again.
Ted,
This might sound "bratty" but with all the new classes, will you be re-doing your Flex Framework Diagram posters? They haven't even been on my wall 6 months and they are already outdated? It's a good thing, but I use them every day and I like the Grand Overview that only a poster can provide.
Kevin
If compiled flex SWFs could be isolated to not include the entire flex framework, but use only the classes they need then this would change everything.
Right now, flash is the only alternative to this because the flex framework is 120K just to use a single button.
Are you guys game?
yes yes yes yes yes...These are things that I have asked how to do on flex coders and never figured out.
Will the graphs have the same kind of grouping that the advanced datagrid has? I guess it would be kind of the same logic to group a barchart then drill into it...
*crosses fingers/Holds Breathe*
Beta is not this week, but will be soon.
Yes the deep linking is based on the work done for UrlKit. More info on that when the beta is available.
Matt
Adobe
wow, the i18n bits look pretty cool.
one question, you mention they follow java style but in 2.0 these were utf-8 not escaped ansi (java style resource bundles format). has this changed?
Wow, that datagrid is AMAZING!!! And the deep linking too! Thanks for posting!
Hey really cool features..My eyes are totally on AdvancedDatagrid..How long I have to wait
what about embedding html inside Flex?
the iframe layer solution is far-far from being perfect (or even average).
i thought Adobe was addressing this, because i recall seeing this in Apollo.
doe Flex3 offer any solution for this?
Flex2 itself was exciting tool
Now after having a glance at Flex3
I am very happy,let us know when we can get our hands on it :)
Great stuff, looking forward to the beta :)
Ted Wrote: "Tomorrow I am covering my favorite feature in Flex 3. This feature will forever alter how Flex is deployed and I am pretty confident that you will be shocked. Flex is about to become much more distributed. :)"
My guess... Compile to DHTML? Lazlo can do it - could Flex be next?
The deep linking demo does not work for me on XP Pro and IE 7.
A question on the new data control, and about db access. In Flex 2, it was very difficult building a database application. I went through 2 books, Flex 2 Training from the Source and Flexible Rails (among others), and the standard way of building a db front end was extraordinarily hard.
I come from a Delphi and MS Access background, which gave both immense power and ease in building db apps. Seeing the "official Flex way" to build these types of apps, passing value objects, typing over and over the lists of fields as arguments and private variables, brought me back to the bad old days of VB 3-6 (which i ran screaming from to save my sanity).
Flex is so very close to being a killer app, but needs that ease of db development that Delphi and Access have had for over 10 years. Has any of this changed with the new version?
I hope you don't take this as being rude. What might take me an hour to build in Delphi/Access: a master-detail with 20 fields in the master, 10 fields in the detail grid with combo's, add/save/cancel buttons which automatically reflected the dataset's state, would take at least 2 or 3 days with Flex. That's not an exagerration.
For the vast majority of apps that are built (which aren't 'enterprise apps'), this isn't feasible. I'm reluctantly thinking of sticking with Django and it's built-in forms admin -- which is powerful and deadly fast, but still just HTML -- rather than Flex.
Or, does anyone know of an open source project I could contribute to that is working along these lines? Perhaps it's time for Adobe to bring over one of the ex-Borlanders to help design this.
I want to support "anonymous"-comment: will we see a html-component? Iframe-hacking sucks and I hoped to see something in this direction now that Apollo supports it but ok, I understand that Apollo brings it's own Runtime. Nevertheless - is there still hope?
Also a true rich text editor component?
The Advanced DataGrid features look amazing. Will the datagrid have "filter" functionality (i.e. by entering text to filter on)...this would be very useful. Also "auto complete" in a text field was mentioned in flexcoders I think...is it still being included ?? Thanks.
@joshet
I have programmed with other rapid dev tools, and I find it pretty easy to build database applications in FLEX2 especially using AMFPHP.
FLEX2 supports data binding and you can easily bind Datagrids, Combo boxes etc to ArrayCollections. So in reality, I have no idea what you may be finding difficult.
It may be a slightly different programming paradigm than Delphi, but I don't think the development time is slower. At least not that I have seen.
The advanced grid seems to have a lot of olap functionalities !
Some olap grid can be directly connected to an olap server, like analysis server or a xmla data source.
What kind of server will used and compatible with the advanced datagrid with remote object (AMF) ?
The AdvancedDataGrid sounds great. However, after downloading FB3 and checking it out I was dissapointed to see the Data Visualization Trial watermark. This seems a lot like it isn't going to be part of the opensource version but an additional add on package similar to charting. While I understand the desire to sell some add on components, it is sad to see that with the announcement of Flex being opensourced come some really exciting new components that aren't
Do you know how put a group results into column? like a crosstable? And i read something about a olap libs for Flex.. it's that correct?
Details of the OLAP library in Flex 3 beta are here:
http://http//labs.adobe.com/wiki/index.php/Flex_3:Feature_Introductions:_OLAPDataGrid
Hi,
is it possible to display the tree in another column than the first? I need some icons in the first column and the tree in the second column.
Thanks!
Stefan
Wow, this took you guys forever. SmartClient has had an OLAP CubeGrid for 4 years, in Ajax.
http://www.smartclient.com/index.jsp#analytics
does any have a link to a sample code of a master detail database application?
I was trying to develop an application with the fds and hibernate and is the learning curve has been hard.
Thanks in advance.
Francisco.
Does anybody have a link to a source code of very last image of the AdvancedDataGrid published here, right before deep linking?
Thanks in advance.
Hey I am just getting started with Flex. I would like to use php as the server side scripting...I have bought a book on Flex and they recommend that I use CF, however it can be expensive to host CF. Any recommendations?? Thanks
How about source codes and datas for these samples?
Can you please share the source code to me..this is very useful for me to develop the tree grid using Advanced datagrid.
Thanks,
Ravi