[OpenAjaxGadgets] Request a widget mode

Jon Ferraiolo jferrai at us.ibm.com
Tue Apr 14 09:02:01 PDT 2009


I propose that this issue is considered resolved. If anyone objects, please
speak up.

Here is a summary of the resolution:
* We will add a getMode() API (which Howard has already added)
* At widget load time, the mashup applications must send an onModeChanged
event to notify the widget about its initial mode, following Rich's
processing model description (I put a red-colored reminder in the Widgets
API chapter about this)

Jon



                                                                           
             Howard Weingram                                               
             <weingram at tibco.c                                             
             om>                                                        To 
             Sent by:                  Rich Thompson/Watson/IBM at IBMUS,     
             gadgets-bounces at o         "gadgets at openajax.org"              
             penajax.org:              <gadgets at openajax.org>              
                                                                        cc 
                                                                           
             04/13/2009 05:47                                      Subject 
             PM                        Re: [OpenAjaxGadgets] Request a     
                                       widget mode                         
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Hi Rich.


getMode()

I tentatively added getMode() to the API wiki page and the oawidget.js
JavaScript interface file in SVN. It simply makes sense.

http://www.openajax.org/member/wiki/OpenAjax_Metadata_1.0_Specification_Widg

et_APIs#OpenAjax.widget.WidgetAdapter.prototype.getMode


Startup Coordination

What mode are your widgets in before the modeChanged event?

Regards,
Howard

On 4/13/09 5:45 AM, "Rich Thompson" <richt2 at us.ibm.com> wrote:

