[OpenAjaxGadgets] Minutes 2009-04-20

Jon Ferraiolo jferrai at us.ibm.com
Tue Apr 21 15:09:04 PDT 2009




Gadgets Minutes 2009-04-20



URL: http://www.openajax.org/member/wiki/Gadgets_Minutes_2009-04-20


                                                                            
                                                                            
                                                                            




Attendees
      Jon Ferraiolo, IBM
      Eduardo Abe, IBM/ILOG
      Stew Nickolas, IBM
      Javier Pedemonte, IBM
      Rich Thompson, IBM
      Howard Weingram, TIBCO

Original Agenda
      Issue 1: Rename 'default' to 'defaultvalue'?
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000205.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000207.html
      Issue 2: Request a widget mode
            Howard asks about having a getMode() API
            Question is how does a widget know what mode it is in when
            first rendered. Should onModeChanged event be sent right after
            onLoad?
            What is order of events: widget loaded and ready to be
            initialized (onLoad?), queued events, widget ready for
            rendering (onModeChanged?)
            What about 'renderedBy'?
            New API requestMode()?
            On first onModeChanged, what is value for oldMode?
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000190.html
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000193.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000199.html
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000200.html
            Rich:
            http://openajax.org/pipermail/gadgets/2009-April/000208.html
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000210.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000211.html
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000215.html
            Rich:
            http://openajax.org/pipermail/gadgets/2009-April/000218.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000219.html
            Rich:
            http://openajax.org/pipermail/gadgets/2009-April/000220.html
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000222.html
      Issue 3: Remove 'topic' attribute from <property> element
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000206.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000212.html
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000216.html
            Rich:
            http://openajax.org/pipermail/gadgets/2009-April/000221.html
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000217.html
      Issue 4: Property onChange notification events
            Widget see its own property changes? Proposal: no
            Dependencies between Widget and Hub specs? Proposal: property
            system not dependent on Hub, but event system requires support
            for Hub APIs. "The hub sub-object MUST implement the HubClient
            interface and semantics defined in the OpenAjax 2.0
            specification."
            Namespacing events? Proposal is refer to Hub spec best
            practices
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000165.html
            Rich:
            http://openajax.org/pipermail/gadgets/2009-April/000166.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000169.html
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000170.html
            Javier:
            http://openajax.org/pipermail/gadgets/2009-April/000167.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000168.html
            Rich:
            http://openajax.org/pipermail/gadgets/2009-April/000171.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000172.html
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000174.html
            Javier:
            http://openajax.org/pipermail/gadgets/2009-April/000179.html
            Rich:
            http://openajax.org/pipermail/gadgets/2009-April/000173.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000181.html
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000182.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000183.html
      Issue 5: questions about "topic" sub-elements
            Need to clean up schema and spec relative to PARAMETER,
            RETURNTYPE and PROPERTY children of TOPIC
            RESOLVED IN EMAIL?
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000175.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000186.html
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000187.html
      Issue 6: type checking inbound messages & data being stored
            RESOLVED IN EMAIL?
            Responsibility of widget to verify correctness of incoming
            messages
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000176.html
            Rich:
            http://openajax.org/pipermail/gadgets/2009-April/000177.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000178.html
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000185.html
      Issue 7: widget onUnload vs onShutdown
            unload and shutdown the same thing?
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000191.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000197.html
      Issue 8: sizeChanged event questions
            RESOLVED IN EMAIL? (inner boundaries)
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000192.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000198.html
      Issue 9: Does JAVASCRIPT need a mode attribute?
            Howard:
            http://openajax.org/pipermail/gadgets/2009-April/000194.html
            Jon:
            http://openajax.org/pipermail/gadgets/2009-April/000203.html

Minutes

Issue 1: Rename 'default' to 'defaultvalue'?


Jon: Kin accepted this meeting, so let's wait for him to arrive before
talking about this





Issue 2: Request a widget mode


Jon: getMode() resolved in email?


RESOLUTION: Add getMode() API


Jon: What about requestMode()?


Stew: We already have requestDimensions. Up to the container. If honored,
you get a modeChanged event.


Howard: Yes, that's good.


RESOLUTION: Add requestMode() API


Jon: Howard already put getMode() and requestMode() into the open source
and into the spec


Howard: Why a 3rd step, constructor, onLoad, and then modeChanged?


