OpenAjax Hub Specification v06 ChangeLog
From MemberWiki
(This wiki page holds a portion of the version 0.6 internal editorial draft for the OpenAjax Hub 1.0 Specification. The home wiki page for the version 0.6 (July 8, 2007) draft specification is at http://www.openajax.org/member/wiki/OpenAjax_Hub_Specification_v06. Version 0.6 is preserved for historical reasons and therefore is out of date.)
(The most current version of the OpenAjax Hub Specification is at http://www.openajax.org/member/wiki/OpenAjax_Hub_Specification.
Contents |
Change Log
This appendix lists the significant changes with new versions of this specification.
Changes with version 0.6 (July 8, 2007)
The changes from version 0.5 and 0.6 were detailed cleanups, almost all simply editorial updates to the specification without change in functionality from version 0.5. Specifically:
- The OpenAjax Alliance Steering Committee approved an Interoperability Working Group on May 14, so some of the specification text needed to be updated to reflect this event.
- Recently, the Marketing Working Group has developed an updated Web page for the OpenAjax Hub. The contents of this Web page have been used to update some of the introductory sections in the specification. One sub-section provides an example of an how an application might use the Hub.
- There used to be FIXME notes in the open source project that provided various warnings to application developers about how the Hub operates. These minor warnings have now been added to the specification.
- Two new issues are pending as of this date. One of these issues has to do with the current conformance requirement that developers must have xmlns declarations for each toolkit. Most likely the Interoperability WG will decide that this requirement should be removed. For now, the requirement remains but there is a note in the text indicating that the requirement might be removed.
- Removed obsolete reference to OpenAjaxConfig as a global object. The text now says a future version of the Hub might use global object OpenAjaxConfig.
- Many minor editorial cleanups. Use wiki history tab to see them.
Changes with version 0.5 (May 7 2007)
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.
