Tag Archives: Javascript

jQuery UI Layout 1.1.0 is out!

Kevin and I released the new fantastic version of the UI Layout plugin for jQuery, changelog:

* RENAMED raisePaneZindexOnHover ==> showOverflowOnHover
* REMOVED "overflow: auto" from base-styles. Overflow must now be set by
CSS - unless applyDefaultStyles==true. No longer need "!important" to
set pane overflow in your stylesheet.
* CHANGED minSize default from 50 to 0 (still auto-limited to 'css size')
* FIXED bug in allowOverflow - now works with 'custom paneClass'
* EXPOSED two CSS utility methods
o myLayout.cssWidth( elem )
o myLayout.cssHeight( elem )
* NEW auto-resize for ALL layouts on windows.resize
* UPDATED auto-resizing of panes after a container-resize
* NEW flow-code to prevent simultaneous pane animations
* NEW options to add text inside toggler-buttons
* NEW options for hotkeys - standard (cursors) and user-defined

Hungry for new capabilities demos? check the powerful nesting and the droppable portlets demo

So now go directly to jQuery UI Layout official website for documentation, download and DEMOS!

jQuery UI Layout 1.0

You may already know that Kevin Dalman and I were working on a new jQuery UI Layout project, based on my FBBorderLayout now you have the layout system based on jQuery!

Some features:

  • unlimited layout capabilities: 5 regions per layout – unlimited nesting
  • simple to use: powerful but simple syntax is easy to learn
  • dozens of options: every aspect is customizable, globally and by region
  • total CSS control: dozens of auto-generated classes create ANY UI look
  • extensible: callbacks, methods, and special utilities provide total control
  • custom buttons: integrates with your own buttons for a custom UI look
  • use any elements: use divs, iframes or any elements you want as a ‘pane’
  • collapsable: each pane can be closed, using any UI animation you want
  • hidable: panes can be completely hidden, either on startup or at any time
  • resizable: each pane can be resized, within automatic or specified limits
  • slidable: panes can also ‘slide open’ for temporary access
  • headers & footers: each region has unlimited headers or footers
  • nesting capabilities: put layouts within layouts to create complex layouts
  • demo mode: set applyDefaultStyles option for a fully functional layout
  • compatible with UI widgets: intended to be used with other UI widgets
  • and MORE

Visit jQuery UI Layout official website for demos, documentation and download!

Confirmation of my doubts about ExtJS licensing

ExtJs is a great javascript development library, some time ago I did some tests to port P4A to ExtJs and I wrote a post with my considerations about it and other javascript libraries.

In that post I wrote:

ExtJs as really a killer graphic layout, and it’s released under LGPL3 (developers wrote some licensing notes that I can’t really understand… actually I think that those notes could conflict with LGPL3 itself)

Today I found a post by Matt Asay called “ExtJs: When open source is not open at all“.

A quote from that post:

It’s a bit like saying, “You can use this as open source so long as you use the software how we’d like you to use it. If you have any money, forget open source: pay us instead.”

So how is this open source? This is a wholesale rejection of the Open Source Definition (#6).

That’s a confirmation of my doubts about ExtJs licensing and a confirmation that we took the right choice not to use it for P4A at the moment.

Now, I always try to be constructive also when writing critics about a project so here there are some suggestions for the ExtJs team:

  • clarify your licensing model, choose LGPL3 (or AGPL3 or whatever) definitively and remove your own notes (this will make ExtJs grow both within the final users market and the server-side market)
  • open your SVN, it’s ugly for FLOSS developers not to be able to follow the development
  • listen to user requests, when I wrote in the forums that there was no way to get a field’s label displayed if the field is not inside a form panel, the only answer I got (not from the team which didn’t answer at all, but from a premium member) was “buy a license and ask for that feature” […]
  • think general purpose because not all the users want to build all the application from javascript, ExtJs could do fireworks if it could be better combined with server-side frameworks

P4A 3 rendering layer discussion

This post will not be easy to write… I’ll try to explain you what kept us really busy in the past 2 weeks. ok a screenshot could help me :-)

In the P4A 3 roadmap post, I told you about a new widget rendering system… I didn’t post more technical info intentionally, I wanted to create a bit of suspense :) but I also wanted to do some tests before publishing news.

For P4A 3 we’d like to have a killer graphic with killer features (resizable widgets, border layouts, beautiful and powerful menu and so on) thus we looked to the biggest javascript frameworks out there: extjs and dojo. Both have great features and both have issues.

Extjs as really a killer graphic layout, and it’s released under LGPL3 (developers wrote some licensing notes that I can’t really understand… actually I think that those notes could conflict with LGPL3 itself) but it has not an open SVN and development is quite closed. Another note: only community support is for free.

Dojo is more polite with licensing and it’s released under BSD, but I don’t like the graphic layout too much and the way you’ve to code your applications writing a non-standard HTML with dojo-only attributes. It has some accessibility features.

Some considerations:

  • In my tests I found bugs in both frameworks
  • porting P4A to one of these tools is a “1 way road”
  • relying the rendering layer to a 3rd party project means we’ve to 1000% trust this project
  • these tools do not have a good print CSS support

We would have a 3rd option: continue on our road with quite standard HTML but rewrite our CSS from scratch with a CSS reset and a modular design which will give us better control.

I wrote extjs developers to know if they’re interested in a collaboration with P4A, I’m waiting for an answer but I’m looking for your considerations too, community it’s important to me, please let me know what you think and what are your experiences with those tools (or suggest others).