PHP-Ext Blog



PHP-Ext 0.8.3 Released


Last post, just about a week ago, was about the community preview for the next release.  Today I'm glad to announce that PHP-Ext 0.8.3 is ready for download. This new release includes a bunch of bug fixes, mostly reported by good fellows out there who are willing to support this project and make it grow, thanks everybody.  It also includes some new widgets people had been asking for and together with them some new samples. Among other, you will see TreePanel, EditorGrid, MessageBox and some missing layouts.


Bug Fixes

Thank's to all the people who posted issues and patches for the various bugs across the library, they were very helpful, especially the ones concerning platform specific issues.  There were some typos too, so thanks for taking the time to let me know.  Please keep sending you thoughs and wishes and of course let me know about any issue on the code.  I hope I didn't missed any, take a look at the Download page or the ChangeLog for more details.

Refactoring


An AbstractCollection was introduced, while ObjectCollection is no longer abstract.  This was done in order to enable an early implementation of plugins as a collection of any king of objects.  Every other collection now inherits from AbstractCollection instead of ObjectCollection and the last one is now used as a generic collection of objects.

Another feature requested, was to be able to use fields inside a Toolbar as supported in extjs.  Since toolbar uses a IToolbarItem collection to store its childs, PhpExt_Form_Field now implements IToolbarItem.  The sample is still half way there, but I'll be posting it soon.

Another refactor was done over grid columns related classes.  When I was working on the new grid sample, I bumped with problem that some selection models and plugins are used as grid columns also, and this was not supported; Grid Columns had to inherit from ColumnConfigObject.  In order to keep the code clean, I decided to create the IColumn interface which is now implemented by ColumnConfigObject, RowNumberer and CheckboxSelectionModel, and any other class of yours which can work as a grid column.  Together with this change, the renderer property of ColumnConfigObject now supports javascript statements and phpext objects so any plugin class can be used as a renderer if the underlying javascript is programmed that way.

Widgets

Grid

In order to continue with the missing features on the some useful grids, RowNumberer and CheckboxSelectionModel are now ready to be used.  The sample is not ready yet but I could resist to include them in this version already.  I know you will find them a use.

EditableGrid

A lot of people have been requesting the editable grid to work properly...Wish granted :-) In the last version some of the classes were included but unfortunately they weren't fully implemented (my mistake).  The new release now has the data Editor class, GridEditor, GridEditorCollection and the reviewed EditorGridPanel.  EditableGridPanel allows to set an editor to each column to change the values of the store directly from the grid.  In some cases this is very convenient and time saving, so have fun and give it a try.  You can see the sample and the source in the Editor Grid sample.

PropertyGrid

Along with the editable grid is also the PropertyGrid which allows you to use and object as a data source for its configuration and data.  This is done with the help of the PropertyRecord, which does the binding of the grid and the object to edit.  You can see the sample and the source code in the Complex Layout sample.

TreePanel

I hope you noticed that last version had a whole namespace missing: Tree.  Good news, the TreePanel is ready! There are also the new Node and Tree classes on the data namespace.  I received some contributions implementing the TreePanel, but it was already done so I just took a look for ideas, thanks anyway.  Check out the complete Tree namespace on the brand new API Docs: AsyncTreeNode, MultiSelectionModel, TreeLoader and more. Take a look at the Tree Node Reordering sample.

MessageBox and ProgressBar

For those who have patiently waited for the MessageBox, wait no more: it's done.  Check the sample to see it working, it includes the also newly implemented ProgressBar

Layout

In order to complete the layout namespace CardLayout, TableLayout, AccordionLayout, BorderLayout are now finished.  check the docs and samples to get an idea.

Viewport

Together with the BorderLayout, is the Viewport implementation.  A common use of the viewport is to use a BorderLayout to split the browser window in sections to build a desktop-like interfaces.


To mention other useful changes, BoxComponent is no longer abstract so it can be used together with existing html elements or to render simple elements on screen.  See how it works on the north region of the complex layout sample.  Also, the Element class was implemented to allow operations on existing dom elements.  See it working on the MessageBox sample.

Contributions

I have been receiving some really nice contributions I would like to include in the site.  There are some things pending there and I didn't want to keep holding for this release so I'm going to be posting about them in the near future.  Just to mention some, there is a RadioGroup, SWFUploader, a CodeIgniter Module, very useful things.  But then again, they will be published soon.  What is already published, are the JSON Grid samples by Matthias Benkwitz, everyone is welcome to send useful and enlightening samples as well. Anyway, thanks to those guys sharing their work for the community.

On the website, a google custom search was added on the top bar to quickly find what you want.  In order to be able to search within the api docs, these were also updated so there are no frames anymore.  There are some things that still need a little twist but overall it works.

I hope all these impovements help you do a better job.  Remember you can post your issues at the Google Code Issue Tracker or send them to the Discussion Group.  If you want to syndicate this blog you can click here.

Happy Coding.


Trackbacks

No Trackbacks
8 Responses to “PHP-Ext 0.8.3 Released”
Display comments as (Linear | Threaded)

Jerry
Posted On August 21, 2008 at 04:29
Thanks for create this great project, i wanna to konw which version of extjs much this version? the latest of extjsj is 2.2, is or not support this version, thanks!
Paulian
Posted On August 22, 2008 at 03:37
Hi Jerry
I update with the latest of Ext-JS 2.2 it's works very well
Matthias
Posted On September 5, 2008 at 05:49
jear - new stuff!! - great job sergeiw - i am on testing
lionheart33806
Posted On September 8, 2008 at 07:55
Hi,
I'm starting with PHP-Ext. It seems to be cool.
I only have one question :

Why doesn't "valueToJavascript" protect the quotes of strings ?

Thx in advance
xayam
Posted On October 11, 2008 at 05:29
Can prompt as to translate such code on extjs in php-ext: "var img = new Ext.BoxComponent({autoEl: {tag: 'img', src: 'myimage.gif'}});" ?
sam
Posted On October 12, 2008 at 21:33
Can anyone give me sudgest what editor can i use than have / support codeautomation or any plugin that i can use to work with PHP-EXT
Vincenzo Russo
Posted On October 24, 2008 at 08:32
Hey guys! Above all: great work! Keep going like this!

Anyway: it'd be nice if you make some screencast for showing the coding of a simple sample in action. What do u think about?
TaunT
Posted On November 28, 2008 at 01:57
thanks for good project!

Leave a Reply

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA