YUI Version 2.2.2: Bug-Fix Release

Version 2.2.2 of the Yahoo! User Interface (YUI) Library is now available.

Usually this kind of update means downloading the new scripts, dropping them into your development folder, and ultimately updating the server. But since YUI is also serving the minified scripts from Yahoo! servers, downloading the release is optional, all you may have to do is replace references to “http://yui.yahooapis.com/2.2.0/" with a reference to “http://yui.yahooapis.com/2.2.2/".

Of course, any decent IDE will do the search and replace for you, so it’s not any more work. We simply trade updating our local copies of the scripts with touching all the files that use the script. Since my team wasn’t checking in the YUI scripts, it’s actually less work, since only one of us has to do it once, and we don’t have to touch the server at all.

One handy result of the trade-off is the potential for mixing and matching versions. The 2.2.2 release is suppose to be a bug-fix, though the beta (repeat beta) DataTable saw some significant internal changes. In fact, my DataForm widget can’t use the new version (yet). But, no worries, I changed that reference back to 2.2.0 and its running, giving me breathing-space to sort out the problem. (Which I’m sure will be yet-another case of me pushing the envelope, and the envelope pushing back!)

Meanwhile … the YUI release notes are helpful but high-level. That’s not a bad thing, but if you are working closely with the library, and perhaps building your own widgets on top of YUI’s, then it can also be helpful to have a line-by-line change log. Towards that end, I’ve checked in the last two YUI releases to the Yazaar project. Having the releases under SVN means that we can obtain DIFFs between versions, and review the line by line changes. To keep the YUI archive out of the way, I tucked it under the branches folder. (Gotta love Subversion!)

Of course, I’ll be resolving my DataTable glitch today, and looking to see if Jenny Han Donnelly and company slipped in any new goodies.

ApacheCon US 2007 CFP Submissions

I submitted my ApacheCon 2007 US proposals in this morning. I often submit multiple proposals, but I’ve never had more than one accepted at a time.

Migrating to Ajax - Leverage your hard-earned web development experience and learn how to migrate old-school web applications to Ajax and RPC. This full-day training session covers “Model 2” applications based on frameworks like Struts, as well as “Model 1” applications based on PHP or JSP. Prior Ajax experience is not required.

_ Ajax Petstore Smackdown_ - Let’s compare conventional implementations of Petstore using Struts or Tapestry with Web 2.0 implementions using Ajax and RPC. Which is better, faster, cheaper … or just more fun to write!

.NET @ Apache.org - Like it or not, many open source developers are moving to the Microsoft .NET platform, and we’re bringing our favorite tools with us! In this session, we look inside ASF projects that are creating software for .NET and Mono … iBATIS, Logging, and Lucene … and show how to create leading-edge ASP.NET applications with open source libraries.

Whether one of these are accepted or not, I expect I’ll wander down to Atlanta this November. It’s one of the few places where I can get a direct flight!

Call for Papers Opens for ApacheCon US 2007

The CFP announcement was inadvertently delayed, so the deadline is unusually close this year. If you’d like to submit a proposal, act today!
The Call for Papers is now open for ApacheCon US, to be held November 12-16 at the Peachtree Westin, Atlanta. The conference will consist of two day of tutorials (November 12-13) and three days of regular conference sessions (November 14-16).

Please log in to the website at http://apachecon.com/html/login.html to submit your proposal. Further details about fees and are avaialable on the CFP form. Topics appropriate for submission to this conference are manifold, and may include but are not restricted to:

  • ASF projects
  • ASF-Incubated projects
  • Scripting languages and dynamic content such as Java, Perl, Python,
    Ruby, XSL, and PHP
  • New technologies and broader initiatives such as Web Services and
    Web 2.0
  • Security and e-commerce, performance tuning, load balancing, and
    high availability
  • Business and community issues surrounding the ASF and Open Source
    The paper submission deadline is Monday, 28 April 2007, Midnight GMT.

Thanks, and we hope to hear from you, and to see you in Atlanta.

S2 Tip - Use global result handlers for common results

Often, actions will share a number of common results. Rather than configure redundant result elements for each action, share common results through a global result handlers.

/common/Error.jsp

/common/Error.jsp

Login_input

<!-- ... -->

Using global result handlers ensures that common results will be
handled consistently, while reducing redundant code. Global results
increase coupling, but any action that needs to handle a result
differently can provide a local handler.

S2 Tip - If you are using JSPs, try to name the JSP folder after the namespace or Java package

Unlike template systems like FreeMarker and Velocity, JavaServer Pages cannot be served from a JAR or loaded from the classpath. The next best thing is to name the JSP folder after the namespace or Java package for the corresponding Action class.

By creating correlations between the pages and the Actions through a shared set of naming conventions, we increase cohesion within the application. If wildcards are used, consistent, shared naming conventions can reduce the number action elements an application needs.