You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by Hafiz A Haq <ha...@gmail.com> on 2009/07/24 17:43:48 UTC

Issues with metadata json callback and oauth implementation questions

Hi All,

Big thanks for all the support recieved from the mailing list. Looking
forward for a solution on this one too. I am using java version of shindig
incubating.

I am using '/gadgets/metadata?req={jsonrequestobject}' for constructing the
iframeurl for a gadget. I have integrated the opensocial directory available
at http://directory.opensocial.org/gadgets/directory to add gadgets to my
container. But shindig server fails to properly parse many of the gadget
xmls mentioned in the list with the following issues(each is different
gadgets)

1.java.lang.IllegalArgumentException: duplicate key: In_English_only

	com.google.common.collect.ImmutableMap$RegularImmutableMap.<init>(ImmutableMap.java:587)
	com.google.common.collect.ImmutableMap$RegularImmutableMap.<init>(ImmutableMap.java:555)
	com.google.common.collect.ImmutableMap$Builder.fromEntryList(ImmutableMap.java:216)
	com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:202)
	org.apache.shindig.gadgets.spec.MessageBundle.parseMessages(MessageBundle.java:142)
	org.apache.shindig.gadgets.spec.MessageBundle.<init>(MessageBundle.java:60)
	org.apache.shindig.gadgets.DefaultMessageBundleFactory.fetchBundle(DefaultMessageBundleFactory.java:144)
	org.apache.shindig.gadgets.DefaultMessageBundleFactory.getNestedBundle(DefaultMessageBundleFactory.java:110)
	org.apache.shindig.gadgets.DefaultMessageBundleFactory.getBundle(DefaultMessageBundleFactory.java:78)
	org.apache.shindig.gadgets.DefaultMessageBundleFactory.getParentBundle(DefaultMessageBundleFactory.java:126)
	org.apache.shindig.gadgets.DefaultMessageBundleFactory.getNestedBundle(DefaultMessageBundleFactory.java:100)
	org.apache.shindig.gadgets.DefaultMessageBundleFactory.getBundle(DefaultMessageBundleFactory.java:78)
	org.apache.shindig.gadgets.variables.VariableSubstituter.substitute(VariableSubstituter.java:46)
	org.apache.shindig.gadgets.process.Processor.process(Processor.java:84)
	org.apache.shindig.gadgets.render.Renderer.render(Renderer.java:76)
	org.apache.shindig.gadgets.servlet.GadgetRenderingServlet.render(GadgetRenderingServlet.java:58)
	org.apache.shindig.gadgets.servlet.GadgetRenderingServlet.doGet(GadgetRenderingServlet.java:93)


it seems when shindig encounters a duplicate key while parsing the xmls
provied in the <Locale .../> tags, this occurs, I am wondering how to tackle
this? I am not sure, if i should modify shindig internals to fix this issue?

2. How can i find the views that are specifically supported by a particular
gadget as I have to add it to the request object while making the json
request?
Or is it that  I need to replace the view='' value in the iframe section of
json response, with any of the values avaialable in the views section of the
same response, if they don't match.

3. My container doesn't yet support oauth, so many gadgets fail with
20:42:46,138 ERROR [STDERR] 24 Jul, 2009 8:42:46 PM
org.apache.shindig.gadgets.oauth.OAuthModule$OAuthCrypterProvid
er <init>
INFO: Using random key for OAuth client-side state encryption
20:42:46,170 ERROR [STDERR] 24 Jul, 2009 8:42:46 PM
org.apache.shindig.gadgets.oauth.OAuthModule$OAuthStoreProvider
 loadDefaultKey
WARNING: Couldn't load OAuth signing key.  To create a key, run:
  openssl req -newkey rsa:1024 -days 365 -nodes -x509 -keyout testkey.pem \
     -out testkey.pem -subj '/CN=mytestkey'
  openssl pkcs8 -in testkey.pem -out oauthkey.pem -topk8 -nocrypt -outform
PEM

Then edit gadgets.properties and add these lines:
shindig.signing.key-file=<path-to-oauthkey.pem>
shindig.signing.key-name=mykey

I have found the following links

http://wiki.opensocial.org/index.php?title=Introduction_To_Signed_Requests
http://wiki.opensocial.org/index.php?title=Validating_Signed_Requests
http://cwiki.apache.org/confluence/display/SHINDIG/Enabling+OAuth+support
http://code.google.com/apis/orkut/docs/rest/developers_guide_protocol.html

I haven't gone through all of them, but please if someone clarify if these
contain accurate information to enable oauth support in my container, so
that gadgets that require oauth can run properly?


Sorry for this big post, comments are greatly appreciated.

Thanks and Best Regards,
Hafiz
-- 
He who asks is a fool for five minutes, but he who does not ask remains a
fool forever.

Re: Issues with metadata json callback and oauth implementation questions

