Interoperability Minutes 2009-04-13
From MemberWiki
URL: http://www.openajax.org/member/wiki/Interoperability_Minutes_2009-04-13
Attendees
- Jon Ferraiolo, IBM
- Javier Pedemonte, IBM
- Howard Weingram, TIBCO
Original Agenda
- Agenda
- Issue 1: Hub interface issues with disconnected state
- Executive summary: raise Disconnected error for 3 APIs?
- Javier: http://openajax.org/pipermail/interop/2009q2/001033.html
- Issue 1: Hub interface issues with disconnected state
Hub.isConnected Hub.unsubscribe Hub.getSubscriberData Hub.getScope ... I suggest we keep HubClient.disconnect() as is but change the API to say that calling any Hub interface functions other than Hub.isConnected will result in a Disconnected error if the Hub instance isn't currently connected.
That's fine
- Issue 2: move isConnected() from Hub to HubClient interface?
- Executive summary
- On manager side, should the API be isActive() or isConnected()?
- Along the way, discussion about which errors are returned via onComplete and which are returned immediately. Apparent agreement among Javier and Howard that sync errors are thrown immediately, whereas async errors happen via onComplete
- Javier: http://openajax.org/pipermail/interop/2009q2/001004.html
- Jon: http://openajax.org/pipermail/interop/2009q2/001006.html
- Howard: http://openajax.org/pipermail/interop/2009q2/001007.html
- Javier: http://openajax.org/pipermail/interop/2009q2/001009.html
- Howard: http://openajax.org/pipermail/interop/2009q2/001012.html
- Javier: http://openajax.org/pipermail/interop/2009q2/001016.html
- Javier: http://openajax.org/pipermail/interop/2009q2/001019.html
- Javier: http://openajax.org/pipermail/interop/2009q2/001020.html
- Javier: http://openajax.org/pipermail/interop/2009q2/001022.html
- Howard: http://openajax.org/pipermail/interop/2009q2/001024.html
- Howard: http://openajax.org/pipermail/interop/2009q2/001026.html
- Howard: http://openajax.org/pipermail/interop/2009q2/001027.html
- Javier: http://openajax.org/pipermail/interop/2009q2/001028.html
- Jon: http://openajax.org/pipermail/interop/2009q2/001029.html
- Howard: http://openajax.org/pipermail/interop/2009q2/001030.html
- Jon: http://openajax.org/pipermail/interop/2009q2/001031.html
- Howard: http://openajax.org/pipermail/interop/2009q2/001032.html
- Executive summary
- Issue 3: getScope() inconsistencies
- Issue 2: move isConnected() from Hub to HubClient interface?
First, there is a conflict between "Hub.getScope( subID )" and
"ManagedHub.getScope()". The former gets the scope associated with a
given subscription. The latter gets the scope passed in to the ManagedHub
constructor.
Second, the documentation for "onSecurityAlert" states that it runs within
the scope defined by "Hub.getScope()". This suggests that
"Hub.getScope()" should function more along the lines of
"ManagedHub.getScope()".
I suggest the following APIs:
ManagedHub.getScope()
- returns "scope" passed in to ManagedHub constructor
HubClient.getScope()
- returns "scope" passed in to HubClient constructor
Hub.getSubscriberScope()
- returns "scope" passed in to Hub.subscribe()
- replaces existing Hub.getScope()
- Issue 4: onComplete mandatory / HubClient.getID()
- Executive summary:
- onComplete mandatory param? (Howard says yes, Jon says no)
- Add HubClient.getID()?
- Switch order of params? (Howard says yes)
- Javier: http://openajax.org/pipermail/interop/2009q2/001010.html
- Jon: http://openajax.org/pipermail/interop/2009q2/001011.html
- Javier: http://openajax.org/pipermail/interop/2009q2/001017.html
- Jon: http://openajax.org/pipermail/interop/2009q2/001018.html
- Howard: http://openajax.org/pipermail/interop/2009q2/001023.html
- Howard: http://openajax.org/pipermail/interop/2009q2/001025.html
- Executive summary:
- Issue 5: onComplete callback in Hub and HubClient interfaces
- Test suite status
- Issue 4: onComplete mandatory / HubClient.getID()
Minutes
Issue 1: Hub interface issues with disconnected state
RESOLUTION: As discussed in email, throw disconnected errors
(Javier has already changed the code and the spec. )
Issue 2: move isConnected() from Hub to HubClient interface?
Javier: Resolved in email
RESOLUTION: Leave isConnected() on Hub interface
RESOLUTION: Throw errors immediately for errors that don't require async processing
Javier: There might be a couple of detailed differences remaining where the code and spec aren't completely in sync
ACTION: Javier and Howard to make minor changes to exceptions as needed
Issue 3: getScope() inconsistencies
(discussed in email)
RESOLUTION: Solve problem by having both Hub.getScope() and Hub.getSubscriberScope()
Issue 4: onComplete mandatory / HubClient.getID()
Howard: I'm OK with it being optional. I did some coding this weekend and saw why it is OK to be optional.
(discussion about how this means it is not compelling to switch order of parameters, and how leaving parameters as they are now means first parameters match for OpenAjax.hub.subscribe() and HubClient.subscribe().)
RESOLUTION: Leave onComplete as optional, don't change order of parameters on subscribe()
Issue 5: onComplete callback in Hub and HubClient interfaces
(conclusion that this overlapped with other issues discussed on this phone call, and therefore has been resolved)
Test suite status
(Javier has code for test code for most of the interfaces. Jon has extended Javier's iframe test harness to allow testPubSub.html to be run in a loop against ManagedHub, IframeHubClient, and InlineHubClient, with careful attention to orchestrating timing to deal with async message passing complexities. Jon reports problem where cannot run iframe tests in a loop more than twice, which is mysterious since the DOH engine treats each test as a separate independent web page. Maybe aggressive browser caching is causing problems. Jon to package up the problem and send to Javier to review.)
