You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by Kevin Brown <et...@google.com> on 2009/10/04 21:13:54 UTC

Re: Shindig support for OpenSocial Gadget spec section 3.1.3.6.c

shindig itself can only handle this using the json rpc handler (and it does
so as long as up values are supplied as input). The redirect is essentially
broken because it loses the fragment.

On Sep 30, 2009 1:55 PM, "John Gerken" <Jo...@us.ibm.com> wrote:

Hi all,

Both versions 0.8 and 0.9 of the OS Gadgets API spec include the following
language regarding the process for outputing gadget content in 0.9 section
3.1.3.6.c (
http://www.opensocial.org/Technical-Resources/opensocial-spec-v09/Gadgets-API-Specification.html#process
):

-------------------------< Start Snip >---------------------------
For type URL gadgets, the provided URL MUST have the following parameters
added to it:
a.      up_<name>=<value> for each provided user preference.
b.      lang=<language> and country=<country>, from the provided request
Locale.
c.      libs=<jsLib>, where <jsLib> is a comma-separated list of URL path
fragments relative to the server's JavaScript request handler path. These
fragments are added to the JS path by the type URL target to load gadget
API JavaScript into its execution context.
a.      The server SHOULD consolidate all libs into a single request to
minimize the number of HTTP requests made by the client browser.
-------------------------< End Snip >---------------------------

In particular, I'm interested in sub-bullet "a", which I believe describes
the behavior I see on http://hosting.gmodules.com whereby the URL
specified in a Content type="url" gadget has appended to it name value
pairs for each user preference.  What is curious is that, while gmodules
handles this type of request as I'd expect, we've not been able to get the
Java version of shindig (beta 3, I believe) to do the same.  We've checked
out the code and ran it through the debugger and it appears that the href
object passed to the redirection code does not contain values in the query
parameter, that I thought might have the userpref values within it.

So for a simple Gadget such as:
http://hosting.gmodules.com/ig/gadgets/file/113570023379904426818/StockCharts.xml

       <UserPref name="Symbol" display_name="Symbol"
default_value="QQQQ"/>
       <UserPref name="Duration" display_name="Chart Duration"
default_value="1y" datatype="enum">
               <EnumValue value="3m" display_value="3 months"/>
               <EnumValue value="6m" display_value="6 months"/>
               <EnumValue value="1y" display_value="1 year"/>
       </UserPref>
       <Content type="url" href="
http://finance.diagramics.com/GoogleGadgets/StockCharts/StockCharts.aspx
"/>

So via url:
http://www.gmodules.com/ig/ifr?url=http://hosting.gmodules.com/ig/gadgets/file/113570023379904426818/StockCharts.xml
, gmodules passes that to diagramics.com as:
http://finance.diagramics.com/GoogleGadgets/StockCharts/StockCharts.aspx?up_Symbol=QQQQ&up_Duration=1y&lang=en&country=us&.lang=en&.country=us&synd=ig&mid=0&ifpctok=-3826154864153791449&parent=&libs=7XmBcHbMdDM/lib/libcore.js,Key5alrYVUI/lib/libfinance.js
.

However the same request through Shindig yields:
http://finance.diagramics.com/GoogleGadgets/StockCharts/StockCharts.aspx

What I'm wanting to understand is whether this is simply function that
hasn't been implemented yet, if I'm not understanding that aspect of the
spec, or if perhaps we've configured or are using our shindig instance
incorrectly.  Is there someone who can help me understand please what we
should be expecting to happen here?

Thanks in advance for your help,
John Gerken
Senior Architect, Emerging Internet Technologies
IBM Emerging Technologies Software Group
John_Gerken@us.ibm.com
IBM Internal Blog:
http://blogs.tap.ibm.com/weblogs/john_gerken@us.ibm.com/
IBM External Blog: http://www.ibm.com/developerworks/blogs/page/etech