Interoperability Minutes 2007-01-24

From MemberWiki

Jump to: navigation, search

Full minutes: /member/wiki/Interoperability_Minutes_2007-01-24

Contents

OpenAjax Alliance Interoperability Committee meeting minutes 2007-01-24

Attendees

  • Alex Russell <alex(at)dojotoolkit.org>
  • Coach Wei <coach(at)nexaweb.com>
  • Craig McClanahan <craig.mcclanahan(at)sun.com>
  • David Boloker <boloker(at)us.ibm.com>
  • Greg Murray <greg.murray(at)sun.com>
  • Jon Ferraiolo <jferrai(at)us.ibm.com>
  • Joonas Lehtinen <joonas.lehtinen(at)itmill.com>
  • Kevin Hakman <khakman(at)tibco.com>
  • Louenas Hamdi <louenas.hamdi(at)sap.com>
  • Phil Berkland <berkland(at)us.ibm.com>
  • Rama Gurram <rama.gurram(at)sap.com>
  • Rick Evans <Rick.Evans(at)Sun.COM>
  • Shailesh Hingole <shingole(at)gce2000.com>
  • Ted Thibodeau <tthibodeau(at)openlinksw.com>

Original Agenda

  • Agenda
    • Feedback from implementers on the InteropFest test case
      • Who all is working on InteropFest?
    • Next steps with the Registry
      • Background
        • Haven't found any prior art around finding and managing global variables
        • Browsers themselves put things on window and document objects
      • Proposal: start off with research phase
        • Create a wiki page that lists globals used by various browsers and toolkits
        • Research globals used by IE, Mozilla, Safari and Opera
          • Anyone know how to get info on IE? (for/in seems incomplete - leaves out getElementById())
        • Research globals used by leading Ajax toolkits
          • Write utility HTML+JS that does before/after analysis of JavaScript environment using for/in logic to presume what globals have been added
          • Prototype, Scriptaculous, RonR, Dojo, Yahoo, DWR, GWT, Atlas, ... ???
    • Wildcards in publish/subscribe mechanism
      • Describe java-like event naming convention (foo.foo.foo. ...) in the spec as some sort of "best practice" to achieve lightweight offering but promote flexibility and robustness?
    • Continue to walk through of the OpenAjax Hub Specification

Minutes

Topic: InteropFest test case Feedback

Jon: Asked for the feedback on InteropFest test case and mentioned that Ted implemented this in Openlink toolkit.

Topic: Next steps with the Registry

Jon: Started exploring and not much progress to report. Did not find any prior art on Java Script Object collision detection related work.

Jon: Did a quick test on by adding an element to the DOM and get the element using document.getElementById and found out that the behavior is different among different browsers.

Jon: Make sure browser venders acknowledge the OpenAjax registry and register their globals in the registry.

Jon: Going to create a wiki page to publish the following results of research on browsers & toolkits related to registry.

  • Globals used by browsers, toolkits
  • Identify patterns & categories
  • Guidelines to make registry compatible among browsers & toolkits (Currently there is no compatibility among the browsers)

Jon: Write a simple HTML/Javascript page with for loop implementation to introspect the browsers & toolkits.

Alex: Mozilla & IE debuggers can be used to find out about the browser namespaces.

Jon: Can we use the browser debuggers to find the toolkit namespaces?

Alex: You can use patched version of Firebug to find the toolkit namespaces.

Jon: Create a HTML/Javascript page with a Button and wait for the click event to find out what toolkit ‘A’ does for Browser ‘X” Vs Browser ‘Y’ Vs Browser ‘Z’.

Jon: In the research phase for the Registry

  • Create few Categories
  • Select number of toolkits for Categorization
  • Start with toolkits that have highest market share. (Prototype, Scriptaculous, RoR, Dojo, DWR, Yahoo, GWT, Atlas …)

Alex: Atlas version 1.0 released today and the library is free

Some body mentioned that you need to pay for the recommended tools like Visual Studio & .NET development tools to develop Atlas based applications.

Jon: Going to work on the research phase and it is going take couple of week to report research results.

  • Create an array which lists Global variables.
  • Toolkit vendor can figure out what globals are used in the toolkit.
  • The harder part is to deal with the toolkits & browsers that are not part of the alliance.
  • Need automated tools to find out about the global and namespaces. You just can’t trust the published information alone. Don’t know how hard is to build such an automated tool.

Topic: Wildcards in publish/subscribe mechanism

Jon: Howard is working on a proposal for wild cards in publish / subscribe mechanism. Howard is considering Regular Expressions to implement wild cards. Wait for the Howard’s proposal.

Questions: Is there a w ay to consider using regular expressions from Jmock.

Jon: If we can reuse any regular expression based wildcards from other libraries / frameworks please send pointers to Howard.

Topic: Markup Scanner (Continue to walk through of the OpenAjax Hub Specification )

Jon: Markup Scanner registers it self and perform the top-down traversal of the DOM and invoke the callbacks.

Jon: The kind of things that can be registered are consolidated in to 3 groups. 1) registerAttrScanCB 2) registerTagnameScanCB 3) registerCustomScannerCB

Jon: Is any body using the Scanner functionality?

Alex: he may use in the future/

Kevin: Contemplating the use of Scanner and mentioned the following Pro and Cons of Scanner usage.

Pros: Standards based

Cons: In portal environments it is hard to avoid redundant scans by toolkits, performance issues.

Alex: In Dojo top-down traversal code has been replaced with Xpath in the supported browsers. Scanner can be used for “Partial Match” feature.

Jon: Is it possible to unify Dojo Scanner with Hub Scanner. If they can’t get consolidated we have to ask our self why?

Jon: Other approach is decoupling the Scanner from the Hub so that it can be used separately.

Alex: asked about how modularized is the scanner code in the Hub.

Kevin: Tibco favors modularization of the Scanner so that they can use their own Scanner.

Jon: From current implementation it is easy to separate the Markup Scanner.

Jon: Conformance Requirements - If hub is present toolkits must not perform the top-down scan, but has to go through the hub.

Ted: It is valuable to avoid the double top down.

Alex: Must is fine. In majority of the cases there will be once scan.

Alex: If it is too slow, scan should not happen.

(agreement to replace MUST with SHOULD in the requirement about using the Hub's scanner)

Jon: OpenAjaxConfig.scanPage - The default behavior on whether to scan or mot to scan on the page load is open for discussion.

Alex: Suggested a new method toolkits call to register for the interest in the scan.

(discussion of multi-toolkit pages ended up with conclusion that maybe current approach is ok. if no one registers a scanner callback, then the scanner returns immediately. decision that spec should clearly state that scanner must not scan if no callbacks registered)

Jon: callback function - the scanning continues top down until a callback says stop scanning further at current sub-tree level.

Question: Tibco’s toolkit currently does not scan the page, but used in-line markup. Does this cause any problems with Conformance tests?

Jon: It is easy to pass the Conformance tests and the test has 5 parts. 1) Register the Library 2) Register Globals 3) Load Events if any and register them with the hub. 4) Publish / Subscribe mechanisms 5) Markup scanner. The last 3 steps in these are optional.

Jon: The current state of the Hub seems to be ok and it is reasonably working.

Jon: Bootstrapping - Hub is the bootstraper, so only one version of hub can be loaded. Detailed discussion on this is in the next meeting.


Topic: Next Meeting

Jon: In 2 weeks on Bootstrapping, Modularization and Inclusion

Personal tools