Interoperability Minutes 2007-01-10
From MemberWiki
Full minutes: /member/wiki/Interoperability_Minutes_2007-01-10
Contents |
OpenAjax Alliance Interoperability Committee meeting minutes 2007-01-10
Attendees
- Adam Peller <apeller(at)us.ibm.com>
- Alex Russell <alex(at)dojotoolkit.org>
- Charles Lowell <cowboyd(at)thefrontside.net>
- Craig McClanahan <craig.mcclanahan(at)sun.com>
- David Boloker <boloker(at)us.ibm.com>
- Gideon Lee <glee(at)openspot.com>
- Guido Laures <Guido.Laures(at)softwareag.com>
- Ingo Muschenetz <ingo(at)aptana.com>
- Jon Ferraiolo <jferrai(at)us.ibm.com>
- Joonas Lehtinen <joonas.lehtinen(at)itmill.com>
- Ken Tam <kentam(at)bea.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
- Open Source project at SourceForge - Source code and automated tests for Hub nearly feature-complete
- OpenAjax Hub Specification - largely complete
- /member/wiki/OpenAjax_Hub_Specification
- With OpenAjax Conformance requirements inside
- OpenAjax Official Registry of Toolkits/Libraries and Associated Global Variables
- Just getting started at: /member/wiki/Registry
- Best practices. Just getting started at:
- All of the above provides a concrete version 1 definition of "OpenAjax Conformance"
- Conformance means you support the relevant union of ( Hub, Registry, Best Practices )
- See write up at: /member/wiki/OpenAjax_Conformance
- Interoperability WG proposal and charter in 2nd half of January - per our Development Process
- What should be nature of InteroperabilityFest on second day of our face-to-face (March 22-23)?
- Proposal: Interoperability event has two aspects
- A: One standard test skeleton (HTML+JS) that verifies conformance with Hub.
- Toolkit suppliers need to modify test skeleton to load their libraries (which have been tweaked to be OpenAjax Conformant)
- The test will print CONFORMANCE TEST PASSED multiple times in response to:
- library invokes
OpenAjax.registerLibrary() - library invokes
OpenAjax.registerGlobals() - library invokes
OpenAjax.addOnLoadEvent() - Event hub not disrupted
- Markup scanner not disrupted
- library invokes
- B: Vendors encouraged to brag about demonstrating integration of multiple Ajax toolkits by leveraging Hub
- A: One standard test skeleton (HTML+JS) that verifies conformance with Hub.
- Set low expectations:
- Claim victory if we get a handful of companies to participate (even if they don't pass)
- But shoot for demos of some actual interoperability
- Members strongly encouraged to participate in the event
- OK to use a forked version of your toolkit for event which will be integrated with mainline later
- Results of interop event likely to be included in press release after the F2F that talks about what happened at the F2F
- Proposal: Interoperability event has two aspects
Minutes
Topic: Hub status
Jon: Hub is now feature complete! Source code, tests and specification has been written. Little details, review and testing is still missing. It is ready now for integration and testing. Link for the specification is in the agenda. Has anyone looked it yet?
4 people: Skimmed it though, but not yet properly read.
Jon: We could have a phone call for walking through implementation details of the hub.
Gido: Phone call would be great, to get implementation started.
Grec: How about having one topic a week. For each topic one presenter.
Jon: Any other ideas? Most of the stuff is trivial and can be gone through quickly. Maybe 2 or 3 sessions would be enough. We should have session next week, this (interoperability committee meeting) timeslot to get started. I can do presenting. After that we should schedule subsequent phone calls.
Everyone seems to agree.
Topic: Registry and Best practices
Jon: OpenAjax Alliance should maintain registry of global variables; information on which toolkit owns which variables. The project have not yet started. Wiki page would be natural solution for starters. We should start planning this in next couple of weeks.
Joonas: Would the wiki be open to public?
Jon: Yes, whole wiki is open for reading. Still, final form of publising (of the registry) would be to put variables in a javascript- file.
Jon: Which would be the most important libraries to include first in the registry?
Alex: Important to get OpenAjax Alliance members first.
Jon: Prototype is the most popular and basis of many alliance members toolkits. So it could be one of the first.
Alex: There might be versioning conflicts when two vendors use different prototype versions that have conflicts.
Gideon: Could we use Java package naming convention? (reverse domain name)
Jon: One of the virtues of JavaScript is simplicity. Forcing to use reverse domain name noation would be in conflict with that simplicity. Also we should note that most vendors already use other naming conventions.
Alex: We could provide guidelines for toolkit construction. There are no moral right to deny alliance members to use whatever naming they currently have.
Jon: This is more about promoting best practices. For example: recommending to use small number of globals and have toolkit name as prefix. In best practices there should be musts and shoulds. Most of the guidelines should be shoulds not musts.
Alex: We really should not force anyone to strict conventions.
Jon: Agreed.
Jon: How about jsunit and other semi-standard toolkits. Do they belong in the registry (as is)?
Alex: We want to give (best practices) guidelines to allow vendors to write their libraries well.
Jon: Dojo uses nine global objects. Two of them are in line with best practices, but the rest are not.
Alex: Yeah. Everything in global space (except the two objects you mentioned) should be redefinition safe.
Jon: So, what happens if we load Yahoo library after Dojo?
Alex: ... There is might be some issues.
Jon: In any case, Dojo is like best case - other libraries probably have lot more issues.
Jon: Lets organize the discussion in future phone calls to have register project going.
Jon: Timeframe of the best practices project is to gain momentum later in 2007, now hands are full with hub and registry projects.
Topic: Conformance
Jon: Notion of compliance. Presented to marketing and interop. Conformance means: you support hub, registry and best practices. Wrote a wiki-page. The information should be moved to public site as official statement of conformance later. I would like to have early feedback to that proposal.
Alex: What we mean when we say "support hub". When one toolkit does not need all of the features of the hub (like markup-scanning), does it then support it by not interfering?
Jon: Wrote about this to wiki. In test-cases you do not have to use markup-scanner. You have to register lib and globals. If you have load events handler, you must register it. It is not necessary to use markscanner and (?) to pass the tests.
Alex: Markup scanner doubles the size of the hub.
Jon: This is another issue. How to package the hub. Doing research on this. Suppose Dojo does not use markupscanner, but Yahoo library does. How developers know how to include the hub properly so that all of the features (required by those libraries) are present?
Alex: We can't control how the hub is distributed. What we could do, is to make sure that nothing is defined twice even when the (hub) scripts are included twice.
Jon: Do you think that we shoud allow hub to be included in different toolkits?
Alex: We have no options
Jon: Just say in the documtation to get hub from sourceforge.
Joonas: It is important to allow toolkit vendors to include hub (or parts of the hub) inside their toolkits. This is necessary to be able to get toolkits to work properly out of the box.
? : Jon, what do you mean by splitting hub into different parts?
Jon: Ant file is used to build files. There are five files that implement different features. If a toolkit doesn't need to use one feature, it can just include other four files. On the other hand. Our implementation is meant to be refrence implementation. Some vendors can include hub source code as is (into their toolkits), but also they can implement hub from specifications. As long as they pass the tests.
Topic: Interoperability WG proposal and charter in 2nd half of January
Jon: In the fall face to face meeting we worked on development process (how specs are developed and approved; and working groups are formed). We have to change this committee to a working group to comply with this. I have been working on charter to make this committee formal. Link to the current state of the charter is on agenda. We want to first wait that develoment process is approved and final. This is important to be able to publish specifications. Any comments on the charter or dev process?
Topic: Interoperability event
Jon: In last face to face meeting we talked about having the next face to face meeting in March 2007 just after AjaxWorld. The plan was to reserve one day general discussions and one day for interoperability event of some sort. Agenda is not yet set. When we talked about this in marketing committee yesterday, we came into conclusion to have two levels of interoperability; (A) single test to verify conformance with hub, (already mentioned the three things to pass). This is in fact really simple: just did a three line test library that passes the test. Do you think that it is a good approach to make interoperability test this simple to pass?
Greg: I like those three statements.
Jon: Even though it sounds easy, for larger libraries like Dojo it is a lot more work.
Alex: Its our problem, so you don't have to worry about it.
Jon: When discussing this in marketing committee; how the process and event should work in practice; couple of vendors said that it should be done offline asyncronously (beforehand). And instead of doing the real integration work in the event, just show off demos (of various toolkits) that they are conformant.
Gitto: Fully agree. It would take time anyway to do the integration work. It would not be realistic to expect it to be done in one-day session.
Jon: Also many vendors are sending marketing people to OpenAjax meeting, so the engineers might not be in the meeting (to do the integration there). So this should be done asynchronoysly offline beforehand. Maybe we need a wiki-page to where vendors can say that they pass the tests.
Gitto: Yes, and then they can demonstrate the demo as proof in face to face meeting.
Greg: Should we require everyone to include some evidence in the wiki as a proof of conformance? Maybe a jsunit log file?
Jon: Or just trust their announcement of conformance?
Joonas: Trust is (in my opinion) the best way to go. This can in any case be verifien in the face to face meeting demos.
Greg: It is not matter of trust, instead its a matter of miscommunication. To avoid miscommunications we should submit jsunit log files. It should be quite easy.
Jon: Jsunit tests are for testing the implementation of the hub. Not for the conformance of the toolkits. So basically jsunit is only for internal purposes. Only real way to see if a library is conformant, would be to see the sources. In theory you could run jsunit tests against hub in toolkit.
Alex: What should we do if people just lie? Should be demand some recourse?
Jon: Maybe we could give a warning about membership status if a vendor makes incorrect statements of their conformance?
Jon: This is really a topic for steering committee. Tomorrows agenda is full, but we'll discuss this later there.
Jon: Ok. That (B) part of the interoperability is to demonstrate toolkits ability to work with other toolkits using the hub. Is is much harder, but has been done before. For example Tibco have integrated Dojo in the past and Suns JMake integrates multiple toolkits. But both do it without using the hub, because it did not exist before. We should encourage vendors to showcase this, it could be included in the press-release.
Joonas: Isn't it a problem (for vendors) that there is no toolkits supporting hub available yet. I mean that it is hard to demonstrate interoperability if there is no other toolkit to test it against.
Jon: Right. So what do you think about interoperability demo (B)? Would anyone object arraning it?
Greg: No, it is a great idea.
Joonas: Vendors should not just announce that they are conformant on that wiki page (we talked earlier), but to encourage them to also announce that they are interested in doing interoperability demo together with others. This way the vendors know who to contact to make demo happen.
Jon: Good idea. Also, we should put instructions in the wiki on how to get correct toolkit version that could be tested against other toolkits.
Topic: Next meeting
Jon: Next weeks topic is open source implementation of the hub. And on the week after it we'll have a normal interoperability meeting where we will discuss about registry and other projects.