Posted by Adam Winer <aw...@gmail.com>.
On Fri, Jul 24, 2009 at 8:43 AM, Hafiz A Haq<ha...@gmail.com> wrote:
> Hi All,
>
> Big thanks for all the support recieved from the mailing list. Looking
> forward for a solution on this one too. I am using java version of shindig
> incubating.
>
> I am using '/gadgets/metadata?req={jsonrequestobject}' for constructing the
> iframeurl for a gadget. I have integrated the opensocial directory available
> at http://directory.opensocial.org/gadgets/directory to add gadgets to my
> container. But shindig server fails to properly parse many of the gadget
> xmls mentioned in the list with the following issues(each is different
> gadgets)
>
> 1.java.lang.IllegalArgumentException: duplicate key: In_English_only

This was fixed on trunk awhile ago:
http://issues.apache.org/jira/browse/SHINDIG-847

-- Adam


>
>        com.google.common.collect.ImmutableMap$RegularImmutableMap.<init>(ImmutableMap.java:587)
>        com.google.common.collect.ImmutableMap$RegularImmutableMap.<init>(ImmutableMap.java:555)
>        com.google.common.collect.ImmutableMap$Builder.fromEntryList(ImmutableMap.java:216)
>        com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:202)
>        org.apache.shindig.gadgets.spec.MessageBundle.parseMessages(MessageBundle.java:142)
>        org.apache.shindig.gadgets.spec.MessageBundle.<init>(MessageBundle.java:60)
>        org.apache.shindig.gadgets.DefaultMessageBundleFactory.fetchBundle(DefaultMessageBundleFactory.java:144)
>        org.apache.shindig.gadgets.DefaultMessageBundleFactory.getNestedBundle(DefaultMessageBundleFactory.java:110)
>        org.apache.shindig.gadgets.DefaultMessageBundleFactory.getBundle(DefaultMessageBundleFactory.java:78)
>        org.apache.shindig.gadgets.DefaultMessageBundleFactory.getParentBundle(DefaultMessageBundleFactory.java:126)
>        org.apache.shindig.gadgets.DefaultMessageBundleFactory.getNestedBundle(DefaultMessageBundleFactory.java:100)
>        org.apache.shindig.gadgets.DefaultMessageBundleFactory.getBundle(DefaultMessageBundleFactory.java:78)
>        org.apache.shindig.gadgets.variables.VariableSubstituter.substitute(VariableSubstituter.java:46)
>        org.apache.shindig.gadgets.process.Processor.process(Processor.java:84)
>        org.apache.shindig.gadgets.render.Renderer.render(Renderer.java:76)
>        org.apache.shindig.gadgets.servlet.GadgetRenderingServlet.render(GadgetRenderingServlet.java:58)
>        org.apache.shindig.gadgets.servlet.GadgetRenderingServlet.doGet(GadgetRenderingServlet.java:93)
>
>
> it seems when shindig encounters a duplicate key while parsing the xmls
> provied in the <Locale .../> tags, this occurs, I am wondering how to tackle
> this? I am not sure, if i should modify shindig internals to fix this issue?
>
> 2. How can i find the views that are specifically supported by a particular
> gadget as I have to add it to the request object while making the json
> request?
> Or is it that  I need to replace the view='' value in the iframe section of
> json response, with any of the values avaialable in the views section of the
> same response, if they don't match.
>
> 3. My container doesn't yet support oauth, so many gadgets fail with
> 20:42:46,138 ERROR [STDERR] 24 Jul, 2009 8:42:46 PM
> org.apache.shindig.gadgets.oauth.OAuthModule$OAuthCrypterProvid
> er <init>
> INFO: Using random key for OAuth client-side state encryption
> 20:42:46,170 ERROR [STDERR] 24 Jul, 2009 8:42:46 PM
> org.apache.shindig.gadgets.oauth.OAuthModule$OAuthStoreProvider
>  loadDefaultKey
> WARNING: Couldn't load OAuth signing key.  To create a key, run:
>  openssl req -newkey rsa:1024 -days 365 -nodes -x509 -keyout testkey.pem \
>     -out testkey.pem -subj '/CN=mytestkey'
>  openssl pkcs8 -in testkey.pem -out oauthkey.pem -topk8 -nocrypt -outform
> PEM
>
> Then edit gadgets.properties and add these lines:
> shindig.signing.key-file=<path-to-oauthkey.pem>
> shindig.signing.key-name=mykey
>
> I have found the following links
>
> http://wiki.opensocial.org/index.php?title=Introduction_To_Signed_Requests
> http://wiki.opensocial.org/index.php?title=Validating_Signed_Requests
> http://cwiki.apache.org/confluence/display/SHINDIG/Enabling+OAuth+support
> http://code.google.com/apis/orkut/docs/rest/developers_guide_protocol.html
>
> I haven't gone through all of them, but please if someone clarify if these
> contain accurate information to enable oauth support in my container, so
> that gadgets that require oauth can run properly?
>
>
> Sorry for this big post, comments are greatly appreciated.
>
> Thanks and Best Regards,
> Hafiz
> --
> He who asks is a fool for five minutes, but he who does not ask remains a
> fool forever.
>