Jon: Constructor isn't really a step. Simple creation of a JavaScript
object.


Jon: What about Rich's note about queued events?


Howard: There could be lots of stuff that happens on bootstrap. I don't
want to do queued events. Not with Hub 2.0, which doesn't have such a
feature. Could have a lot of complexities. Question: when is a widget ready
for rendering? I think forcing an onModeChanged event is a hack. No mode
change is going on. Just a trick for a pseudo standardized render step.
Widget not yet ready should put up an hourglass if not ready to render.
Widget itself may need to make requests before it is ready to render
everything.


Stew: Rich, are you on? No. I'll try to represent Rich. Popcorn model.
Initial render. You get data and rendering will morph. It sounds like you
can queue events before you get data from the server. But I am nervous
about all of the moving parts. At load time, getMode() should work. Agree
that modeChanged should only happen when a mode changes. In portals, want
to batch events before talking to servers.


Howard: I would say that is implementation-specific. Not something to put
into the widget spec.


Jon: Maybe a future version of the widget spec could batch APIs


Howard: Not really related to load or modechange


Jon: I agree.


Howard: In the onload call, you can call getMode()


Jon: Sort of hidden. How about passing a param object to the onLoad
handler, where we define one parameter right now, which is the initial
mode?


Howard: If code supports multiple modes, you need to check anyway. Just as
easy to check with getMode() as with param.initialMode


Stew: I was thinking like Howard, but good point that it is hidden


RESOLUTION: No params.mode.


RESOLUTION: Add informative note to spec that if your widget supports
multiple modes, you should call getMode() to determine the initial mode


RESOLUTION: If you call getMode() within an onModeChanged callback, you get
the new node.


Jon: What about the 'renderBy' property


Howard: Add complexity


Stew: My experience, property editors mostly done by container's UI, but
sometimes widgets will have a custom edit mode


Howard: Why not just always honor the widget's edit mode?


Stew: Might be security issues


Jon: Yes, with frame isolation in different domains, but this is more of an
implementation complexity issue due to security rather than a security
issue. Another question is the UI designer. He might design the mashup
app's UI to put property editor dialogs on the right side of the window
always and might feel that UI consistency is more important than adding
support for the custom editor UI provided by the widget which will show
within the widget, which is different than other widgets, so for UI
consistency, the edit mode might not be honored.


Stew: Then there is the IDE perspective, where a runtime environment isn't
available. In most IDE scenarios, the tool would have to put up its own
property editor and ignore the custom edit content.


Jon: Yes


Howard: OK, I'll cave. OK to leave renderedBy.


RESOLUTION,: Approve renderedBy property on onModeChanged payload





Issue 3: Remove 'topic' attribute from <property> element


Jon: What we moved to in email discussion is that we might want to offer an
exchange name that might be different than the 'name' attribute, which is
used locally within the widget


Howard: Yes, but not sure of the best attribute name


Jon: externalName or sharedName?


Howard: Let's put those down for now


Stew: sharedName or shareName?


RESOLUTION: Change 'topic' attribute to 'sharedName' attribute. See if
people can think of a better attribute name than 'sharedName'.





Issue 4: Property onChange notification events


Jon: Should widgets see their own changes?


Howard: If not, then system has to put special logic into the HubClient
side


Rich: If echoes back, causes complexities to developers


(unminuted long discussion.)


Jon proposes that setPropertyValue() semantics are really
requestSetPropertyValue() since container can deny the request, such as due
to security policy


Agreement that setPropertyValue() can be an async action, depending on
whether widgets are isolated into Iframes and whether server requests might
happen during processing


RESOLUTION: Spec needs to say that setPropertyValue() can be async and may
be denied


RESOLUTION: Up to widget developers to prevent infinite loop, such as
attempt to force a property to a certain value via setPropertyValue()
within onchange callback


RESOLUTION: Add 'self' boolean property to onChange payload to indicate
whether property change came from same widget


RESOLUTION: onChange is called always, even if setPropertyValue() came from
same widget
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://openajax.org/pipermail/gadgets/attachments/20090421/c93294b4/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ecblank.gif
Type: image/gif
Size: 45 bytes
Desc: not available
Url : http://openajax.org/pipermail/gadgets/attachments/20090421/c93294b4/attachment-0001.gif 


More information about the gadgets mailing list