first_page

Songhay System Upgraded to YUI 2.5.2

Way back in September of 2007 I was ‘Still Holding YUI at Version 0.12.2.’ My unassisted memory of that month and year was a feeling I have now—except then it was worse: feeling overwhelmed in a daze. A quick browse through these journal files shows me that I was probably beaten up pretty good by DreamHost.com—and that alone would have encouraged me to delay the YUI upgrade.

This time I took the plunge and only found three issues in Firebug (see table below). I am certain I saw the same issues back in 2007—but I remember just being so disappointed seeing any errors whatsoever. I did not feel like investigating them and I indulgently expected my eyes to fall on some official YUI page summarizing upgrade issues.

Another drawback for me was the pervasive use of code marked “beta” in YUI 2.x builds. With this 2.5.2 release, my code only needs one JavaScript file that is conveniently marked “beta” (that file is element-beta.js).

Table of Firebug Findings

`YAHOO.util.Connect` has no properties… This error comes from `*.js` file load order changing between YUI versions. This is detailed in “[Error: ‘YAHOO.util.CustomEvent is not a constructor’](http://developertips.blogspot.com/2007/08/error-yahooutilcustomevent-is-not.html)” back in 2007.
Error thrown in `yahoo.js`, line 540: “extend failed, please check that all dependencies are included.” This error comes from the `tabview.js` dependency on `element-beta.js`. In `tabview.js`, we can see this new directive: `@requires yahoo, dom, event, element`.

This issue is recognized by Adam Moore-3: “Daniel, you included tabview in your page, which requires element. The difference between 2.2.0 and 2.2.1 is that the library is a little more progressive about notifying you about the missing dependency. If the code that caused the error in 2.2.1 did not cause one in 2.2.0, it was only because you did not actually implement the tabview control.”

[Yahoo!® Menu Widget](http://songhaysystem.com/samples/DHTML/yui-menu/client.html) sample causes this error: “`Component returned failure code: 0x80470002 (NS_BASE_STREAM_CLOSED) [nsIScriptableInputStream.available]`” This error also occurs in the [official YUI menu samples](http://developer.yahoo.com/yui/examples/menu/index.html). According to “[Error when using YUILoader with container](http://www.nabble.com/Error-when-using-YUILoader-with-container-td12271070.html),” this is a Firefox error related to the HTML Tidy plug-in. This error does not occur in Firefox 3.

rasx()