[ 
https://issues.apache.org/jira/browse/SHINDIG-1465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13470239#comment-13470239
 ] 

madhuka udantha commented on SHINDIG-1465:
------------------------------------------

In shindig 2.5.0-beta4 release uerPrefs is not working in default mode 
"&up_mychoice=%25up_mychoice%25" where is to be "&up_mychoice=home". It contain 
%25 and showing key name where is to show value

eg url:
http://localhost:8080/gadgets/ifr?url=http%3A%2F%2Flocalhost%3A8080%2Fsamplecontainer%2Fexamples%2FActivityStreams%2Fprefs-example.xml&container=default&view=default&lang=en&country=US&debug=1&nocache=1&sanitize=%25sanitize%25&v=c6c9850553726469f045c60800491252&testmode=0&parent=http%3A%2F%2Flocalhost%3A8080&mid=0#up_myname=%25up_myname%25&up_myphoto=%25up_myphoto%25&up_mychoice=%25up_mychoice%25&up_mycolor=%25up_mycolor%25&rpctoken=717010535

                
> set userPrefs key with wrong default value in DefaultIframeUriManager for new 
> common container
> ----------------------------------------------------------------------------------------------
>
>                 Key: SHINDIG-1465
>                 URL: https://issues.apache.org/jira/browse/SHINDIG-1465
>             Project: Shindig
>          Issue Type: Bug
>          Components: Java
>    Affects Versions: 2.5.0-beta1
>            Reporter: Kai Feng Zhang
>             Fix For: 2.5.0-beta1
>
>         Attachments: userPrefs_20101108.patch
>
>
> When using new common container to render gadget, the ifr request url will be 
> from gadget metadata request. At the back end,  method makeRenderingUri() 
> will be called on DefaultIframeUriManager class to generate the ifr url. In 
> this method, there are following code snippet to add default user prefs into 
> url.
>     // Add all UserPrefs
>     UserPrefs prefs = context.getUserPrefs();
>     for (UserPref up : gadget.getSpec().getUserPrefs().values()) {
>       String name = up.getName();
>       String data = prefs.getPref(name);
>       if (data == null) {
>         data = up.getDefaultValue();
>       }
>       boolean upInFragment = !view.needsUserPrefSubstitution();
>       addParam(uri, UriCommon.USER_PREF_PREFIX + up.getName(), data, useTpl, 
> upInFragment);
>     }
> Such as if gadget spec xml defined a pref named "mycolor" with default value 
> "Green", but the addParam method will change the "mycolor" value to 
> "%up_mycolor%" because useTpl is true. Thus, ifr url will be requested with 
> all invalid user prefs values. And when you try to get some default value 
> from user prefs, it return invalid value.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to