OpenAjax Hub Specification v05 ChangeLog

From MemberWiki

Jump to: navigation, search

(The most current version of the OpenAjax Hub Specification is at http://www.openajax.org/member/wiki/OpenAjax_Hub_Specification.

(This wiki page holds a portion of the version 0.5 internal editorial draft for the OpenAjax Hub 1.0 Specification. The home wiki page for the version 0.5 draft specification is at http://www.openajax.org/member/wiki/OpenAjax_Hub_Specification_v05. Version 0.5 is preserved for historical reasons and therefore may be out of date. A key point about version 0.5 is that it holds the first stable version after implementing decisions about the Hub made at the March 2007 face-to-face meeting and in the follow-in meetings which resolved detailed issues from March to May 2007.)



<--previous       contents--^       next-->


Contents

Change Log

This appendix lists the significant changes with new versions of this specification.

Changes with version 0.5

At the March 22-23 meeting, we decided on significant changes to the Hub, including removal/postponement of some of the primary features. In subsequent teleconferences and email discussions, we made various other decisions about removing or adding features and made decisions about several issues. Here is the executive summary of the changes that resulted from these decisions:

  • Removal/postponement out of Hub version 1.0 of the markup scanner. As a result, the markup scanner chapter has been removed.
  • Removal/postponement out of Hub version 1.0 of all features having to do with managing JavaScript environment changes and JavaScript global variable collisions. As a result, the globals chapter has been removed.
  • Removal/postponement out of Hub version 1.0 of the registration methods for load and unload event handlers.
  • Increased support for wildcards within the publish/subscribe engine. Now, a period is used as a token separator; "*" can appear as a wildcard for any token; and "**" can appear at the end of an event name to match any number of subsequent tokens so long as the previous tokens match.
  • Removal/postponement of the bootstrapping and modularization features. (The Hub is now so small that modularization isn't critical anymore.)
  • Removal/postponement of the configuration options and object OpenAjaxConfig.

These changes were the direct result of what we learned from the InteropFest of March 2007, where 12 companies integrated with either version 0.3 or 0.4 of the Hub and provided feedback on the features. Multiple companies utilized the publish/subscribe mechanism, whereas other features (e.g., markup scanner, load/unload event management, globals management) were either not used or proved problematic.

The overall theme with these changes is "less is more". We hope to accelerate adoption of the Hub by keeping its footprint very small, thereby minimizing objections that it significantly increases download size.

Changes with version 0.4 - March 6, 2007

The specification was updated on March 6, 2007, to reflect decisions made during the Interoperability phone call on Feb. 21 and to finish implementation of decisions made during the Interoperability phone call of Feb. 7 (in particular, split off collision checks into a separate module). The wiki page holding the proposals is at (http://www.openajax.org/member/wiki/JonFerraiolo_Hub_Proposals_2007-02-20), and the minutes from the phone call are at (http://www.openajax.org/member/wiki/Interoperability_Minutes_2007-02-21).

Also, the collision check method, now called OpenAjax.checkForCollisions(), now returns an array that lists the collisions that were detected.

The executive summary:

  • The collision check method, now called OpenAjax.checkForCollisions(), now returns an array that lists the collisions that were detected. Previously, the method had a different name and threw an exception if any collisions were found.
  • Because the two modules "Libraries" and "Globals" have become so small and are considered necessary anyways, we have eliminated those modules and promoted the methods and public variables in those two areas into the core.
  • We have added a new module, "Collision", which contains the single method OpenAjax.checkForCollisions().
  • Various editorial changes have been made to the spec to reflect the above changes to how the features are modularized.

Changes with version 0.3 - February 10, 2007

The specification was updated on Feb. 9, 2007, to reflect decisions made during the Interoperability phone call on Feb. 7. The wiki page holding the proposals is at (http://www.openajax.org/member/wiki/JonFerraiolo_Hub_Proposals_2007-02-01), and the minutes from the phone call are at (http://www.openajax.org/member/wiki/Interoperability_Minutes_2007-02-07). The executive summary:

  • Remove OpenAjax.queryLibrary() and OpenAjax.queryLibraries(). Instead, expose read-only global variable OpenAjax.libraries. (Motivation: make the implementation smaller, which was deemed to have highest importance.)
  • Remove OpenAjax.getGlobals(). Instead, expose read-only global variable OpenAjax.globals. (Motivation: make the implementation smaller, which was deemed to have highest importance.)
  • Added OpenAjax.loadDone and OpenAjax.unloadDone.
  • Fixed description in Introduction about how OpenAjax addresses possible multiple usage scenarios. The old description was a mistake and never sincerely represented a proposal and was never implemented. The new description matches what has been implemented in the reference open source project.
Personal tools