Interoperability Minutes 2009-04-20
From MemberWiki
URL: http://www.openajax.org/member/wiki/Interoperability_Minutes_2009-04-20
Attendees
- Jon Ferraiolo, IBM
- Matthias Hertel
- Javier Pedemonte, IBM
- Howard Weingram, TIBCO
Original Agenda
- Agenda
- Issue 1: version string in iframe protocol
- Javier: http://openajax.org/pipermail/interop/2009q2/001046.html
- Howard: http://openajax.org/pipermail/interop/2009q2/001049.html
- Javier: http://openajax.org/pipermail/interop/2009q2/001048.html
- Howard: http://openajax.org/pipermail/interop/2009q2/001050.html
- Javier: http://openajax.org/pipermail/interop/2009q2/001060.html
- Issue 2: Subscriber invocation order: Hub2.0 versus Hub1.0
- Jon: http://openajax.org/pipermail/interop/2009q2/001056.html
- Howard: http://openajax.org/pipermail/interop/2009q2/001058.html
- Howard says: The order in which a single published event is received by a wildcard and a non-wildcard subscriber within the same client should be described in the spec as "arbitrary" and unpredictable.
- Issue 3: Hub 1.0 test suite issues
- Issue 4: Hub 2.0 charset issues with iframes
- Jon: http://openajax.org/pipermail/interop/2009q2/001040.html
- Bertrand: http://openajax.org/pipermail/interop/2009q2/001041.html
- Matthias: http://openajax.org/pipermail/interop/2009q2/001042.html
- Bertrand: http://openajax.org/pipermail/interop/2009q2/001043.html
- Howard: http://openajax.org/pipermail/interop/2009q2/001054.html
- Manos: http://openajax.org/pipermail/interop/2009q2/001047.html
- Matthias: http://openajax.org/pipermail/interop/2009q2/001055.html
- Bertand and Manos point out that web pages often use charsets other than UTF-8
- Manos points out that META tag and HTTP headers need to match
- Howard points out that payloads "must be JSON-serializable" and JSON requires Unicode and defaults to UTF-8
- Howard's conclusion is that we include best practice about encoding that says "should use UTF-8"
- Matthias suggests that our core only use ASCII 127
- Issue 5: iframe clients errors due to browser caching
- Issue 6: Sequencing, FIM and the back button
- Issue 7: Do we have enough in the spec about how unsubscribe is processed immediately?
- Test suite status
- Spec status
- Issue 1: version string in iframe protocol
Minutes
Issue 1: version string in iframe protocol
Jon: Is this a spec or an implementation issue?
Howard: Implementation. Not a high priority for any of us. I have other things to say on this issue but haven't sent mail.
Javier: I've received feedback from people at IBM. They are worried about future updates and hosts and clients from different software providers
Howard: I suggested protocol id includes major version number. Minor version number is separate. And say that we don't expect compatibility code for major version differences. And for minor should attempt to support other versions. But trickiness is which side decides. Container starts the conversation. HubClient could then talk through tunnel to ask about older versions. But lots of tricky bits, such as redirect issue. IMO, the reference implementation doesn't have to do anything about this within this version.
Jon: There is a possibility in the future of adding a 3rd parameter, params, to the connect() API.
Howard: Another option would be to add more information to getPartnerInfo.
Matthias: Protocol defines how data is exchanged. Other information is about the implementation of the Hub.
Howard: Yes. I want to make sure we are putting version numbers on the interface.
Jon: Just do declarative for now via URL param.
Howard: Yes, only say refimpl supports on protocol now.
Matthias: Yes, good idea.
Issue 2: Subscriber invocation order: Hub2.0 versus Hub1.0, Issue 3: Hub 1.0 test suite issues
(resolved in email, reconfirmed during phone call)
RESOLUTION: Reconfirmed that filterFunc and reinit() are deprecated. Need to note that in the spec. Can remove filter tests from the test suite.
Issue 4: Hub 2.0 charset issues with iframes
Jon: Per Howard's email, we use JSON for transmitting payloads, which requires Unicode and "defaults" to UTF-8. We should say that people SHOULD use UTF-8 for data that will end up in a message
Matthias: Agree
Jon: But what exactly goes in the spec, and where to put it? Based on emails, you can't just say you must use UTF-8.
Howard: Inline cases don't require UTF-8. It is much safer for implementations to use UTF-8. Allows mashups to work across browsers and in combination with things from other parts of the world
Jon: If not UTF-8, should put content in an iframe and convert payloads to UTF-8
Howard: Yes, but challenging to do the conversion
Jon/Howard: SHOULD use UTF-8 so that compatible with content from around the world
Matthias/Howard: encodeURL on ECMA says UTF-8 encoding
Matthias: We should specify UTF-8 but restrict to ASCII 127 to give change to work with other code pages
Jon/Howard: Yes
Jon: Haven't done anything out of range yet
RESOLUTION: SHOULD use UTF-8 so that compatible with content from around the world
Issue 5: iframe clients errors due to browser caching
Howard: I need to look at this still
Javier: I see it only on Firefox, but have workaround code for now, which is to set 'src' after putting the IFRAME into the DOM. But IE6 gives error on HTTPS if no 'src', so put a dummy 'src' on first. I included a long comment in the code.
Issue 6: Sequencing, FIM and the back button
Javier: window.location.replace has no history impact (versus assignment). And as a safety factor, FIM has a sequence counter.
Howard: I need to run my tests again. Some tests were back-button sensitive
getParameters
Howard: I requested this
Javier: No problem
Howard: I added that to the page
Javier: I'll fix the code
Test suite
Jon: Very far along now. Javier and I have added lots of test cases covering nearly all of the APIs. Nearly done. There are about 10 different test case files each with many tests inside.
Howard: Have you covered all scenarios from my wiki page?
Javier: Most of them. No integration tests yet. Anything we need to cover there?
Howard: Different types of integrations. Managed Hub nesting.
Javier: Already have nesting.
Jon/Howard: Add some dynamic tests where calls subscribe and unsubscribe.
(discussion about looping)
Howard: I had a check in my code to look at nesting level. 200 callbacks deep max. I don't remember if I submitted it.
Build scripts
Jon: We have build scripts. Invoke shrinksafe on the JS.
Howard: Nice
Closing out Hub 2.0
Javier: Left to do: getParameters, protocol, and test suite. Can we close down this week?
Jon: Yes on APIs, code and test suite. But voting takes a number of weeks.
Howard: We still need to clean up the spec. Still some red-colored notes.
Jon: We can take a snapshot and call it build 288 or whatever
Howard/Javier: Call it our release candidate