> We have had a number of use cases come to light recently where the
> preferred user experience is achieved by the following loading sequence:
>
> 1. onLoad -> informs the widget to initialize itself
> 2. any and all queued events are delivered to the widget (could have been
> sourced by the container or other widgets)
> 3. onModeChanged -> widget renders itself
>
> This keeps the screen from going through a visual state where all of the
> widgets appear uncoordinated followed by an immediate shift into a
> coordinated state.
>
> That is a bit of an aside (though related) to the original thread, but I
> would prefer a getMode() over having both the container and the widget
> remember the current mode.
>
> Rich Thompson
>
>
>
>
> From:
> Howard Weingram <weingram at tibco.com>
> To:
> Jon Ferraiolo/Menlo Park/IBM at IBMUS
> Cc:
> "gadgets at openajax.org" <gadgets at openajax.org>
> Date:
> 04/10/2009 03:58 PM
> Subject:
> Re: [OpenAjaxGadgets] Request a widget mode
>
>
>
> Hi, Jon.
>
> Thanks for the comment.
>
> There is no onModeChanged at the time of the widget constructor or at the
> time of onLoad, when the widget is first rendering. A mode change may
> occur
> later, but it may be much later.
>
> Unless onLoad must always be followed immediately by modeChanged (which
is
> a
> poor approach), I'll add getMode().
>
> Regards,
> Howard
>
>
> On 4/10/09 12:00 PM, "Jon Ferraiolo" <jferrai at us.ibm.com> wrote:
>
>>
>> I'm OK with adding getMode(), but I'll point out that a widget has
> enough
>> information now to figure out what mode it's in due to the onModeChanged
>> event. But it would be convenient to have getMode() so that the widget
>> wouldn't have to store away some sort of _mode private variable.
>>
>> Jon
>>
>>
>>
>>
>>
>>              Howard Weingram
>>              <weingram at tibco.c
>>              om> To
>>                                        Howard Weingram
>>              04/10/2009 11:32          <weingram at tibco.com>, Jon
>>              AM                        Ferraiolo/Menlo Park/IBM at IBMUS
>> cc
>>                                        "gadgets at openajax.org"
>>                                        <gadgets at openajax.org>
>> Subject
>>                                        Re: [OpenAjaxGadgets] Request a
>>                                        widget mode
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> (Specifically because widget.xml allows the same content to be used for
>> multiple modes; so how does such a widget know its mode when 1st
> rendered?)
>>
>> Regards,
>> Howard
>>
>>
>> On 4/10/09 9:42 AM, "Howard Weingram" <weingram at tibco.com> wrote:
>>
>>> Do we need a function:
>>>
>>>     getMode()
>>>
>>> ?
>>>
>>> Regards,
>>> Howard
>>>
>>>
>>> On 4/10/09 7:31 AM, "Jon Ferraiolo" <jferrai at us.ibm.com> wrote:
>>>
>>>>
>>>> +1
>>>>
>>>> Jon
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>              Howard Weingram
>>>>              <weingram at tibco.c
>>>>              om>
>> To
>>>>              Sent by:                  "gadgets at openajax.org"
>>>>              gadgets-bounces at o         <gadgets at openajax.org>
>>>>              penajax.org
>> cc
>>>>
>>>>
>> Subject
>>>>              04/09/2009 06:31          [OpenAjaxGadgets] Request a
>> widget
>>>>              PM                        mode
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> I would like to add a function that allows a widget to request
>> transition
>>>> to
>>>> a different mode. The only indication of success would be a
> modeChanged
>>>> event delivered to the widget at some future time.
>>>>
>>>>     /**
>>>>      * @param {String} newMode
>>>>      *      The name of the mode to which the widget is
>>>>      *      requesting transition
>>>>      */
>>>>     OpenAjax.widget.Adapter.prototype.requestMode(newMode) {}
>>>>
>>>>
>>>> Use Case
>>>>
>>>> For example, a Help mode screen may contain a button that sends the
>> widget
>>>> back to View mode. This button is INSIDE the widget rather than
> outside
>> in
>>>> the container. This could simply transition the widget, but then any
>>>> container buttons would be out of sync because the container does not
>> know
>>>> about the change.
>>>>
>>>> With the requestMode, the button would not actually switch modes; it
>> would
>>>> call requestMode('view') and this would tell the container to switch
> the
>>>> mode.
>>>>
>>>>
>>>> Compatibility with Other Standards
>>>>
>>>> This behavior would be comparable to that of javax.portlet, which
>> specifies
>>>> that a portlet can "programmatically change [its] portlet mode when
>>>> processing an action request."
>>>>
>>>> In other words, in the portlet world, there is a standard way for a
>> portlet
>>>> to request that the portlet container execute a mode change.
>>>>
>>>> The portlet spec allows the portlet container to ignore or override
> the
>>>> mode-change request. It is only a request.
>>>>
>>>>
>>>> Regards,
>>>> Howard
>>>>
>>>> --
>>>> Howard Weingram      650.846.1000
>>>> Principal Architect  TIBCO Software Inc.
>>>>
>>>> TIBCO PageBus(TM) delivers ultra-lightweight
>>>> publish-subscribe messaging for mash-ups.
>>>> Learn more at http://www.pagebus.org
>>>>
>>>> _______________________________________________
>>>> gadgets mailing list
>>>> gadgets at openajax.org
>>>> http://openajax.org/mailman/listinfo/gadgets
>>>
>>>
>>>
>>> --
>>> Howard Weingram      650.846.1000
>>> Principal Architect  TIBCO Software Inc.
>>>
>>> TIBCO PageBus(TM) delivers ultra-lightweight
>>> publish-subscribe messaging for mash-ups.
>>> Learn more at http://www.pagebus.org
>>>
>>> _______________________________________________
>>> gadgets mailing list
>>> gadgets at openajax.org
>>> http://openajax.org/mailman/listinfo/gadgets
>>
>>
>>
>> --
>> Howard Weingram      650.846.1000
>> Principal Architect  TIBCO Software Inc.
>>
>> TIBCO PageBus(TM) delivers ultra-lightweight
>> publish-subscribe messaging for mash-ups.
>> Learn more at http://www.pagebus.org
>>
>
>
>
> --
> Howard Weingram      650.846.1000
> Principal Architect  TIBCO Software Inc.
>
> TIBCO PageBus(TM) delivers ultra-lightweight
> publish-subscribe messaging for mash-ups.
> Learn more at http://www.pagebus.org
>
> _______________________________________________
> gadgets mailing list
> gadgets at openajax.org
> http://openajax.org/mailman/listinfo/gadgets
>
>
> _______________________________________________
> gadgets mailing list
> gadgets at openajax.org
> http://openajax.org/mailman/listinfo/gadgets



--
Howard Weingram      650.846.1000
Principal Architect  TIBCO Software Inc.

TIBCO PageBus(TM) delivers ultra-lightweight
publish-subscribe messaging for mash-ups.
Learn more at http://www.pagebus.org

_______________________________________________
gadgets mailing list
gadgets at openajax.org
http://openajax.org/mailman/listinfo/gadgets
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://openajax.org/pipermail/gadgets/attachments/20090414/8befdc6f/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
Url : http://openajax.org/pipermail/gadgets/attachments/20090414/8befdc6f/attachment-0003.gif 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pic09787.gif
Type: image/gif
Size: 1255 bytes
Desc: not available
Url : http://openajax.org/pipermail/gadgets/attachments/20090414/8befdc6f/attachment-0004.gif 
-------------- 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/20090414/8befdc6f/attachment-0005.gif 


More information about the gadgets mailing list